Get your tools ready.
- Node.js + Git
- Install Node.js 20 or newer, npm, and Git. Agentify’s installer needs them. Check with
node --version,npm --version, andgit --version. - Claude Desktop
- Install or update Claude Desktop, open it, and sign in with an account that has Claude Code access. For the subscription setup, use Pro, Max, Team, or Enterprise. Open the Code tab and choose Local. Official Desktop guide ↗
- Saved Codex sessions
- You need locally saved history, normally in
~/.codex/sessionsor~/.codex/archived_sessions. Codex CLI and Codex app sessions in this store are supported. Cloud-only conversations must be saved locally first. - Codex CLI + sign-in
- For ongoing Codex use, install the Codex CLI and authenticate with
codex login; check withcodex login status. Existing saved sessions can be migrated without the Codex executable, an active login, or a current Codex subscription. - macOS for --open
- Automatic opening currently uses
/Applications/Claude.appand the default~/.claudesession store. On other systems, omit--openand use Desktop’s/resumepicker where available.
Desktop opening does not invoke claude. If you prefer the terminal resume command printed by Agentify, install Claude Code CLI and sign in there separately. Credentials and subscriptions are never transferred.
Install or update Agentify.
Run the installer to get Agentify from GitHub, then check the migration command:
curl -fsSL https://raw.githubusercontent.com/ixigo/agentify/main/install.sh | bash
agentify migrate --helpThe help output shows agentify migrate [folder] [options] and --open.
You do not need to run agentify install or agentify scan in your project to migrate saved sessions.
Preview. Copy. Continue.
1. Preview a folder
Replace the path with your project. Quote it if it contains spaces. The preview lists matching sessions and saved context without writing files or opening the app.
agentify migrate "/path/to/project" --dry-runSelecting /projects/my-app includes sessions saved in /projects/my-app and /projects/my-app/packages/mobile. It excludes /projects/my-app-other. Selection uses the session’s saved working directory.
2. Copy and open in Claude Desktop
agentify migrate "/path/to/project" --openAgentify creates local Claude sessions and asks Desktop to open them. In Claude → Code, look for titles beginning with [codex]. An open request alone does not confirm the app displayed the thread.
3. Continue your thread
Choose the imported conversation, review its history, and send your next prompt. Without --open, choose the project under Code → Local, type /resume, and select the imported title. This is the Code tab, not regular Claude Chat.
Already inside your project? The shorter form is agentify migrate . --open.
The Android example selected five sessions across ixigo-app-android and its ixigo-train-app subfolder. All five were registered in Desktop and readable through Claude’s session SDK. Repeating the import reused existing threads.
Choose how much to bring.
# Copy a folder without opening Desktop
agentify migrate /path/to/project
# Include global instructions and memory in the archive
agentify migrate /path/to/project --include-global
# Select one session within this folder
agentify migrate /path/to/project --session SESSION_ID --open
# Reverse direction: Claude Code → Codex
agentify migrate /path/to/project --from claude
# Preview all projects on the machine (broader than folder selection)
agentify migrate --all --dry-run
# Machine-readable preview
agentify migrate /path/to/project --dry-run --jsonWhat is preserved
Conversation text, available titles, and historical tool activity are copied into resumable threads. The archive keeps original session records, readable transcripts, and saved project instructions and Agentify context. --include-global adds global instructions and memory to that archive.
Claude sessions live under ~/.claude/projects/. Each archive has HANDOFF.md, manifest.json, and Desktop instructions under ~/.claude/agentify/migrations/. The command prints its exact location.
What stays separate
Credentials, provider settings, attachments referenced outside the logs, running tools, and unsaved editor state are not transferred. Tool calls are historical text, not executable actions. Provider sidebar grouping and channel integrations are not recreated.
This is a snapshot, not ongoing sync. Re-running skips an already imported thread and preserves any continuation in Claude; it does not merge newer Codex messages. Finish your source session before the first import. Long histories remain subject to Claude’s context limits.
For ChatGPT exports, custom data directories, and advanced options, see the full command documentation.
Find your next step.
“Unknown command: migrate”
Update Agentify using the installer above, then run agentify migrate --help. If the command is still missing, open a new terminal and check which agentify for an older installation on your PATH.
No sessions match my folder
Check the original working directory and local session store. Include subfolders by selecting their parent. If your data is elsewhere, pass --codex-home /path/to/codex-data. Conversations without a saved working directory cannot be selected by folder.
The app opened but I cannot find the thread
Use the Code tab’s /resume picker and search for the printed title. Check that Desktop is signed in and reads the default ~/.claude store. Import success and Desktop opening are separate steps; your copied thread stays saved if opening fails.
The original project folder no longer exists
The conversation can still be archived. Restore the folder or select an existing project folder in Claude before continuing code work.
My Codex subscription has expired
Migration reads saved local files and does not contact Codex. You do not need to renew it to copy existing sessions. Continuing in Claude requires access through your Claude account.
Bring Agentify to your next project.
If you regularly start new sessions, switch coding agents, or revisit a project after a break, Agentify helps keep the project’s working knowledge available.
- Remember project context: keep notes, recent activity, and session summaries available for the next conversation.
- Keep decisions and their reasons: record why an approach was chosen so future sessions can build on it.
- Avoid repeating failed commands: use recorded failures to flag a retry before spending time on the same dead end.
- Find your way around the code: query definitions, references, callers, and dependencies through the repository index.
- Focus verification: inspect a change’s impact and select relevant tests from the indexed project.
- Get a second review: route a diff to a different configured model provider for another perspective.
- Work across agents: share durable project context with Claude Code, Codex, and compatible MCP clients.
cd /path/to/your/next-project
agentify install --provider all
agentify statusClaude Code uses lifecycle hooks; Codex follows installed project guidance. Reviews require a configured, authenticated model provider. This setup is optional and separate from copying your existing sessions.