session-migrate CLI
A CLI that moves sessions between 18 coding agents, including Claude Code, Codex, Cursor and OpenCode, so work can continue
- 176 ★ on the repository
- Last commit
- MIT
Extended access
Why this level
- Reads session logs from the home directory, where conversations may hold keys and project code
- Writes new sessions into other agents' directories, and the installer runs through a curl script
Install
- Works in
In your terminal, with SkillFoxx CLI
npx skillfoxx add cli/session-migrateDetects the agents on your machine, shows the access level and pins the version.
Other ways to install
Access and checks
How we reviewExtended accessThe tool runs code or makes network calls and only reads external data.
- Reads session logs from the home directory, where conversations may hold keys and project code
- Writes new sessions into other agents' directories, and the installer runs through a curl script
This is third-party code. Review the repository files before installing.
What it does
The utility reads one agent's native session log and writes it in another agent's format, so the session can be opened and continued in the target client. Claude Code, Codex, Pi, Oh My Pi, OpenCode, GitHub Copilot CLI, Antigravity CLI, Cursor Agent, Mistral Vibe, Muse Code, Qwen Code, Kimi Code, Grok, Kilo Code, OpenHands, Hermes Agent, MastraCode and Devin are supported. Any format can be a source or a target, 324 routes in all. `smigrate transfer` moves a session by ID or by title, `smigrate inspect` parses a log without printing the conversation, and `smigrate catalog search` finds a session by title, name or ID. After a move the target agent keeps user and assistant messages, tool calls and results, supported images and compaction summaries. Private and signed reasoning traces, auth, hooks, policies and MCP settings do not move. Every loss or transformation lands in a content-free migration manifest, and the source session is never modified.
Who it is for. Developers who work with several coding agents and want to continue a task started in Claude Code inside Codex or Pi without retelling the context.
Good fit when
- Claude Code hit its limit mid-task and Codex is ready to continue
- A Cursor Agent session should be opened in another client together with its edit history
- An old conversation about OAuth is known only by its title and must be found through the catalog
- A team compares agents on one and the same started session
- Before moving you want to know which session data will survive
Not a fit when
- You need live sync: a move creates a new independent session rather than a real-time copy
- Private model reasoning traces matter, they do not move
- You work on macOS or Windows: only Linux is supported at the moment
Example request
Move the session titled "oauth refresh" from Claude Code to Codex in the current folder and give me the command to resume itLimitations
Only Linux and Python 3.11 or newer are supported for now. The Antigravity and Cursor adapters are clean-room, unofficial and pinned to specific client versions. Cursor receives only the text of user and assistant messages. Branches, forks and subagents are not flattened into one session, so migrate the parent. A move is not a byte-for-byte copy and does not sync. Catalog search matches titles, names and IDs rather than conversation text.
How to disable. Remove the utility with `uv tool uninstall session-migrate`. Source sessions stay untouched, and sessions created by a move are deleted with the target agent's own tools.
FAQ
How do I move a session from Claude Code to Codex?
Run `smigrate transfer SESSION_UUID --from claude --to codex --cwd "$PWD"`, then `codex resume NEW_SESSION_UUID` with the new ID from the output. You can also find a session by title with `smigrate catalog search`.
What is lost during a move?
Private and signed reasoning, auth, hooks, policies and MCP settings stay with the source client. Messages, tool calls, supported images and compaction summaries move fully or partly, and every loss is recorded in the manifest.
Does the source session change?
No. The utility reads the log read-only and the target agent gets a new session with a new ID.
Can an agent do the move itself?
Yes. The README gives a prompt that links to the project's llms.txt with three values: source, target and session ID or title. The authors tested the procedure with Claude Code and Codex.
How do I find a session when its ID is unknown?
Refresh the catalog with `smigrate catalog refresh` and search by title: `smigrate catalog search "oauth refresh" --format claude`. Every word of the query must match, in any order.
Discussion
No questions or reviews yet.
Related
CLI toolsA CLI with a TUI that finds Claude Code, Codex and Gemini CLI sessions and continues them in another agent as native ones
continues carries a session from Claude Code, Codex, Cursor and 13 other agents into any other one, with messages, file edits and commands in tow
The casr utility moves a coding agent session to another provider: converts it and prints the resume command.
A CLI that indexes memory, rules and sessions of Claude Code, Codex, Cursor and Gemini and hands durable decisions to every agent
Mjolnir runs Claude Code, Codex and other agent sessions in a terminal, in containers and over SSH, and keeps them running.
A tmux-based TUI that runs Claude Code, Codex and other agents in one list: status, quick prompts, worktrees and diff review
Comparison with similar tools
Cards that share the main search query, and how they differ.
| Tool | Official | Repository stars | Main difference |
|---|---|---|---|
| session-migrate (this card) | no | 176 | |
| Coding Agent Session Search (cass) | no | 1,205 | searches the session histories of several agents but does not let you continue a session in another client |
| claude-replay | no | 859 | replays recorded Claude Code sessions for viewing rather than moving them to other agents |
README in short
The README describes a utility for moving coding-agent sessions across a matrix of 18 formats, with a quick start, a table of what survives and a pipeline: native log, validated event timeline, target format. It links to the CLI reference, format write-ups and validation corpora. MIT licence.