The AI coding war is targeting users' assets from rival platforms.
Switching AI coding tools is never just about subscription fees. What really costs are the CLAUDE.md file you've tinkered with for six months, the dozens of techniques you've accumulated, the authorizations clicked one by one on the MCP server, and those slash commands you can type with your eyes closed.
These things don't cost money to buy, but they are the instruction manual for Claude Code to work for you. Switching to Codex renders the manual obsolete; everything has to be written from scratch.
What developers truly find hard to leave behind is this half-year's worth of 'assets' stored on their own machines.

What OpenAI has recently done is to package up these assets and move them into their own home.
On August 11th, OpenAI unified the instructions for importing external agents into a single document.

Open the ChatGPT desktop app, and there's a new 'Import' option in settings that can scan for Claude Code, Claude Cowork, and Cursor. In the Codex CLI, typing /import recognizes Claude Code and Cursor.
A few clicks and the configurations, skills, plugins, projects, and chat history from the last 30 days left on your machine by these tools are transferred over in one go.
It's a copy that gets moved.
The official documentation is clear: importing does not modify or delete your existing agent configurations.
It's like sending a free moving truck to your rival's users, packing their boxes, and leaving the original house next door exactly as it was.
Scrolling through all the documentation for this process, there's one term that never appears from start to finish: /export.
You can only move in, not move out.
It Moves More Than You Think
First, let's talk about what this truck can carry. The official documentation provides a 'Moving Checklist Comparison Table':

Command files (mainly CLAUDE.md on the Claude Code side) are moved and become AGENTS.md.
settings.json moves over and becomes config.toml: Claude Code's mix of JSON and Markdown is unified into a single TOML file on the Codex side.
Skills remain Skills, and plugins remain plugins, but whether plugins work directly—we'll have to see.
MCP server configurations correspond to Codex MCP configurations, Hooks to Codex hooks, and sub-agents to Codex agents.
Your own custom slash commands—bundling a frequently used workflow into /xxx, the kind shared by a team—won't be called commands after the move; they all become skills.
Commands that come with plugins are treated the same way, converted upon installation.
The name changes, the invocation method changes, and the scope of use may change accordingly. So strictly speaking, this item isn't a relocation; it's a modification.
Claude Code's project memory becomes Memories. Recent 30-day chats go into ChatGPT chats.
Regarding 'project migration', the official wording is that existing project folders become 'projects using the same folder'.
In short, Codex simply takes over the directory on your local machine; it doesn't upload or copy the entire repository to OpenAI's side.

The checklist is detailed down to commands, settings, skills, plugins, projects, and chats, each optional.
There's one detail here that best shows how seriously this job is done.
Old sessions migrated from Claude Code are often too long for Codex to read in one go.
In other tools, this situation usually results in an error message, leaving you to figure out the rest.
Codex's approach is considerate: when a session is imported, it automatically notes down its length and how much quota it uses.
When you return to this old conversation and send your first message after the move, it first automatically summarizes the previous content to free up space before continuing to answer.
You don't need to manage it or delete anything; you can pick up the conversation right after importing.
This import feature by Codex didn't just appear today.
/import first appeared in CLI 0.140.0. Back then, it could only move Claude Code settings, skills, and chat history; Cursor users had to copy manually.
On June 9th, Codex app 26.608 moved the import process into the desktop app and even incorporated it into the first-use guide.
CLI 0.145.0 on July 21st was the version that truly expanded capacity, covering six migration aspects in one go: settings, MCP servers, plugins, conversations, commands, and project-level memory.
0.147.0 on August 7th added Cursor skill import and subsequent syncing of already imported conversations.
Three months, three iterations.
It seems OpenAI couldn't wait to bring Claude Code users over.
Can Only Move In, Not Move Out
In the entire documentation set, there is no command for exporting Codex's configurations out.
The things you modify in Codex will not be written back to Claude Code.
The desktop app does provide an auto-update switch, which can be turned on in settings, and you can check import history.
But look closely at the direction of its sync: its purpose is to continuously sync new content from Claude Code and Cursor over to ChatGPT.
The source continues to update, the destination continues to receive.
The opening on the CLI side is even narrower.
The Codex CLI 0.147.0 released on August 7th added two things: importing skills hosted by Cursor, and syncing subsequent changes to already imported Claude and Cursor conversations without creating duplicates.
Which door you move in through determines how much connection you have left with the source.
You thought you were just configuring tools, but you were actually accumulating assets all along.
Now, someone tells you these assets can be packaged and taken away, and they can keep up with updates from the source.
Both companies have played the moving game, but differently.
In early March, Anthropic launched the memory migration tool 'Memory Import', targeting ChatGPT users, to import your preferences and context from ChatGPT and Gemini into Claude.
Its support documentation also states: you can export Claude's memory as well, for backup or migration.
Both directions are open.

