{"_id":"@dhrupo/codex-claude-bridge","_rev":"2-aa3e87f62ff5201a4377810db0911068","name":"@dhrupo/codex-claude-bridge","dist-tags":{"latest":"0.1.1"},"versions":{"0.1.0":{"name":"@dhrupo/codex-claude-bridge","version":"0.1.0","keywords":["codex","claude","mcp","anthropic","openai"],"license":"Apache-2.0","_id":"@dhrupo/codex-claude-bridge@0.1.0","maintainers":[{"name":"dhrupo","email":"dhrupo@gmail.com"}],"bin":{"codex-claude":"bin/codex-claude.mjs","codex-claude-mcp":"bin/codex-claude-mcp.mjs"},"dist":{"shasum":"587c85d8480719f4efe16aa7482fba4a9e241e73","tarball":"https://registry.npmjs.org/@dhrupo/codex-claude-bridge/-/codex-claude-bridge-0.1.0.tgz","fileCount":15,"integrity":"sha512-hhglV+nyYLBk4EX1JZ+6RyQuWJmOd81w8a3s6UjYVFFVEOI9USWhR9imGbXPlckSGuta4rZnRA86KwZ4AeLUGw==","signatures":[{"sig":"MEUCIDxW0liLTDZx1jyiQkGXbUTUXXmqU6KHvCiFs7pfHA44AiEAznjcOfGJUpsqjj+9vyKj02/ILG9wB0HCgWx8vVs5duM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22607},"type":"module","engines":{"node":">=18.18.0"},"gitHead":"32a9fc492e75341b27a5d40734e82d7ea57d9eef","scripts":{"test":"node --test tests/*.test.mjs","check":"node --test tests/*.test.mjs","start":"node ./bin/codex-claude-mcp.mjs"},"_npmUser":{"name":"dhrupo","email":"dhrupo@gmail.com"},"_npmVersion":"10.1.0","description":"Expose Claude Code as MCP tools for Codex.","directories":{},"_nodeVersion":"20.8.0","dependencies":{"zod":"^4.1.12","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/codex-claude-bridge_0.1.0_1776014010704_0.9288579625920836","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@dhrupo/codex-claude-bridge","version":"0.1.1","description":"Expose Claude Code as MCP tools for Codex.","type":"module","bin":{"codex-claude":"bin/codex-claude.mjs","codex-claude-mcp":"bin/codex-claude-mcp.mjs"},"engines":{"node":">=18.18.0"},"scripts":{"test":"node --test tests/*.test.mjs","start":"node ./bin/codex-claude-mcp.mjs","check":"node --test tests/*.test.mjs"},"keywords":["codex","claude","mcp","anthropic","openai"],"license":"Apache-2.0","dependencies":{"@modelcontextprotocol/sdk":"^1.29.0","zod":"^4.1.12"},"_id":"@dhrupo/codex-claude-bridge@0.1.1","gitHead":"d0eeceb9d6334607192cf46fadf7fc199810d479","_nodeVersion":"20.8.0","_npmVersion":"10.1.0","dist":{"integrity":"sha512-tzNXD8ELWLhm0tVdgw49L+Mld3aO2p/jwEtUHhAm9zG1zsn/XJw7b1XFR+X5OORwUppHni5ZgMXJE1fWKMOrlQ==","shasum":"95f10d9d8fc88b5bd99e26fb5a220b17031f64a8","tarball":"https://registry.npmjs.org/@dhrupo/codex-claude-bridge/-/codex-claude-bridge-0.1.1.tgz","fileCount":13,"unpackedSize":32212,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIErocKVtSzofe2kMy90m8kx1Nk3hKmosPDPQPg79gRu/AiB1LzX4qx8gE2XtPB1o66DTHWliNtJQHSYmzmoLGxytWQ=="}]},"_npmUser":{"name":"dhrupo","email":"dhrupo@gmail.com"},"directories":{},"maintainers":[{"name":"dhrupo","email":"dhrupo@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/codex-claude-bridge_0.1.1_1776014927055_0.7563615755217827"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-12T17:13:30.600Z","modified":"2026-04-12T17:28:47.310Z","0.1.0":"2026-04-12T17:13:30.862Z","0.1.1":"2026-04-12T17:28:47.205Z"},"license":"Apache-2.0","keywords":["codex","claude","mcp","anthropic","openai"],"description":"Expose Claude Code as MCP tools for Codex.","maintainers":[{"name":"dhrupo","email":"dhrupo@gmail.com"}],"readme":"[![npm version](https://img.shields.io/npm/v/%40dhrupo%2Fcodex-claude-bridge)](https://www.npmjs.com/package/@dhrupo/codex-claude-bridge)\n[![CI](https://github.com/dhrupo/codex-claude-bridge/actions/workflows/ci.yml/badge.svg)](https://github.com/dhrupo/codex-claude-bridge/actions/workflows/ci.yml)\n[![npm publish](https://github.com/dhrupo/codex-claude-bridge/actions/workflows/publish.yml/badge.svg)](https://github.com/dhrupo/codex-claude-bridge/actions/workflows/publish.yml)\n\n# codex-claude-bridge\n\nUse Claude Code from inside Codex.\n\n`@dhrupo/codex-claude-bridge` exposes Claude Code as MCP tools that Codex can call, and also ships a `codex-claude` helper command for common workflows.\n\n## What You Get\n\n- `codex-claude-mcp`: an MCP server that wraps the local `claude` CLI\n- `codex-claude`: a helper command that asks Codex to call Claude tools\n- Three MCP tools:\n  - `claude_ask`\n  - `claude_review`\n  - `claude_delegate`\n- Extra helper workflows:\n  - `codex-claude status`\n  - `codex-claude doctor`\n  - `codex-claude compare`\n\n## Requirements\n\n- Node.js `>=18.18.0`\n- `codex` installed and authenticated\n- `claude` installed and authenticated\n\nQuick checks:\n\n```bash\ncodex --version\nclaude --version\nclaude auth status\n```\n\n## Install\n\nInstall the package:\n\n```bash\nnpm install -g @dhrupo/codex-claude-bridge\n```\n\nRegister the MCP bridge in Codex:\n\n```bash\ncodex-claude install\n```\n\nThat creates a global Codex MCP server named `claude-bridge`.\n\nManual alternatives:\n\n```bash\ncodex mcp add claude-bridge -- codex-claude-mcp\ncodex mcp add claude-bridge -- npx -y @dhrupo/codex-claude-bridge\n```\n\nVerify:\n\n```bash\ncodex mcp list\ncodex-claude status\ncodex-claude doctor\n```\n\n## Usage\n\n### Helper Commands\n\nAsk Claude through Codex:\n\n```bash\ncodex-claude ask \"Summarize the current repository.\"\n```\n\nRun a review:\n\n```bash\ncodex-claude review\ncodex-claude review \"Review the current workspace for bugs and missing tests.\"\n```\n\nRun a review and compare Claude vs Codex side by side:\n\n```bash\ncodex-claude review --compare \"Review the current workspace for bugs and missing tests.\"\n```\n\nDelegate an implementation task:\n\n```bash\ncodex-claude delegate \"Fix the failing tests with the smallest safe patch.\"\n```\n\nCompare Claude and Codex on the same prompt in one readable report:\n\n```bash\ncodex-claude compare \"Review this architecture and suggest the safest refactor.\"\n```\n\nUse separate model choices when comparing:\n\n```bash\ncodex-claude compare \\\n  --codex-model gpt-5.4 \\\n  --claude-model sonnet \\\n  \"Summarize the tradeoffs in this module.\"\n```\n\nWrite reports to disk:\n\n```bash\ncodex-claude compare --out compare.md \"Review this change and compare results.\"\ncodex-claude status --json --out status.json\n```\n\nIf you are outside a git repository, add:\n\n```bash\n--skip-git-repo-check\n```\n\nExample:\n\n```bash\ncodex-claude ask --cwd /path/to/project --skip-git-repo-check \"Reply with exactly OK.\"\n```\n\nYou can also pass through Claude-focused options when using `ask`, `review`, or `delegate`:\n\n```bash\ncodex-claude review \\\n  --model sonnet \\\n  --permission-mode dontAsk \\\n  --append-system-prompt \"Focus on reliability and regression risk.\"\n```\n\n### Direct Codex MCP Usage\n\nOnce installed, Codex can call these tools directly:\n\n- `claude_ask`: read-only prompting\n- `claude_review`: stricter review pass\n- `claude_delegate`: writable implementation/delegation flow\n\nExample:\n\n```bash\ncodex exec --cd /path/to/project --skip-git-repo-check \\\n  'Use the MCP tool `claude_ask` exactly once. Return only the tool result. Tool arguments: {\"prompt\":\"Summarize this repo.\",\"cwd\":\"/path/to/project\",\"outputFormat\":\"text\"}'\n```\n\n## How It Works\n\n- Codex discovers the `claude-bridge` MCP server\n- Codex calls one of the bridge tools\n- The bridge runs the local `claude --print` command\n- Claude output is returned through MCP back to Codex\n\nThis is an MCP bridge, not a native Codex slash-command plugin.\n\n## Status And Comparison\n\n`codex-claude status` checks:\n\n- whether `codex` is installed\n- whether `claude` is installed\n- whether Claude auth is available\n- whether the `claude-bridge` MCP server is registered in Codex\n\n`codex-claude doctor` adds a simple pass/fail diagnostic summary and suggested fixes.\n\n`codex-claude compare` runs both tools on the same prompt:\n\n- Claude runs directly through `claude --print`\n- Codex runs directly through `codex exec`\n- the command returns a single report with:\n  - Claude output\n  - Codex output\n  - a line-by-line diff block for quick human review\n\n`--json` returns machine-readable report data for `status`, `doctor`, and `compare`.\n\n`--out <file>` writes the rendered or JSON report to disk and also prints it to stdout.\n\n## Development\n\nInstall dependencies:\n\n```bash\nnpm install\n```\n\nRun tests:\n\n```bash\nnpm test\n```\n\nStart the MCP server directly:\n\n```bash\nnpm start\n```\n\n## Publishing\n\nThis package is published on npm as:\n\n```bash\n@dhrupo/codex-claude-bridge\n```\n\nThe repo includes a GitHub Actions publish workflow. To publish a new version:\n\n1. Bump `package.json`\n2. Commit and push to `main`\n3. Create and push a matching tag like `v0.1.1`\n\n## Troubleshooting\n\nIf the bridge works but Claude returns an auth or access error, test Claude directly first:\n\n```bash\nclaude -p --output-format text \"Reply with exactly OK.\"\n```\n\nIf that fails, fix Claude access before testing through Codex.\n\nIf Codex is outside a git repo, use `--skip-git-repo-check`.\n\nIf needed, remove and re-add the MCP server:\n\n```bash\ncodex mcp remove claude-bridge\ncodex mcp add claude-bridge -- codex-claude-mcp\n```\n","readmeFilename":"README.md"}