Skip to content

Codex fork 0.159.0

Choose a tag to compare

@Dirard Dirard released this 30 Sep 00:00

Codex fork 0.159.0

This is a main-based fork release following fork 0.158.0, not a byte-for-byte rebuild of OpenAI's official 0.159.0 tag. The pinned main snapshot and official release tag have different branch histories. All five exact-source runtime packages have been built and verified.

Comparison and source

The upstream section below covers all 78 non-merge commits between the pinned bases, not every change on OpenAI's official release branch. Exact commit links follow at the end.

Upstream changes since fork 0.158.0

Agents, Guardian, and context

  • Remote agent message boards now work in multi-agent sessions without reopening a final answer; pending environments survive subagent spawning, and parents are notified when Guardian stops a subagent. The agent command center gained history pagination.
  • Guardian reviews gained opt-in conversation-history retrieval, encrypted and handoff-aware root context, cached approval handling with incomplete context, and context-mode telemetry. Turn phases and accepted input can be correlated in tracing; lifecycle contributors receive original error details.
  • Content-filter retries provide recovery guidance in the shared Responses handler. Compaction usage limits reach lifecycle extensions, and cloud/executor skill listings are deduplicated before budgeting.

MCP, app-server, and configuration

  • Enterprise MCP sign-in and account-scoped grant cleanup were added, with fail-closed authorization/config-refresh behavior. Explicit MCP OAuth login responses and completion notifications now carry an optional loginId for attempt correlation; older servers may omit it. The TUI gained /mcp login <name>.
  • App-server running-turn tracking is incremental. Config reloads preserve thread overrides and cloud policy validity; explicit provider model catalogs remain authoritative. Provider auth storage documentation was corrected.
  • SQLite metadata writes/reads and background page reclamation were improved; remote plugin requests reuse HTTP connections and parsed plugin manifests are cached.
  • The bundled catalog adds GPT-6.1 Sol as the default catalog model. Model availability and picker visibility can still be controlled by the server/provider catalog and account rollout; installing this release alone does not grant access or force a hidden model to appear in /model.

TUI, platform, and build

  • The TUI gained projectless workspace defaults, X11 primary-selection/middle-click paste, reconnect draft recovery, improved selection copying and follow-up labels, centralized subscription labels, and more faithful server-provided reasoning settings and provider defaults.
  • Windows sandbox/process launch and PowerShell fallback behavior, macOS sandbox policy, and Linux bwrap fixture reliability received targeted fixes. Windows sandbox policy events no longer include configuration values.
  • Cargo package versions propagate to Bazel Rust targets; h2 and CI setup were updated. Test fixtures for realtime, Guardian, memory, and remote compaction were isolated or repaired. These are source changes, not claims about bundled optional resources.

Fork reconciliation and Go SDK

All 141 fork commits were replayed: 128 patch-identical, 13 adapted, 0 dropped or unmatched. The fork retains independent direct-MCP/Code-Mode mcp_max_lines and originating output caps through replay; custom providers and context/compaction overrides; plaintext provider messages and inherited dynamic tools; cumulative spawn budgets, active/idle follow-ups, quiet waits, parent completion, bounded compaction history and retry floors. These are cumulative fork capabilities, not all new in 0.159.0. Focused checks and independent review with targeted finding closure are complete.

The new runtime reconciliation preserves upstream pending-environment inheritance and captured capability roots. A targeted repair lets an isolated Guardian session advertise its explicitly installed conversation-history extension while still excluding inherited generic MCP/dynamic/hosted tools and enforcing the existing tool allowlist and live app authorization. The three upstream history regressions now pass, including parent connection identity, output budgets, and permission changes on a reused reviewer. A second Guardian repair preserves the child's Interrupted status after a strict circuit breaker while notifying its parent of the safety stop; normal interruptions remain silent and real terminal errors remain Errored. Local-compaction snapshots were aligned with the existing fork prompt-cache behavior; an encrypted-reasoning fixture was scaled to leave room for the fixed prompt without weakening the runtime headroom guard.

The Rust stable/experimental schema, reviewed serde manifest and generated Go protocol now include MCP OAuth loginId. A high-level MCP OAuth handle correlates a completion by its returned nonempty ID when available, while retaining name/thread matching for an older server that omits the ID. The existing raw thread/items/list cursor type Optional[ThreadItemsListCursor] and RealtimeStartOptions.BackendReasoningStatus opt-in/skip-false behavior remain intact. The module path stays github.com/openai/codex/sdk/go; existing Gateway OAuth lifecycle, realtime and resource clients remain in place. Use matching runtime and SDK versions, and update the entire binary package including codex-code-mode-host; strict digest validation is not bypassed implicitly. Independent review, local debug-runtime handshake and downloaded Linux release-runtime strict handshake passed.

