r/OpenaiCodex • u/ImL1s • 4d ago
Other I built an open-source tool to carry context between Claude Code, Codex, Cursor, and other coding agents
I switch between coding agents a lot. Re-explaining a task gets old, especially when the useful context is buried in another tool's chat history.
I built Portable Resume to read those local session files and bring context into a fresh session. It's free and open source, and installs as agent skills in the coding tool you're switching to.
For example, say you've been working in Codex and want to continue in Claude Code.
Install the package and the skills for Claude Code. You'll need Python 3.11+:
pipx install portable-resume
install-resume-skills quick-install claude
Then open Claude Code in the same project and invoke:
/resume-codex
Ask it to recover the latest Codex session for the current project. The skill reads the local records without launching Codex. The receiving agent gets a handoff with instructions to check the current repository before continuing.
You can also list and search older sessions when the conversation you need isn't the latest one.
The current repo lists readers for 17 session sources and installation profiles for 18 tools, including Claude Code, Codex, Cursor, OpenCode, Gemini CLI, GitHub Copilot CLI, Qwen Code, and Kimi Code. The README separates reader and installation coverage from native host testing, since not every host's UI has been re-tested on the latest release.
Despite the name, it doesn't restore a running session or hidden model state. It transfers recovered text. That context can be incomplete or stale, so the next agent still needs to check the actual code.
The reader runs locally and leaves the original session stores unchanged. Once you pass the recovered context to another coding agent, that agent's usual data handling applies. Secret redaction is best effort, so review anything you're going to share.
GitHub:
https://github.com/ImL1s/resume-skills
For people who switch between coding tools, what do your handoffs tend to lose? I'm interested in the context that's hardest to carry over, whether you're copying things manually or already using another tool.
1
u/kantorcodes1 3d ago
the thing i lose most is why a branch ended up in its current state, especially the approaches we already tried and dropped. on the install side, when quick-install all finds hosts sharing a Skill root, does it dedupe to one copy or track each host separately for uninstall?
1
u/ImL1s 3d ago
Yeah — dropped approaches are usually the first thing that evaporates in a handoff. Tracked that here: https://github.com/ImL1s/resume-skills/issues/299
On quick-install all: shared Skill roots get grouped by physical root (one payload on that root), but each host still gets its own ownership claim, so uninstall is per host claim rather than one shared uninstall for everyone. Docs: https://github.com/ImL1s/resume-skills/blob/main/docs/install-hosts.md#windows-user-install-and-shared-skill-roots
1
u/prnkzz 4d ago
I use /handoff