The Codex Changelog
All Episodes
Codex CLI 0.154.0 Fixes Windows Daemon Chaos

Codex CLI 0.154.0 Fixes Windows Daemon Chaos

0:00|0:00

We break down how Codex CLI 0.154.0 brings Windows daemon parity, replacing per-terminal servers with a single shared background process to eliminate SQLite lock collisions and stabilize multi-session workflows. The episode also covers the new socket-based shutdown flow, Windows sandbox isolation, thread resume improvements, and the important upgrade warning for older daemons.


Chapter 1

Windows Shared Daemon Architecture and Lifecycle Control

Ethan Park

If you have ever tried running, uh, say, three different terminal windows on Windows with Codex CLI open, you know the exact pain I am talking about. Your RAM just disappears, and then, boom, SQLite database locked.

Maya

Oh, the database locks. Every single subagent spawning its own entirely separate background server, fighting over the exact same state files. It was a mess.

Ethan Park

It really was. And look, before we dive into how OpenAI just fixed this in Codex CLI version 0.155.0 alpha releases, quick shoutout to Jellypod for supporting the show and helping us bring you these daily technical deep dives. Now, Maya, version 0.154.0 brought full Windows daemon parity.

Maya

Right, so, so what does daemon parity actually mean in practice for someone sitting at a Windows workspace?

Ethan Park

It means instead of every single terminal tab spinning up its own heavy app server process, they can all attach to one single background app server daemon. Multiple interactive sessions, background tasks, codex exec calls, all sharing one background process over local control sockets.

Maya

Wait, so one single process managing state, managing connections, everything? That, that completely eliminates the SQLite lock collisions right there.

Ethan Park

Exactly. And the way they handled process lifecycle here is really smart. They moved away from those old file based shutdown markers. Now it uses direct socket IPC requests. You can issue a command like codex daemon stop, and it coordinates a clean graceful shutdown.

Maya

Which means when an update rolls out, it can cycle the daemon without just dropping active connection state or leaving orphan lock files behind.

Ethan Park

Precisely. But the engineering detail that really caught my eye in pull requests 42353 and 42405 is how they handled sandbox provisioning on Windows.

Maya

Sandbox provisioning? Because Windows process isolation has historically been, uh, let us say tricky compared to macOS or Linux sandboxing.

Ethan Park

Exactly. When a persistent background daemon runs tools on Windows, you do not want background execution tasks inheriting full write permissions from the user process. So Codex now provisions isolated execution contexts using private desktops and restricted token Access Control Lists.

Maya

Wow. So even though there is one shared daemon process, the actual code execution steps happen inside restricted security tokens on private desktops, so background tool runs cannot touch files outside their assigned ACL permissions.

Ethan Park

You got it. It is a really clean security model for persistent background tooling.

Chapter 2

Upgrade Gotchas, Socket Migrations, and TUI QoL Touches

Maya

Okay, but Ethan, there is a big gotcha here for anyone upgrading their CLI, right? If you just run npm install to update, things might act strange.

Ethan Park

Yes! Very important warning. If you have an older background daemon running pre 0.154.0 code, that old process does not speak the new socket control protocol. It will not respond to shutdown requests over the new IPC socket.

Maya

So if you just update the package, the old daemon is still sitting there holding onto the port and rendezvous sockets. You have to manually terminate the old background process first, then run your upgrade.

Ethan Park

Right. Kill the running daemon process, then do your update. Now, speaking of multiple sessions, another feature I love in 0.154.0 is pull request 43253. It fixes what happens when two terminals try to open the exact same conversation thread.

Maya

Oh, what happens now? Does it block you out entirely?

Ethan Park

No, it is super graceful. If you resume a thread that is actively open in another terminal or app, Codex shows you a read only transcript view. And it puts a clean retry button right inside the TUI while keeping whatever prompt draft you were typing safe in memory.

Maya

That is huge. Having your uncommitted draft saved instead of getting wiped out by a session collision error is such a relief.

Ethan Park

And there are some great editor quality of life touches in this release too. In the composer, you now get full Vim replace mode with capital R, complete with undo using u and dot repeat using period.

Maya

Vim users rejoice! Plus, they fixed Escape key handling in legacy terminal emulators, so you do not get stuck when trying to drop out of editing modes.

Ethan Park

And the slash copy command got a big upgrade in pull request 43055. You can now use slash copy to grab raw status output or extract individual session fields directly to your clipboard.

Maya

From my testing perspective, having that centralized daemon management completely transforms running parallel test suites on Windows. I used to see subagent runs crash constantly because two subagents tried writing SQLite history at the exact same millisecond. Now with the shared daemon handling state centrally, parallel automated runs are rock solid.

Ethan Park

It makes multi agent workflows on Windows feel native and stable at last. That is our look at Codex CLI 0.154.0. Kill those old daemons before you upgrade, and enjoy the smooth multi terminal sessions!