The Codex Changelog
All Episodes

Codex 0.147.0 Fixes Duplicates and Imports Cursor Skills

We break down how Codex CLI 0.147.0 finally stops duplicate session history by syncing Claude and Cursor imports in place, while preserving titles, bindings, and working-directory context. The episode also covers Cursor rule imports into native host skills, plus security and stability improvements like secret redaction and Ghostty TUI fixes.

Show Notes


Chapter 1

The End of Duplicated History: How Codex 0.147.0 Syncs Claude and Cursor Sessions

Ethan Park

Before we dive in, a quick thanks to Jellypod for making our daily show possible. Now, if you are like me, you are constantly jumping between tools when you build. You write code in Cursor, you bounce over to Claude Code in your terminal, and then you try to bring it all back together in Codex CLI. But until this week, doing that was, well, it was a total mess for your session history.

Maya

Oh, it, it was awful. Every single time you ran an import, it would just drop duplicate threads all over your database. You ended up with like, seven identical looking conversation fragments for one refactoring session.

Ethan Park

Right, because the database did not know that the session you were importing was the exact same session you imported an hour ago. But Codex CLI version 0.147.0 fixes this completely. They added source aware session parsers under pull request 36356 and pull request 35623. Now, the system tracks external session UUIDs, timestamps, and your working directory metadata, your cwd path.

Maya

So when you run codex import or use that interactive slash import command in the terminal, what actually happens to the database under the hood?

Ethan Park

It performs an in place delta sync right on your existing state dot db records inside the dot codex directory. So instead of spawning duplicate threads, it updates the existing record. It keeps your original thread titles, it preserves your connector bindings, and it synchronizes changes to imported Claude and Cursor conversations without creating duplicates.

Maya

That exact behavior is a lifesaver. I was actually testing this exact scenario two days ago while tracking down a multi day refactoring bug across Cursor and my imported sessions in Codex. Before 0.147.0, I had to sift through those seven separate conversation fragments just to find where a prompt failed. Now, you run slash import, and it just updates the existing history seamlessly. It is clean.

Chapter 2

Migrating Cursor Rules into Host Skills and 0.147.0 Security Polish

Ethan Park

And that is only half of what landed in this release. The other massive addition in version 0.147.0 is support for importing Cursor managed skills. Under pull request 36361, Codex now automatically ingests your dot cursor slash rules files during the import process.

Maya

Wait, so it converts those Cursor prompt rules into native Codex skills? How does it handle context limits?

Ethan Park

It converts those Cursor managed instructions into native host skills directly, while staying strictly within your defined context budget limits. But there is an important nuance you have to keep in mind if you rely heavily on custom editor integrations.

Maya

What kind of nuance? Like if a rule depends on VS Code buttons or GUI triggers?

Ethan Park

Exactly that. If your Cursor rules depend on VS Code graphical interface hooks or specific editor state, Codex cannot trigger those visual IDE actions inside your terminal. Instead, Codex translates them into system prompt instructions and tool schemas that get evaluated right before permission checks run.

Maya

Okay, so the logic carries over into your terminal prompt, even if the editor UI button itself does not exist in the CLI environment. That makes sense. What about safety and quality of life updates in this build?

Ethan Park

They put in some really nice security polish. Under pull requests 36893 and 36908, Codex now automatically redacts bearer tokens and secret keys from displayed command items, so you do not accidentally leak API keys in your terminal scrollback or logs.

Maya

As someone who has accidentally shown a bearer token on a stream before, thank you for that. Did they fix that weird input lockup in Ghostty terminal too?

Ethan Park

Yes! Pull requests 35649 and 36834 resolved those TUI focus bugs that used to freeze input queues in Ghostty during Model Context Protocol startup. Everything stays responsive now.

Maya

That really brings it all together. When you combine secret redaction and TUI stability with the ability to import Cursor managed skills and synchronize changes to imported Claude and Cursor conversations without creating duplicates, Codex CLI becomes a true stateful hub for cross tool development.

Ethan Park

Absolutely. Alright, that is the quick breakdown for 0.147.0. Go update your CLI and happy coding.