The Codex Changelog
All Episodes

Codex 0.140: Encrypted Agent Payloads and IPC Fixes

This episode breaks down Codex 0.140’s biggest runtime changes, including encrypted parent-to-subagent communication that shuts down plaintext prompt leakage. It also covers seccomp socketpair allowlisting, Unix socket path fallback handling, and the Windows turn-latency fix that eliminates the 15-second pause.


Chapter 1

Encrypted Multi-Agent Payloads in the v2 Protocol

Ethan Park

We're looking at a major change in how Codex handles multi-agent communication today, specifically with the upcoming zero-dot-one-forty-dot-zero update. Maya, if you've been monitoring agent-to-agent chatter in your custom tools, things are about to go dark. [serious] The team is moving away from sending parent-to-subagent instructions as plaintext.

Maya

Wait, [skeptical] those instructions were traveling in plaintext? So if a parent agent was handing off a task to a subagent, any third-party tool sitting on that context window could just... read the entire prompt?

Ethan Park

Exactly. Any standard tool argument or context payload was completely exposed. If you had a sensitive system prompt or proprietary business logic in those agent instructions, it was basically an open book. But in the zero-dot-one-forty update, Codex is routing all of that through a dedicated field called `InterAgentCommunication.encrypted_content`.

Maya

`InterAgentCommunication.encrypted_content`. [thoughtfully] Okay, so it's a dedicated ciphertext field. The runtime encrypts it on one side, passes it through the transport layer, and then decrypts it internally when the target agent receives it. But what does this do to our debugging pipelines? If I'm running middleware to log or intercept agent payloads for tracing, I'm just going to see garbage data now, right?

Ethan Park

Yep, absolute noise. [chuckles] Your logging proxies will just capture encrypted blobs. If you rely on sniffing those raw tool arguments to build traces or audit trails, you're going to have to update your workflows. You'll need to hook directly into the agent's internal lifecycle hooks or use the official SDK decryption helpers, rather than just inspecting the JSON packets on the wire.

Maya

That is going to break a lot of custom tooling, but honestly, thanks to Jellypod to help make this daily show a reality, we can dive deep into these breaking changes before they hit production. It's a massive win for security, especially for enterprise deployments where you cannot have agent prompts leaking to arbitrary tools.

Chapter 2

Seccomp socketpair IPC and Windows Turn Latency Fixes

Ethan Park

It really is. And speaking of security, the other half of this update targets the sandboxing layer. If you've tried running Codex in a strict Linux sandbox, you've probably hit those random, silent local tool crashes. [frustrated] The issue was how Codex handles inter-process communication inside its proxy-routed seccomp filters.

Maya

Ah, [matter-of-fact] let me guess. The seccomp filter was blocking the system calls needed to spin up local IPC channels?

Ethan Park

Spot on. Specifically, it was blocking `socketpair` calls with the `AF_UNIX` domain. The sandbox was so restrictive that when a tool tried to set up a local UNIX socket pair to talk to its parent process, seccomp instantly killed the thread. The zero-dot-one-forty release explicitly adds `socketpair(AF_UNIX, ...)` to the seccomp allowlist, so you keep your strict external network isolation while letting local IPC actually function.

Maya

That explains so much. [chuckles] I've seen developers tearing their hair out over those silent failures. But what about Unix socket path limits? I know Unix has that notorious hundred-and-eight-byte limit for socket paths. If you have a deeply nested monorepo, you can hit that incredibly fast.

Ethan Park

Exactly, `sockaddr_un.sun_path` is strictly limited to one-hundred-and-eight bytes, null terminator included. If your workspace path was something like `/Users/username/projects/company/services/agent/subagent/workspace`, the socket creation would overflow and crash. Codex is fixing this by adding an automatic fallback. If the calculated socket path exceeds one hundred and seven bytes, it automatically drops the socket file into the system `/tmp` directory instead.

Maya

Oh, that's a elegant fallback. [thoughtfully] It completely sidesteps the path length restriction without requiring the developer to reorganize their entire repository structure. What about Windows users, though? I know they don't deal with `sockaddr_un` limits in the same way, but they've had their own nightmare with turn latency lately.

Ethan Park

Oh, the fifteen-second hang. [laughs] That's been a massive pain point on the community forums. On Windows, there was this bizarre lag where the system would literally freeze for fifteen seconds between conversation turns. It turned out to be a socket cleanup timeout issue in the Windows-specific IPC wrapper.

Maya

Fifteen seconds! [scoffs] That's an eternity when you're trying to have an interactive debugging session with an agent. I'm assuming that's finally resolved?

Ethan Park

Completely. They've refactored the socket closing sequence on Windows to prevent it from waiting on the lingering TCP close handshake. Latency is back to near-zero millisecond levels between turns.

Maya

[warmly] Good. Between the seccomp fixes, the path overflows, and the Windows latency patch, it feels like this release is really focusing on making the local runtime robust, even if developers have to rewrite some of their tracing tools for the new encrypted payloads.

Ethan Park

Definitely. That's our quick look at Codex zero-dot-one-forty-dot-zero. We'll see how these security changes play out in the wild. [calm] See you next time.

Maya

Bye everyone!