Loading video...

Video Failed to Load

Go Home

Introducing ๐™จ๐™š๐™จ๐™จ๐™ž๐™ค๐™ฃ-๐™ข๐™ž๐™œ๐™ง๐™–๐™ฉ๐™š, a tool for migrating coding agent sessions across Claude Code, Codex, Pi, OpenCode, and more. If you started in Claude but ran of usage, you can now convert your session to another harness in one command:

30,709 views โ€ข 1 month ago โ€ขvia X (Twitter)

23 Comments

Xing Han Lu's profile picture
Xing Han Lu1 month ago

Don't want to use the CLI? Just ask your agent to do it: "Follow to migrate this session to {Codex, Pi, etc.}"

Xing Han Lu's profile picture
Xing Han Lu1 month ago

It current supports: @claudeai code, @openai codex, @pidotdev, @opencode, @MistralAI vibe, @antigravity, @GitHubCopilot cli, @cursor_ai agent (partial). Here's an example of Claude -> Pi. You can use models like @Kimi_Moonshot K3 or @Alibaba_Qwen 3.8 via @huggingface Inference.

Aditi Khandelwal's profile picture
Aditi Khandelwal1 month ago

Thanks Xing for creating this!

Aidan Taha's profile picture
Aidan Taha1 month ago

how has no one made a standard session format that is backed by a working group, just like the MCP

Ian Finlay's profile picture
Ian Finlay1 month ago

great, now i can burn through two subscriptions in one session

Nick Woodhead | GPTree | Foremerge | TranslateTech's profile picture
Nick Woodhead | GPTree | Foremerge | TranslateTech1 month ago

This is cool but how are you handling tool-call history? the old session is probably full of calls to tools the new harness might not have

CodeDR.AI's profile picture
CodeDR.AI1 month ago

Well done @xhluca - not a bad grade! All seven diagnostics ran in parallel and all seven reports are written to .code-dr/reports/. The repo scores well overall โ€” two A's and five B's โ€” and the striking thing is that nearly every B is caused by the same root cause rather than by messy code. ReportFileGrade Structure 01-structure.md A Security 02-security.md B Test health 03-testing.md B Deploy readiness 04-deployment.md B Code quality 05-quality.md B Performance 06-performance.md B Architecture diagrams 07-architecture-diagram.md A The one theme that explains most of the findings: there is no CI at all. There's no .github/ directory anywhere. Five of the six diagnostic agents independently flagged this, and it's why other problems have gone unnoticed โ€” Ruff is configured but never runs, 325 pytest cases exist but nothing gates a push, 15 high-severity npm advisories have accumulated in the website toolchain, and all 14 released PyPI tags were published by hand with no provenance or attestation. The quality tooling and the tests are already written; nothing is wired to them. The core Python CLI is genuinely well-built. Zero runtime dependencies (stdlib only), an acyclic reader โ†’ portable timeline โ†’ writer pipeline, fully parameterized SQL, 0600/0700 file modes with O_NOFOLLOW and symlink rejection, atomic no-clobber writes, timeouts on every subprocess and SQLite call, real forward schema migrations, zero TODO markers across 157 commits, and 100% parameter type annotations. No secrets appear in the working tree or in any commit. Three concrete issues worth acting on beyond CI: src/.../catalog.py is a 2,449-line god module, and its _scan_file() function has a cyclomatic complexity of 98 across 244 lines with 10 levels of nesting. Its eight per-format scanners duplicate layout knowledge the format adapters already own, so adding a ninth harness means edits in two places that can silently disagree. About 30.5 MB of the 31.8 MB in website/public is referenced by nothing โ€” demo GIFs and MP4s duplicated byte-for-byte from docs/assets, which is where the README actually serves them. The tracked repo is 66.6 MB and roughly 97% of that is this duplicated media. The suite can't be collected on Windows at all: tests/test_cursor_native.py:8 does a bare import fcntl, which aborts the entire run instead of skipping one module. On this host 194 tests passed and 121 failed, all for platform reasons (temp-file locks, POSIX mode assertions, path separators) rather than logic defects. A one-line pytest.importorskip fixes the abort. Two caveats on the numbers. Coverage came in at 71.5% statements, but the project ships no coverage tooling, so that was measured with a scratch sys.monitoring probe and is a hard lower bound โ€” the 121 platform failures never reached their assertions, so real coverage on Linux is higher. And npm audit --omit=dev reports zero vulnerabilities misleadingly, because vinext, react-server-dom-webpack, and sharp are declared as dev Dependencies despite being bundled into the deployed Cloudflare Worker.

Till Felippi's profile picture
Till Felippi1 month ago

