Codex Web GPT 2.1.8
Thank you for the extraordinary response to this project. v2.1.8 is a focused compatibility verification release on top of v2.1.7.
Fixes awaiting reporter confirmation
- Long prompts and automatic compaction — #99, #103, and #105. After every exact intermediate prompt prefix, the browser writer now restores and verifies the live Lexical caret at the document end before the next native edit. Final text equality, cancellation gates, and fail-closed diagnostics remain strict. The writer also avoids splitting UTF-16 surrogate pairs at a chunk boundary.
- Windows ChatGPT sign-in transfer — #91 and #108. Login capture now requires the Temporary Chat URL and exactly one visible composer in one atomic observation of the same browser document. A pre-authentication page or a navigation race can no longer authorize state transfer. Existing composer selectors and the ChatGPT/OpenAI import allowlist are unchanged.
- MCP connector verification — #107. The launcher now recognizes a real Chromium reload cycle that starts and stops loading without emitting
did-finish-load. A timeout still fails, and the authenticated composer plus the connector helper remain mandatory.
These paths pass the full repository verification suite, but the reported failures depend on Windows, account, and Chromium states that are not reproducible on the maintainer machine. If you reported one of the linked issues, please retry the exact scenario with v2.1.8 and reply with the result.
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.8:
| Account / mode | Practical model context | One-message browser boundary |
|---|---|---|
| Free & Go — Luna | 28,000-token conservative browser request budget | Accepted at 25,400 and 28,547 estimated tokens; 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 |
Luna uses adaptive summarization through a private rolling checkpoint to keep long tasks useful within its measured browser request budget. OpenAI does not expose stable Plus or Pro account quotas that this project can report reliably.
I am personally disappointed that OpenAI reduced the usable limits in ChatGPT Web. The exact browser-composer limitation and the requirements for a reliable solution are tracked in #76. Contributions are welcome.
Direct Codex harness bridge
Six public MCP actions accept the trusted Codex turn_token directly while binding leases remain private inside the runtime: codex_exec, codex_write_stdin, codex_apply_patch, codex_view_image, codex_tool_inventory, and codex_tool_call.
The bridge adds no planner, semantic router, or fallback model. ChatGPT remains the selected model; deterministic code owns only transport, permissions, leases, validation, and evidence.
Connector setup
If you already created Codex Native2 for any v2.1.x release, keep it. v2.1.8 does not require another connector migration.
- Upgrade the launcher/runtime to v2.1.8.
- If you only have the legacy connector, create a new Tunnel connector named exactly Codex Native2 with Authentication: None.
- Under Permissions, select Allow all actions. Allow low-risk actions blocks commands and patches before they reach Codex; the outer Codex harness still enforces its own sandbox and approvals.
- Run Verify runtime.
Verification
- 311 repository runtime tests and 178 launcher tests, both typechecks, dependency audit, renderer build, relocatable runtime smoke, native macOS ARM64 package, and packaged-app smoke.
- Green native package and packaged-app smoke jobs for macOS ARM64, macOS Intel, Ubuntu, and Windows.
- Every published payload is covered by
checksums.txt.
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.1.7...v2.1.8
