Codex Web GPT 2.1.1
Thank you for the extraordinary response to this project. v2.1.1 makes ChatGPT Web feel substantially more native inside Codex: every selected ChatGPT model now uses the original Codex task lifecycle, streaming UI, and compaction, while tool-capable modes also use Codex approvals and the local harness instead of sitting beside them as a separate chat tool.
ChatGPT Web models and limits
The browser transport and the underlying model window are different limits. These are the practical account-specific boundaries used by v2.1.1:
| Account / mode | Practical model context | One-message browser boundary |
|---|---|---|
| Free & Go — Luna | 28,000-token conservative browser request budget | Measured inputs were accepted at 25,400 and 28,547 estimated tokens and rejected at 32,283 |
| Plus — Instant | 41,000 tokens | 211,256 composer characters |
| Plus — Medium / High | 90,000 tokens | 1,048,572 composer characters |
| Pro — Instant | 137,000 tokens | 103,000 message tokens / 545,000 composer characters |
| Pro — Medium / High / Extra High | 256,000 tokens | 103,000 message tokens / 1,045,000 composer characters |
| Pro — Pro | 272,000 tokens | 104,000 message tokens / 1,635,000 composer characters |
- Free & Go: Luna is currently unlimited in this integration, subject to OpenAI's safeguards and future product changes. Its underlying model advertises a 1,050,000-token window, while one browser request uses a conservative 28,000-token budget derived from measured accepted and rejected inputs. v2.1.1 uses adaptive summarization through a private rolling checkpoint. Luna is extremely fast, but the checkpoint is necessary to keep long Codex tasks useful within that browser request budget.
- Plus: Instant, Medium, and High are available. OpenAI does not expose a stable account quota that this project can report reliably.
- Pro: Instant, Medium, High, Extra High, and Pro are available. OpenAI does not expose stable per-mode account quotas that this project can report reliably.
I am personally disappointed that OpenAI reduced the usable limits in ChatGPT Web. The browser composer can become the bottleneck before the underlying model window is full. The exact limitation, failed file-attachment experiment, and requirements for a real solution are documented in #76. If you want to help solve it cleanly, please work on that issue and open a pull request. I will actively review contributions and will likely merge a reliable implementation that preserves the existing correctness guarantees.
Direct Codex harness bridge
v2.1.1 removes the model-visible bind handshake. Six public MCP actions now accept the trusted Codex turn_token directly, while binding leases stay private inside the runtime. This removes an extra tool round trip and the stale model-copied binding handle without weakening the outer Codex sandbox, approvals, or evidence chain.
codex_execcodex_write_stdincodex_apply_patchcodex_view_imagecodex_tool_inventorycodex_tool_call
The new architecture does not add another planner, semantic router, or fallback model. ChatGPT remains the selected model; deterministic code only owns transport, permissions, leases, validation, and evidence.
Required connector migration
This release changes the public MCP contract. Existing connectors cache that contract by identity, so an old Codex Native connector must not be renamed or refreshed in place.
- Upgrade the launcher/runtime to v2.1.1.
- In ChatGPT Developer Mode, create a new Tunnel connector named exactly Codex Native2, using the same tunnel and Authentication: None.
- Under Permissions, select Allow all actions. Allow low-risk actions blocks commands and patches in ChatGPT before they reach Codex. The outer Codex harness still enforces its own sandbox and approvals.
- Run Verify runtime. It selects Codex Native2 exactly and fails with an explicit migration error when only the legacy connector exists.
Highlights
- Current ChatGPT reasoning slider support across Instant, Medium, High, Extra High, and Pro.
- Luna-only account detection and adaptive rolling checkpoints for Free and Go accounts.
- Bounded, byte-verified large-prompt insertion with explicit account and browser limits.
- Dedicated compaction turns that preserve the active tool loop and resume the original Codex turn.
- Browser-session retirement on disconnects and retryable upstream failures.
- Authenticated turn leases, cancellation, tunnel readiness, diagnostics, and launcher lifecycle checks.
- AVX2-independent Bun packaging for Windows CPUs that cannot run the optimized binary.
Issues addressed
Fixed in the original v2.1.1 build: #52, #59, #60, #68, #72, #73, and #74. The prompt-streaming and compaction changes are also expected to resolve #57 and #63; please reopen those reports with v2.1.1 diagnostics if either symptom persists.
The refreshed v2.1.1 packages additionally address #66 and #70 with symmetric browser
zoom controls and a verified system Chrome/Chromium sign-in handoff for passkeys and identity
verification. The Luna-only account route already covers ChatGPT Go accounts reported in #77;
file attachment is intentionally not used as an unverified context fallback.
v2.1.1 also fixes #80 and #81. Explicit launcher Install/Reinstall now adopts a changed or deleted Codex route as a new reversible baseline while unattended updates remain fail-closed. First-time launcher setup can also persist the Chrome/Chromium login executable alongside its owned browser descriptor.
Verification
- Local release verification: 290 runtime tests and 175 launcher tests, both typechecks, dependency
audit, renderer build, relocatable runtime smoke, native macOS ARM64 package, and packaged-app smoke. - Green pull-request and merge-commit CI on macOS, Ubuntu, and Windows, including native packaging
and packaged-app smoke on every platform. - Green release builds for macOS ARM64, macOS Intel, Ubuntu, and Windows, including both macOS
signature checks and the AVX2-independent Windows Bun runtime. - All 20 published assets verified: every one of the 19 payload assets matches both
checksums.txtand GitHub's SHA-256 digest. The published demo is byte-identical to the repository
GIF (3b8cda5caaac1e971b52e32ec69ea8d8e56e3bf1cba40a08c9a273eff2256012).
Why this project exists
I believe useful AI should be available to as many people as possible. If you already pay for ChatGPT and use the services included in your subscription within the applicable rules, you should be able to use that access in the workflow that helps you most. This project makes that workflow as convenient and native as possible.
Contributions, issues, and forks are welcome. If this project helps you, I would really appreciate a star.
Full changelog: v2.0.0...v2.1.1