This is cool and really powerful: In the ADE I've created (Podium) we offer cross-harness subagents and I've used them for exactly this already a lot of times

Jing Yu Koh's profile picture
Jing Yu Koh1 month ago

Iโ€™m curious how much the degradation would be due to scaffold / model mismatch

Xing Han Lu's profile picture
Xing Han Lu1 month ago

Also in the loss of hidden chain of thoughts.

Paolo's profile picture
Paolo1 month ago

The tricky part in porting a session is tool call history. Flatten old tool results into plain text and the new harness cheerfully redoes work that already succeeded. A short ledger of what ran and what it returned carries further than the transcript.

charl.dev's profile picture
charl.dev1 month ago

Have you tried You can delegate from one harness to others that have quote

Y11's profile picture
Y111 month ago

@grok ่ฟ™ไธช็บฏ็ ”็ฉถ่ฟ˜ๆ˜ฏๆœ‰ๅทฅไธšๆ„ไน‰๏ผŒๅ…ทไฝ“ๅทฅไธšๅœบๆ™ฏ่ง†่ง’็œ‹ๆ„ไน‰ๆ˜ฏไป€ไนˆ๏ผŒๆœ‰ๅผ€ๆบๆ•ฐๆฎ้›†ๆˆ–่€…ๅผ€ๆบ้กน็›ฎไปฃ็ ๅ—๏ผŸไปŽๅคšไธชๆ•ฐๆฎๆบไบคๅ‰้ชŒ่ฏ๏ผŒ็†ๆ€ง็œ‹ๅพ…๏ผŒไธ่ฆๅช็œ‹ๆ–ฐ้—ปๅช’ไฝ“ไธ€้ขไน‹่พžใ€‚ๅธฎๆˆ‘ๆŽ’้™คๆฒกๆ„ไน‰็š„ๅžƒๅœพๅ•†ไธš่ฅ้”€ๆŽจๅนฟใ€่ฏˆ้ช—ใ€ๅคธๅผ ๅš็œผ็ƒใ€่™šๅ‡ๆ–ฐ้—ป ไปฅๅŠ่‡ชๅน่‡ชๆ“‚๏ผŒ่‡ชๅ—จ๏ผŒๆ— ็—…ๅ‘ปๅŸ๏ผŒๆ”ถ่ดนไบ’ๅน่ฝฏๅนฟๅ‘Šใ€‚

Alp Bahadur's profile picture
Alp Bahadur1 month ago

session-migrate looks useful but i wonder how it handles the prompt queue when you switch mid-task. claude code stores permission state differently than codex. does it carry that over or start fresh on the next harness

AriesZhou's profile picture
AriesZhou1 month ago

Session portability feels like an important missing layer. The next problem I keep thinking about is context portability: the durable knowledge about you and your projects probably shouldnโ€™t belong to any single agent harness in the first place.

Josh Builds's profile picture
Josh Builds1 month ago

Moving sessions between Claude Code and Codex when usage runs out is exactly the kind of multi-agent juggling Armadai helps organize on one canvas. If youโ€™d like to try it free, DM @Joshua_WD for a code:

Alex Garcia's profile picture
Alex Garcia1 month ago

dope.

Esa Ruoho (Lackluster)'s profile picture
Esa Ruoho (Lackluster)1 month ago

I have wanted this for quite some time ever since lost access to Claude code max20

DeDi's profile picture
DeDi1 month ago

ไธ€้”ฎๅฐ†ๆ‚จ็š„ไผš่ฏ่ฝฌๆขไธบๅฆไธ€ไธชๅนณๅฐ๏ผŒ้ขๅบฆ่งๅบ•ๆ—ถๆœ‰้€€่ทฏ

ๅฎ‰ๅซๅ…ฝ|Bird๐Ÿ•Š๏ธ ๐Ÿ”ถ BNB's profile picture
ๅฎ‰ๅซๅ…ฝ|Bird๐Ÿ•Š๏ธ ๐Ÿ”ถ BNB1 month ago

่ทจๅทฅๅ…ท็ปญไธŠไธŠไธ‹ๆ–‡๏ผŒ็œๅพ—ๆฏๆฌก้‡่ฎฒไธ€้ไบ†ใ€‚

Karthikeyan Saravanan's profile picture
Karthikeyan Saravanan1 month ago

nice! long time needed this

manzi's profile picture
manzi1 month ago

Hitting a usage wall mid-task and having to restart context somewhere else is the most annoying part of my week, so being able to carry a session over to another harness solves a very real pain.

moebis's profile picture
moebis1 month ago

Session portability turns agent context into user-owned infrastructure. Transcript conversion is the easy layer. The hard layer is preserving file references, tool state, approvals, and provenance without carrying unsafe authority across harnesses.

Related Videos