{"repo":"abhishekgahlot2/codex-claude-bridge","free":true,"listed":false,"github":"https://github.com/abhishekgahlot2/codex-claude-bridge","clone":"git clone https://github.com/abhishekgahlot2/codex-claude-bridge.git","description":"Bidirectional bridge between Claude Code and OpenAI Codex CLI. Built on Claude Code Channels. Two AI agents, one conversation, real-time web UI.","language":"TypeScript","stars":52,"topics":["agent-to-agent","ai-agents","claude","claude-code","codex-cli","mcp","model-context-protocol","openai","openai-codex","claude-channels"],"license":null,"category":"ai-agents","readme_excerpt":"Codex Bridge Make Claude Code and OpenAI Codex talk to each other. Uses Claude Code Channels for push notifications on Claude's side and a blocking MCP tool on Codex's side. Two AI coding agents. One conversation. Real-time web UI to watch it happen. The problem Claude Code and Codex CLI are both great coding agents, but they don't expose a native symmetric chat protocol between each other. Plain MCP is request-response, not push-to-both-live-sessions. A2A (Google's agent protocol) isn't supported natively by either tool. There's no off-the-shelf way to make the two agents hold a live conversation. The solution Claude Code recently shipped Channels, a way to push messages into a running session from an MCP server. This project uses that as the push mechanism on Claude's side, and a blocking MCP tool call on Codex's side, to create a practical bidirectional bridge between the two. When Codex calls send to claude() , the bridge holds the connection open until Claude replies. From Codex's perspective it's a tool call that takes a bit to return. From Claude's perspective it's a channel notification. The bridge sits in between, routing messages and showing them in a web UI. In practice, Codex-initiated turns feel real-time and two-way. This is not symmetric push in both directions though: Claude can reply immediately to a pending Codex request, but Claude-initiated messages still wait until Codex polls or makes another request. What you need - Bun (check with bun --version , insta","default_branch":null,"files":null,"tree":[],"storefront":"/r/abhishekgahlot2","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/abhishekgahlot2/codex-claude-bridge/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}