{"kind":"post","path":"/blog/codex-proxy","post":{"metadata":{"title":"Codex Proxy Developer Tool","summary":"A Rust desktop tool that translates Anthropic Messages API requests into local ChatGPT Codex calls, with account, model, log, and setup controls.","publishedAt":"2026-05-24","projectDate":"2026-05-23","ascent":"#1488ff","github":"surajmandalcell/codex-proxy","tags":["developer-tools","rust","desktop","cli","openai","dashboard"],"weight":60},"slug":"codex-proxy","content":"\u003c!-- cover: /images/blog/codex-proxy/cover.png --\u003e\n\nCodex Proxy is a **local Rust compatibility bridge**. It lets a client that uses the Anthropic Messages API send work through one configured ChatGPT Codex account.\n\n## Visual Proof\n\n\u003cdiv className=\"bp-evidence-grid\" data-preview-gallery=\"true\"\u003e\n\u003cimg src=\"/images/blog/codex-proxy/dashboard-screenshot.png\" alt=\"Codex Proxy dashboard with account health, quick tests, and Claude Code configuration\" /\u003e\n\u003cimg src=\"/images/blog/codex-proxy/settings-screenshot.png\" alt=\"Codex Proxy settings screen with server info and Claude model mapping controls\" /\u003e\n\u003cimg src=\"/images/blog/codex-proxy/account-management.png\" alt=\"Codex Proxy account management screen with account status and quota controls\" /\u003e\n\u003c/div\u003e\n\n## Request Flow\n\n1. A client sends an Anthropic-format request to the loopback server.\n2. The proxy maps messages, model names, tools, and stream events.\n3. It sends the request through the configured ChatGPT session.\n4. It converts the result to Anthropic-style server-sent events.\n\nThe server binds to `127.0.0.1` by default. The desktop app and proxy share process state, so account and log controls do not need a second control API.\n\n## Desktop Controls\n\n| Surface | Work |\n|---|---|\n| Account | Connect, import, refresh, replace, or remove one local account. |\n| Client setup | Write or remove the proxy values in Claude Code settings. |\n| Models | Map Claude aliases to current OpenAI model IDs. |\n| Logs | Read live request and response events. |\n| Tests | Send a small request from the app. |\n\n## Install And Run\n\nRust 1.89 or later is required.\n\n```bash\ngit clone https://github.com/surajmandalcell/codex-proxy\ncd codex-proxy\ncargo install --path .\ncodex-proxy\n```\n\nUse `codex-proxy serve` on a computer with no display.\n\n## Local API\n\n- `GET /health` returns server state.\n- `GET /account` returns the configured account state.\n- `POST /v1/messages` accepts Anthropic-compatible requests.\n\nThe default route uses the configured account only. Adding or importing an account replaces the current local account."}}