One Command and Codex Brings All Your Cursor and Claude Code Config: Here's How /import Works

One Command and Codex Brings Your Entire Cursor and Claude Code Config: How /import Works

Switching coding agents has a cost that nobody puts in the comparison tables: the afternoon you lose redoing your setup by hand. The MCP servers you configured one by one. The custom commands. The project instructions you’ve been polishing for months. The permission rules. None of that moves with you, so changing agents ends up being less a technical decision than a “do I feel like redoing all this?” decision.

Codex CLI 0.145.0, released on July 21, attacks exactly that friction. The release expands /import — a command that already existed since 0.140.0 to bring over Claude Code — so it now also migrates Cursor, and the payload covers settings, MCP servers, plugins, sessions, commands, and project-scoped memories.

The official release notes say it literally:

“Expanded /import to migrate Cursor and Claude Code settings, MCP servers, plugins, sessions, commands, and project-scoped memories”

First: install it right, because the default won’t give it to you

This is the detail that’ll burn you if you skip it. The latest tag on npm still points to the 0.144.x line, so the usual command won’t bring you 0.145.0. You need the explicit pin:

npm install -g @openai/codex@0.145.0
codex --version

Confirm the version before you go looking for the command. If you’re on 0.144.x you’ll have an /import, but the old one — without Cursor and without the expanded surfaces.

How the flow actually works

/import is a slash command that only runs inside Codex’s TUI. There’s no codex import from the shell. You open codex in the project you want to migrate and type /import.

What appears is a three-step flow:

1. Overview. Codex scans your machine and groups what it finds into collapsible sections — tools and setup, current project, chat sessions — with a count of detected candidates. It doesn’t decide for you: it shows you everything it can bring over.

2. Selection. You check items one by one with the spacebar. This matters more than it sounds: you probably don’t want to drag all the sessions from the last thirty days, or plugins you already stopped using in the other agent. Migrating is a good time to leave the junk behind.

3. Execution. You confirm and Codex processes in the background, reporting what got converted and what’s still pending.

On the Claude Code side, the sources it reads are what you’d expect: ~/.claude/settings.json for environment variables and permissions, ~/.claude/skills/, ~/.claude/plugins/, and ~/.claude/projects/ for local session history. On output it writes config.toml, translates your CLAUDE.md to AGENTS.md, and converts the hooks to hooks.json.

What doesn’t come over

This is the part release notes never detail, and where it’s worth calibrating expectations:

  • Hooks that don’t have an equivalent get skipped. Anything that depends on async operations or syntax specific to the other agent doesn’t survive the conversion. They don’t translate wrong — they stay out, and you find out from the results log.
  • Local sessions only. The history that lives on the web (claude.ai) doesn’t come into play. /import reads your disk, not your account.
  • Session history has a window. The import targets recent local sessions, not your entire archive from the beginning of time.

Check the MCP servers, that’s where it breaks

If you’re going to check one thing after importing, check this. The MCP config travels as declarations — command, args, environment variables — but the environment those servers need doesn’t travel: tokens, absolute paths, runtimes installed for the other agent’s setup. An .mcp.json that migrated perfectly can still fail to start.

Curiously, the same 0.145.0 attacks the symptom: among the fixes is the enforcement of startup timeouts so slow or conflicting MCP flows don’t hang the agent. Good news for the migration case — an MCP server that arrived broken now fails fast instead of leaving you staring at a frozen terminal.

Practical check: restart codex, list your servers, and confirm each one actually connects. Then open a session in the migrated project and verify that Codex is reading the AGENTS.md it generated — not that the file exists, but that the instructions are actually being applied.

The rest of the release, briefly

There are two other things in 0.145.0 worth knowing about, both still opt-in:

Paginated thread history — marked as experimental — with efficient resume, search, persistent names, and sub-agent support. If you work with long conversations, this is the piece that makes them navigable. It complements well what we saw with /archive and session management in Codex CLI.

Multi-agent V2, now stabilized: model and reasoning level configurable per sub-agent, controlled concurrency, roles restored. Still opt-in, but “stabilized” means it came out of the experiment stage.

The release closed with 441 commits from 17 contributors.


Migrating your setup between agents stopped being a reason not to try one. Which opens the question that actually matters: what keeps you in the agent you use today — the config you already have set up, or the agent?

Have you ever migrated a setup between coding agents? What broke that the documentation didn’t warn you about?