Repository navigation
Codex fork 0.159.0
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
- Previous fork runtime and SDK source:
5066ec32eea7bd37952337e2f35359db7445a629, published as 0.158.0. - Previous pinned base:
1a840f77ea49b4d9e00160427cc82a373595033c. New pinned base:85714c61d1e5c5363e7e7932b916eb77e6411aa6, merging OpenAImain@b1e72963c3b71a9265a551e54beff078384efed9. - Official OpenAI 0.159.0 tag points to a different commit,
687a119f0fcaace47e1f1abcc77cec6c813fd6da. This fork follows pinned main, not that release branch. - Version-stamped release source:
dfbd20689ff50ba51e37353a75ded0b11836cb5d. It differs from reviewed semantic source5fefac3c7dab9cad3c6ea5b3fbd3b9e65bf9dae6only in the workspace and 159 local package versions; all 1,313 external lock records and other local fields are unchanged. Independent fresh review covereda24c84465e7f100f3644b0e263a04d17e1015792; its single Guardian-status finding was repaired and closed by a targeted independent recheck at5fefac3c7d. Matching annotatedrust-v0.159.0andsdk/go/v0.159.0tags point to this exact source. Previous tags are unchanged.
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
loginIdfor 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;
h2and 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.gzandcodex-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.gzandcodex-package-x86_64-unknown-linux-gnu.tar.gz: the same four binaries plusbin/bwrap(GNU/glibc, not musl).codex-package-x86_64-pc-windows-msvc.zip:.exeversions of those four binaries, pluscodex-command-runner.exeandcodex-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;e0a88d7321e869e1f0ee5c735c65380bcb9e010fb5a5b6dd2e21fc401cfeb496codex-package-aarch64-unknown-linux-gnu.tar.gz— 204444691 bytes;d81f541765ed6ef5642523cd578f38518850e5b8ca8170bc3beba7e4e9589c80codex-package-x86_64-apple-darwin.tar.gz— 210468041 bytes;65c91cf029c37ee119b33ea32517d2906fbb1f1b3ef646a683dfe9e32501527acodex-package-x86_64-pc-windows-msvc.zip— 228314616 bytes;20a2ce3513a09043e3cdb92fd75bcbd5f32aea9aa98e84f1d8b35d028a4e5b77codex-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 isolatedcodex-cli 0.159.0smoke andTestRealAppServerInitializeStrictDigest -count=1with 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
b1e72963c3Add GPT-6.1 Sol as the default catalog model (openai#49318)193632d244Bump taiki-e/install-action to v2.87.21 in CI setup (openai#49316)63475131ceNotify parent agents when Guardian stops a subagent (openai#49312)50d9c5deacRun piped legacy Windows sandbox processes without a console (openai#49308)c2837d8eceBatch metadata reads when resolving thread names (openai#49305)a6f09397aaCompact the inline hidden tag buffer once per chunk (openai#49300)d5e6526362Scan the session index backwards for batch thread name lookups (openai#49297)cf12c86dc5Simplify configuration fingerprint canonicalization (openai#49295)d79a95bdf8Record Guardian context mode in review and classification telemetry (openai#49294)4773a132c3Add/mcp login <name>to the TUI (openai#49290)65c3f40befModel exec-server session attachment state as an enum (openai#49286)18194bfd35Restrict capability roots to captured turn environments (openai#49280)d515b2f85eAvoid a turn teardown race in the Guardian agent message test (openai#49277)4994306e9fEnable enterprise MCP sign-in and account-scoped grant cleanup (openai#49276)677b07eca0Isolate realtime conversation tests from Responses prewarm connections (openai#49275)0b1b78a4f1Preserve thread overrides and cloud policy validity during config reloads (openai#49269)68e1a421f5Support remote agent message boards in multi-agent sessions (openai#49267)5f7d5add2aRemove the remote agent message board client README (openai#49266)a7660cd154Trace turn phases and correlate accepted input with turns (openai#49262)f35a0fdc5dPreserve Windows sandbox runner launch errors (openai#49261)af0d68a236Restrict enterprise MCP auth and fail closed on config refresh (openai#49260)4f16bdc265Allow Guardian cached approvals with incomplete root context (openai#49257)0462dcc062Use executable fixture copying in the bundled bwrap test (openai#49246)c248f6d48bFix model provider lookup for TUI history (openai#49171)fbc169827eSuppress Windows console windows for background subprocesses (openai#49164)3226512d47Honor app-server provider defaults in the TUI (openai#49161)0d7b8117d3Support projectless TUI sessions with workspace defaults (openai#49160)c6c7c8d270Omit blockquote markers when copying quoted selections in the TUI (openai#49153)3a16c0b707Simplify cloud task base URL normalization (openai#49147)8d48f71922Hide reasoning summary settings in/statusfor server connections (openai#49145)ff3c82c8a9Preserve server reasoning summary and verbosity settings in the TUI (openai#49144)f53f5a6fedExpose original error details to turn lifecycle contributors (openai#49138)d7f7fa4106Remove the plus separator after Option symbols in TUI key hints (openai#49136)458f7046a5Treat explicit provider model catalogs as authoritative (openai#49135)a9118edae8Move content-filter guidance into the shared Responses retry handler (openai#49130)13f580ef09Deduplicate cloud and executor skill listings before budgeting (openai#49127)8bd5a136ffAdd recovery guidance to content-filter retries (openai#49119)6c49240565Correct provider authentication storage documentation (openai#49118)2e6cc4ed8dAttribute analytics requests to each thread's product SKU (openai#49117)69043f05c4Point remote compaction tests at the mock ChatGPT server (openai#49114)0196495288Add X11 primary selection and middle-click paste support (openai#49112)8f6517772bAdd history pagination to the agent command center (openai#49106)136391a23eResume unsent TUI input after reconnecting (openai#49105)7e049b3eaaBalance Windows Bazel test shards using duration estimates (openai#49103)c2d2f422e6Preserve SQLite vacuum modes and surface pool initialization errors (openai#49102)bfdb157178Reuse the HTTP connection pool for remote plugin requests (openai#49100)1260716393Cache parsed plugin manifests across plugin workflows (openai#49099)f5430515a8Resolve Windows sandbox PowerShell fallbacks on the exec server (openai#49098)9563713df2Notify lifecycle extensions of compaction usage limits (openai#49097)2ce64843beUpdateh2from 0.4.16 to 0.4.19 in Cargo and Bazel lockfiles (openai#49096)19892aee0cSimplify startup promotions to platform-specific desktop app tips (openai#49093)222e24b737Render follow-up directive labels in the TUI and copied responses (openai#49089)88e9a8329dTrack app-server running turns incrementally (openai#49084)46d2585ea4Skip remote Git discovery for Guardian diff paths (openai#49082)fe50d010e2Update and centralize TUI subscription labels (openai#49079)011f803f3cAvoid collecting unused Git metadata in skill analytics (openai#49076)3749d1eff7Preserve pending environments when spawning subagents (openai#49075)22d1d9336fPropagate Cargo package versions to Bazel Rust targets (openai#49074)15c08beee2Surface realtime voice catalog failures in the TUI (openai#49073)33a0f766a6Reclaim unused SQLite log database pages in the background (openai#49069)5a5a4aa796Keep configuration values out of Windows sandbox policy events (openai#49067)a1f05faddbUpdate Guardian handoff snapshot for separate agent messages (openai#49065)e07e58c842Update Guardian messaging snapshots for native agent messages (openai#49060)df3e439c02Fix Windows sandbox ACL repair for long runtime paths (openai#49058)6288753b46Add handoff-aware root context for Guardian reviews (openai#49057)4f63088cceUpdate Pro plan display names in the TUI (openai#49043)3074be908aCopy selections within inline code as plain text (openai#49041)368e5eae2fPreserve encrypted agent messages in Guardian reviews (openai#49038)64bf4e7e62Show the Plan mode cycling hint in the fullscreen status line (openai#49037)41ed72c32bAdd opt-in conversation history retrieval to Guardian reviews (openai#49036)46fdd5ef39Avoid SQLite stalls from connection setup and stderr span logging (openai#49032)d8fc718809Clarify ChatGPT sign-in success copy (openai#49031)f817e16905Use the numeric ioctl value in the macOS sandbox policy (openai#49028)4fd5745e84Use a compatible PowerShell fallback for the Windows MXC sandbox (openai#49019)69f7140559Isolate the memory startup metadata test from Git enrichment (openai#49000)c0d26949beAvoid full metadata rewrites for thread timestamp updates (openai#48983)06971ec9aaPrevent message-board notifications from reopening final answers (openai#48982)1b1835f751Isolate realtime auth fallback test from startup prewarm (openai#48973)