casr CLI
The casr utility moves a coding agent session to another provider: converts it and prints the resume command.
- 129 ★ on the repository
- Last commit
Extended access
Why this level
- Reads the local session files of every supported agent, which contain conversations and project code snippets.
- Writes session files into target agent storage and installs a skill with `cc`, `cod`, `gmi` wrappers unless the setup is skipped.
Install
- Works in
Manual install
curl -fsSL "https://raw.githubusercontent.com/Dicklesworthstone/cross_agent_session_resumer/main/install.sh?$(date +%s)" | bashThe installer detects the platform and checks signatures. Flags: `--verify`, `--offline <tarball>`, `--from-source`, `--no-skill`.
Access and checks
How we reviewExtended accessThe tool runs code or makes network calls and only reads external data.
- Reads the local session files of every supported agent, which contain conversations and project code snippets.
- Writes session files into target agent storage and installs a skill with `cc`, `cod`, `gmi` wrappers unless the setup is skipped.
This is third-party code. Review the repository files before installing.
What it does
casr finds a session across installed agents, reads it into a canonical intermediate model, writes a session file in the target agent's native format, verifies the write by reading it back and prints the exact resume command. Claude Code, Codex, Antigravity, Gemini CLI, Cursor, Cline, Aider, Amp, OpenCode, ChatGPT, ClawdBot, Vibe, Factory, OpenClaw, Pi-Agent, Kiro CLI and Grok Build can be read, and almost all can be written except Antigravity. For example, `casr resume cc <Codex session id>` creates a Claude Code session, and `claude --resume <new id>` continues the work. The shorthands `-cc`, `-cod` and `-gmi` detect the source provider from the id. Writes are atomic: a temp file first, then a rename, on conflict the tool stops, and `--force` makes a `.bak` backup. Scripts can use `--json` output.
Who it is for. Developers who use several coding agents and want to continue a session started in one in another without retelling the context.
Good fit when
- Claude Code hit its limit and the session must continue in Codex.
- A Codex session hit a dead end and you want to open it in Gemini CLI with the same context.
- You want to list sessions across agents with one command: `casr list --limit 20 --sort date`.
- Session transfer must be wired into a script or automation through `--json` output.
Not a fit when
- You only want history search: there is a separate cass CLI for that, while casr converts sessions.
- The agent is not in the provider list: each needs its own reader and writer.
- You need exact transfer of all metadata: the author states that it is not preserved perfectly for all pairs.
Example request
List my recent sessions across agents and move this Codex session into Claude Code.Limitations
Provider-specific metadata is not always preserved perfectly for every pair. Changes in agent internal formats may require reader and writer updates. Workspace detection sometimes rests on heuristics when the source format lacks it. Whether an agent accepts a transferred session depends on its version. Antigravity is read-only, OpenCode writing works with legacy databases and 1.x and 2.x are read-only. Building from source needs a nightly Rust 2024 toolchain. The source session is not changed: the tool writes only to the target provider storage.
How to disable. Delete the `casr` binary from the install directory and, if needed, the Claude and Codex skill and the `cc`, `cod`, `gmi` wrappers the installer creates. The installer accepts `--no-skill` and `--no-configure` to skip them.
FAQ
How do I move a Codex session to Claude Code?
Find the id with `casr list`, then run `casr resume cc <id>` and continue with `claude --resume <new id>`. The short form `casr -cc <id>` detects the source provider itself.
Which agents does casr support?
Claude Code, Codex, Gemini CLI, Cursor, Cline, Aider, Amp, OpenCode, ChatGPT, ClawdBot, Vibe, Factory, OpenClaw, Pi-Agent, Kiro CLI, Grok Build and Antigravity in read mode. The main focus is Claude Code, Codex and Gemini CLI.
Does casr modify the source session?
No, the tool only reads it and writes to the target provider storage. If the target file exists it stops with a conflict, and `--force` makes a `.bak` copy and overwrites.
Can I use casr in scripts?
Yes, with the `--json` flag and non-interactive commands. For debugging there are `--verbose`, `--trace` and `RUST_LOG=casr=trace`.
What does the casr installer do?
It detects the platform, verifies SHA256 and Sigstore when available, falls back to a source build, installs shell completions for bash, zsh and fish, and installs the casr skill for Claude and Codex plus `cc`, `cod`, `gmi` wrappers. Skip extras with `--no-skill` and `--no-configure`.
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
CLI and TUI that search the local session history of Claude Code, Codex, Cursor, Gemini CLI and other agents, with a --robot mode for the agents themselves
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
A CLI that moves sessions between 18 coding agents, including Claude Code, Codex, Cursor and OpenCode, so work can continue
The session-recall command reads an agent’s local sessions and returns past conversations in compact form, with no MCP or hooks.
A CLI that reads local Claude Code, Codex and Hermes sessions, finds repeated failures and stages fixes for manual review
Comparison with similar tools
Cards that share the main search query, and how they differ.
| Tool | Official | Repository stars | Main difference |
|---|---|---|---|
| casr (this card) | no | 129 | |
| Coding Agent Session Search (cass) | no | 1,205 | a CLI and TUI for searching local agent session history; here conversion and resuming a session at another provider |
| session-migrate | no | 176 | a CLI that moves sessions between 18 agents; here a canonical model format, read-back verification and a skill for Claude and Codex |
README in short
The README states the problem: coding agent sessions are tied to a provider. It shows a quick example, a table of supported providers with resume commands, design principles, limitations and an FAQ. Install is described through a hardened script with signature checks and offline options.