On March 30th, OpenAI released an Apache 2.0 open-source plugin codex-plugin-cc, allowing Codex to run inside Claude Code, turning their own code review and task management into slash commands within the rival's terminal.

The plugin has a /codex:transfer command that converts the current Claude Code session into a persistent Codex thread. The plugin documentation clarifies that it uses Codex's external agent session importer, the same set of conversion rules as today's import feature.
From 'entering the rival's house' to 'taking people away'. In just over four months, OpenAI's actions have escalated a level.
Four Things Can't Be Moved
Developers in the community who have done complete migrations generally report that about 90% of configurations can be automatically converted in format.
It's the stuck 10% that's critical.
The first: Permissions.
The fine-grained whitelist you manually adjusted in Claude Code for six months clashes with Codex's sandbox, which only has three rough settings: read-only, workspace writable, and fully open.
This isn't a matter of changing a file name; you have to rethink the intent behind that original whitelist and translate it into one of those three tiers.

Codex has only three built-in permission configurations: read-only, workspace writable, and fully open.
The second: Hooks.
Claude Code's hook model is richer, with conditional grouping and asynchronous processing chains.
There's no direct equivalent on the Codex side.
Moving a complex hook chain isn't a conversion; it's a redesign. The official documentation itself warns: Hook behavior may differ after import; review before using.
The third: The model itself.
The first two move luggage; this one moves the person doing the work.
Codex natively only works with OpenAI's Responses protocol and does not recognize Anthropic's models. That means you can move all of CLAUDE.md, skills, and MCP configurations into Codex, but the one executing these configurations from now on is GPT, not Claude.
Those prompts were tuned for Claude's temperament; now a different person is executing them.
Unless you build a compatible gateway yourself, register it as a model provider, and point a separate profile to it. Of the entire migration list, this is the only item without a native corresponding solution.
The fourth: The boundaries of chat history.
Only local sessions on your machine can be moved.
Conversations on claude.ai's website, conversations on Cursor's web client—they don't come over. The CLI side also draws a hard line: the last 30 days, with a maximum of 50 entries.
Developers have counted Claude Code's skill fields: there are 18 in total, only 6 are universal, and the remaining 12 are only recognized by Claude Code itself.
Only one-third of the skills you wrote can be taken away.
The official documentation also provides a post-import review checklist: permissions for skills and agents, MCP servers requiring re-login, Hooks with potentially altered behavior, plugins needing manual follow-up, and command templates with parameters and file paths.
One-click moving, followed by half an hour of manual checking.
That's the complete process.
The Competition Isn't for Users, But for Users' Assets
Model rankings are things that change every six months. You're number one today, but next month a new version from the other side might push you down.
But configurations, memory, skills, and historical conversations don't change: they lie on developers' own machines, growing thicker day by day.
These assets are both the developers' property and the moat that OpenAI and Anthropic use to retain users.
OpenAI's move here is aimed at draining the rival's moat.
It's just that while draining others, their own moat also becomes shallower: to release water from someone else's house, you first have to dig a channel, but channels are bidirectional.
SKILL.md, AGENTS.md, standard MCP definitions—these formats are becoming de facto standards.
The more universal the format, the harder it is for anyone to lock anyone in.
The things that can be moved into Codex with one command today could, in theory, be moved elsewhere with one command tomorrow.
For developers, the approach is simple: invest your assets in portable formats, not in any single tool.
This article is from the WeChat public account "新智元" (New Zhi Yuan), author: ASI启示录








