Install
$ agentstack add mcp-yuzushi-dev-session-handoff ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
session-handoff
session-handoff creates handoff documents and migrates active sessions between Claude Code and Codex.
The main product is the managed plugin bundle: skills, the MCP server, client launchers, and the internal migration engine. The npm package distributes that bundle and exposes the setup CLI. It is not a separate migration dependency.
Requirements
- Linux or macOS
- Node.js 18 or newer and npm
- Python 3.10 or newer
- Claude Code, Codex, or both, depending on which client you want to configure
Install
Use the managed setup command:
npx session-handoff@latest setup
The command installs a user-scoped plugin bundle, registers the MCP server, installs the client skill, and wraps each selected client launcher. Existing launchers are saved as *.session-handoff-original. Restart the client and any open shell after setup.
To configure one client only:
npx session-handoff@latest setup --client codex
npx session-handoff@latest setup --client claude
Use --yes for a non-interactive setup:
npx session-handoff@latest setup --client codex --yes
The client executable must already be on PATH. Without a client, setup stops with an error and changes nothing.
If a Codex update replaces the managed launcher while it is supervised, the supervisor restores it when Codex exits and keeps the updated executable as its target. Claude version updates are reconciled to the newest validated executable in its native versions directory. An installer run outside a supervised session cannot be repaired automatically; rerun setup afterward with --client codex or --client claude for the affected client.
Native plugin files
The repository and npm package include native Claude and Codex plugin manifests, the portable plugin manifest, the command, the skill, hooks, and the MCP configuration.
This repository is not itself a marketplace. The published wrapper is yuzushi-plugins.
Claude Code:
/plugin marketplace add yuzushi-dev/yuzushi-plugins
/plugin install session-handoff@yuzushi
Codex:
codex plugin marketplace add yuzushi-dev/yuzushi-plugins
codex plugin add session-handoff@yuzushi
The marketplace path installs the plugin source from GitHub. The npm path above distributes the published package and managed setup independently.
First use
After restarting the client:
Claude Code:
/session-handoff
Codex:
$session-handoff
Use migrate claude or migrate codex when you want to preserve the native session while changing clients. A normal handoff starts a clean session and keeps the implementation state in the handoff file.
Before Claude Code or Codex compacts a session, the plugin writes a small deterministic recovery checkpoint under ~/.local/state/session-handoff/checkpoints/. After SessionStart(source=compact) it injects only a pointer to that file. The checkpoint contains redacted Git state and a local lifecycle event log; it is recovery evidence, not a semantic summary, and manual $session-handoff remains the semantic handoff path. Lifecycle events record only hook names, IDs, paths, timestamps, and byte counts; they never contain prompts or tool payloads.
The checkpoint hook is fail-open: a write or Git-read failure does not block compaction. Do not treat its transcript path or Git output as secret-free project content; verify the live repository and transcript before acting.
Check the local setup without starting a model session:
npx session-handoff@latest doctor --pretty
Create mode writes handoffs under the workspace, usually in handoffs/. A clean repository does not need any project dependency or configuration file.
Remove the managed setup
npx session-handoff@latest uninstall --yes
This restores the saved client launchers and removes the managed bundle and registrations.
Telemetry
Telemetry is off by default. An interactive npm install asks once. Marketplace installs show a non-blocking reminder at session start. See [docs/telemetry.md](docs/telemetry.md) for the data inventory and controls.
Source & license
This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: yuzushi-dev
- Source: yuzushi-dev/session-handoff
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.