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
CLI

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
All reasons and checks

xhluca/session-migrate

Install

In your terminal, with SkillFoxx CLI

npx skillfoxx add cli/session-migrate

Detects the agents on your machine, shows the access level and pins the version.

Other ways to install

Access and checks

How we review

Extended 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 it

Limitations

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.

CLI tools

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

CLIExtended access1.6KRepository stars

The casr utility moves a coding agent session to another provider: converts it and prints the resume command.

CLIExtended access129Repository stars

Mjolnir runs Claude Code, Codex and other agent sessions in a terminal, in containers and over SSH, and keeps them running.

CLIBroad access115Repository stars

A tmux-based TUI that runs Claude Code, Codex and other agents in one list: status, quick prompts, worktrees and diff review

CLIBroad access691Repository stars

Comparison with similar tools

Cards that share the main search query, and how they differ.

ToolOfficialRepository starsMain difference
session-migrate (this card)no176
Coding Agent Session Search (cass)no1,205searches the session histories of several agents but does not let you continue a session in another client
claude-replayno859replays 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.

README badge

Report a problem