Downloadable packages

The release contains exactly five verified bin-only system archives:

  • codex-package-aarch64-apple-darwin.tar.gz and codex-package-x86_64-apple-darwin.tar.gz: bin/codex, codex-app-server, codex-code-mode-host, codex-responses-api-proxy.
  • codex-package-aarch64-unknown-linux-gnu.tar.gz and codex-package-x86_64-unknown-linux-gnu.tar.gz: the same four binaries plus bin/bwrap (GNU/glibc, not musl).
  • codex-package-x86_64-pc-windows-msvc.zip: .exe versions of those four binaries, plus codex-command-runner.exe and codex-windows-sandbox-setup.exe.

Optional native voice/audio resources and provisioned Windows sandbox-service packaging are outside this bin-only layout. Exact-source workflow run 36623353284 succeeded on all five targets on its first attempt; checkout SHA and the codex-cli 0.159.0 version assertion were verified for every runner. All downloaded artifact sizes/SHA256 and outer ZIP CRCs matched; inner archive integrity, exact file layout, ELF/Mach-O/PE architecture and Unix 0755 permissions passed.

Release archive sizes and SHA256 (these identify the downloadable packages, not their Actions ZIP wrappers):

  • codex-package-aarch64-apple-darwin.tar.gz — 197589187 bytes; e0a88d7321e869e1f0ee5c735c65380bcb9e010fb5a5b6dd2e21fc401cfeb496
  • codex-package-aarch64-unknown-linux-gnu.tar.gz — 204444691 bytes; d81f541765ed6ef5642523cd578f38518850e5b8ca8170bc3beba7e4e9589c80
  • codex-package-x86_64-apple-darwin.tar.gz — 210468041 bytes; 65c91cf029c37ee119b33ea32517d2906fbb1f1b3ef646a683dfe9e32501527a
  • codex-package-x86_64-pc-windows-msvc.zip — 228314616 bytes; 20a2ce3513a09043e3cdb92fd75bcbd5f32aea9aa98e84f1d8b35d028a4e5b77
  • codex-package-x86_64-unknown-linux-gnu.tar.gz — 217350013 bytes; 9e5b6e59454b5ecd4d7f3e327481715ee1338039f36b61cfd75bc79f6c57b2f1

Upgrade note: replacing binaries on disk does not update or restart an already-running app-server/daemon. An older process can still cause configuration or strict protocol-handshake errors. Run matching components; restart the daemon yourself if appropriate, or use --no-daemon to bypass it. This release does not automatically alter the installed CLI or running processes.

Validation and limitations

  • Rebase accounting, ancestry, diff checks, and preservation of user-owned files passed: 141/141 fork commits retained (128 patch-identical, 13 adapted). Independent review found one Guardian-status regression; the targeted repair and recheck closed it, leaving no known unresolved blocking findings. All five targeted Guardian/completion cases passed after reproducing the original failure.
  • just test -p codex-app-server-protocol: 351 passed, 1 skipped. Stable and experimental schema/precomputed generation, Rust Go-manifest check, and Go generator checks in stable, experimental and combined modes passed. go test -race ./... passed across the Go SDK packages. These are source-stage checks; release-runtime checks are listed separately below.
  • Adjacent Rust selections passed: 2,077 tests, 9 skipped. Focused core checks include 139 unit cases; a 309-case integration selection initially passed 300, with all nine failures subsequently resolved and rechecked; all 188 Code Mode/pending-input integration cases passed again with the matching host. The three Guardian history regressions and all 88 Code Mode runtime tests passed. These selections overlap and are not summed as unique coverage.
  • Targeted app-server checks passed 24 cases, including MCP OAuth login IDs, Gateway admission/cancellation and initialize digests. GitHub script checks passed 74 tests. Scoped lint, formatting, Bazel lock synchronization and configuration-schema semantic comparison passed.
  • A freshly rebuilt debug CLI after the final Guardian repair passed the isolated required-real-runtime strict SDK handshake (-count=1, 0.283s), without compatibility override or paid model calls. This local semantic-source check preceded the mechanical 0.159.0 stamp. All five release-runner version smokes passed. The downloaded Linux x86_64 runtime then passed the isolated codex-cli 0.159.0 smoke and TestRealAppServerInitializeStrictDigest -count=1 with required-real-runtime enabled (0.376s), without override or paid model calls.
  • Full Rust core, workspace, app-server, and Docker/Wine remote-executor suites were not run; targeted checks are not full-suite coverage. No installed binary or running daemon was changed. No result from 0.158.0 is counted as verification of this candidate.

Full upstream changelog

All 78 upstream non-merge commits since the previous pinned base