Codex++: Unlock Plugins, Delete Sessions, and Route API Traffic for Codex App
- Smars
- AI Coding , Desktop Tool
- 06 Jun, 2026
Codex++ is an external enhancement tool for Codex App, built in Rust with a Tauri + React management panel. It injects enhancement scripts via Chromium DevTools Protocol (CDP) to unlock features the native Codex doesn’t provide. No asar patching, no DLL injection, no modifications to the original install. 14.2k GitHub stars, 316 commits, and still iterating fast.
You logged into Codex with your API Key. The plugin menu is grayed out — it says you need to be logged into ChatGPT. You want to clean up old sessions you abandoned after a few failed attempts. There is no delete button — only archive. You’re running Codex through a proxy to save on API costs, but the native app doesn’t support custom providers at all. None of these are bugs. Codex was designed for exactly one path: official ChatGPT login. You’re just using it in a way Codex didn’t plan for.
What Codex can’t do, Codex++ can
Codex++ enhances Codex through external CDP injection. It launches Codex as a child process and injects JavaScript into its renderer process, manipulating the page DOM and Codex internal APIs directly. The original installation files stay untouched.
Core capabilities split into two categories:
Enhancement features
- Plugin menu unlocked, even in API Key mode — install and use plugins freely
- Force-install restricted plugins that the normal channel blocks
- Hover-to-delete on session list — actual deletion, not archiving
- Export sessions to Markdown with full conversation history
- Move sessions across projects
- Timeline view for session list
- Open files directly from Codex into Zed Remote Development
- Upstream worktree creation: fetch remote branches before creating worktrees, avoiding conflicts from stale local HEAD
Proxy injection
- Multiple proxy configurations, writes custom model_provider entries
- Switch back to official ChatGPT login anytime
- Provider sync: syncs local session metadata before launch when switching providers, keeping old sessions visible
Already logged into ChatGPT in Codex and only want to route model requests differently? Proxy injection only touches config.toml — your login state stays intact.
When you need it
- You log into Codex with an API Key, the plugin menu is locked, and you want to install MCP or third-party plugins
- You run Codex through a proxy API (to cut costs, use local infrastructure, or specific models) and need custom endpoints
- You have dozens of sessions building up in Codex and want to delete the dead ones — not just archive them
- Your team shares Codex access and needs to switch providers between environments
- You develop over remote SSH and want to open files from Codex directly into Zed
If none of the above applies — you only use official ChatGPT login, don’t care about plugins, and aren’t optimizing API spend — Codex++ is likely overhead.
How it works: three layers, zero patches
Codex++ chose CDP injection over patching asar or replacing DLLs. This lowers maintenance cost each time Codex App updates — as long as the DOM structure stays stable, the injection script keeps working.
Three-layer architecture:
- codex-plus-launcher: silent entry point that spawns Codex and injects scripts. Single instance on Windows, no console window, admin privileges; hidden Dock icon on macOS
- codex-plus-core (Rust crate): core logic — CDP bridge, config I/O, proxy injection, provider sync, update checks
- codex-plus-manager: Tauri + React control panel for toggling features, viewing logs, and diagnosing injection status
The injected JavaScript lives at assets/inject/renderer-inject.js. It operates on Codex’s React component tree and internal APIs, which means Codex frontend changes require corresponding script updates.
This is the key trade-off: CDP injection is cleaner than asar patching (zero install contamination), but more fragile (depends on frontend structure). The maintainer needs to track Codex App release cycles closely.
Quick start
Download the installer for your platform from GitHub Releases. macOS has separate Intel x64 and Apple Silicon arm64 builds.
Two entry points after installation:
- Codex++: silent launch, no management UI, directly starts Codex with enhancements
- Codex++ Management Tool: configuration panel for toggling features, proxy injection, and user scripts
Proxy injection setup:
- Open Codex++ Management Tool
- Confirm ChatGPT login state is detected
- Add a proxy config under “Proxy Injection” with your Base URL and Key
- Select the config and click “Apply Proxy Injection”
- Launch Codex++
Codex++ writes the following to ~/.codex/config.toml:
model_provider = "CodexPlusPlus"
[model_providers.CodexPlusPlus]
name = "CodexPlusPlus"
wire_api = "responses"
requires_openai_auth = true
base_url = "https://example.com/v1"
experimental_bearer_token = "sk-..."
To switch back to official, click “Clear API Mode” in the management tool.
macOS users seeing “damaged, can’t be opened” (unsigned DMGs get blocked by Gatekeeper), run these in terminal:
sudo xattr -rd com.apple.quarantine /Applications/Codex++\ 管理工具.app
sudo xattr -rd com.apple.quarantine /Applications/Codex++.app
Common pitfalls
- Codex++ menu not showing: make sure you launched from the Codex++ entry point, not the original Codex. Check the “Diagnostics” page in the management tool for injection status
- Plugin shows “backend unreachable”: test
Invoke-RestMethod -Uri http://127.0.0.1:57321/backend/status -Method Postin terminal first. If the API responds but the plugin times out, it’s usually a CDP bridge or script cache issue — restart Codex++ - Features break after Codex update: Codex’s page structure changed and the injection script’s selectors/API calls no longer match. Check GitHub Issues for a new release, or wait for the maintainer to update the injection script
- Recommendation content loading slowly won’t affect the backend: the remote ad list is in ads.json with request timestamps to bypass CDN caching
Worth it or skip it
Codex++ addresses the “non-standard” use cases OpenAI didn’t cover: API Key login, proxy routing, session management, remote dev integration. If you’re in these scenarios, it’s currently the most complete external enhancement option available.
If you only use Codex occasionally, stick to the official environment, and don’t touch plugins or proxies — the native Codex is enough. A tool’s value is measured by the problems it solves for you, not by its feature count.
Codex++ won’t fix Codex’s hallucinations, won’t make the model smarter, and doesn’t replace Claude Code or Copilot. It just gets Codex running the way you need it to.