Skip to main content
Glama

claude-sidekicks

Let Claude Code, Codex and Antigravity call each other, so you never copy and paste between them. Everything runs on the subscriptions you already have (Claude, ChatGPT, Google). No API keys, no dependencies, just Node.

From

To

How

Claude

Codex

bin/ask-codex.mjs (Claude runs it from its shell)

Claude

Antigravity

bin/ask-agy.mjs

Claude

Codex image generation

bin/codex-image.mjs

Claude

Antigravity image generation

bin/agy-image.mjs

Codex

Claude

MCP server server/claude-mcp.mjs: tools ask_claude, ask_claude_write

Antigravity

Claude

the same MCP server, registered with agy mcp add

Everything is read-only by default. Each agent only changes files when you ask for that explicitly.

Not affiliated with Anthropic, OpenAI or Google. MIT licensed.

Requirements

  • Node.js 18 or newer

  • The claude CLI, installed and signed in

  • At least one of: the codex CLI, or the Antigravity CLI agy (installed and signed in)

Related MCP server: Claude Code Manager WAN

Install

Clone the repo somewhere permanent, then run the installer from inside it:

git clone https://github.com/tanviralamtusar/claude-sidekicks.git
cd claude-sidekicks
bash install.sh          # macOS / Linux
.\install.ps1            # Windows PowerShell

The installer:

  1. Checks that claude, codex and agy are installed. It skips whichever of Codex and Antigravity you don't have.

  2. Adds a section to ~/.claude/CLAUDE.md that teaches Claude how to use Codex and Antigravity.

  3. Registers the Claude MCP server with Codex (~/.codex/config.toml). It also offers to register it with Antigravity (agy mcp add).

When it's done, restart Codex and Antigravity. Keep the folder where it is, because the configs point at it.

The installer is safe to run again: it updates its own sections in place. It backs up every file before changing it (*.bak-<time>). It also replaces leftovers from older Codex-relay setups, but leaves anything it didn't create alone.

Command

What it does

bash install.sh --yes

Install without prompts

bash install.sh --uninstall

Remove everything it added

Let an AI do the setup

Paste the prompt below into Claude Code, Codex or Antigravity. The agent needs permission to run shell commands and to write to your home folder. In Codex, that means not running it in the read-only sandbox.

Set up claude-sidekicks (https://github.com/tanviralamtusar/claude-sidekicks) on this
machine. It lets Claude Code, Codex and Antigravity call each other. Do these steps in
order, and stop and tell me if any step fails:

1. Check the prerequisites with `node --version` (it must be 18 or newer), then
   `claude --version`, `codex --version` and `agy --version`. Claude is required. At least
   one of codex or agy is required. Tell me which ones are installed.
2. Clone the repo into a permanent folder in my home directory:
   `git clone https://github.com/tanviralamtusar/claude-sidekicks.git ~/claude-sidekicks`.
   If that folder already exists, run `git pull` inside it instead.
3. From inside that folder, run the installer without prompts:
   - macOS/Linux: `bash install.sh --yes`
   - Windows PowerShell: `.\install.ps1 --yes`
     (if scripts are blocked: `powershell -ExecutionPolicy Bypass -File install.ps1 --yes`)
4. Show me the installer output and list each file it changed. It backs up changed files as
   *.bak-<time> next to them.
5. Run `npm test` in the folder and report the pass/fail counts.
6. Smoke-test each installed agent from that folder, using a heredoc as stdin:
   - Codex: `node bin/ask-codex.mjs`, sending the prompt "Reply with only the name
     field from package.json."
   - Antigravity: `node bin/ask-agy.mjs`, sending the same prompt.
   Both should answer `claude-sidekicks`.
7. Remind me to restart Codex and Antigravity so they load the new config, and not to
   move the folder, because the configs point at it.

Don't edit ~/.claude/CLAUDE.md, ~/.codex/config.toml or the Antigravity MCP list by hand.
The installer manages them.

Use it

In Claude:

"Have Codex review this diff." "Ask Antigravity for a second opinion on src/auth.ts." "Get Codex to generate a hero image into public/hero.png." "Let Antigravity fix the failing test." (Claude adds --write)

In Codex or Antigravity:

"Ask Claude to review app.py." "Have Claude refactor this file." (uses ask_claude_write, which always asks for approval)

You can also run the wrappers yourself:

node bin/ask-codex.mjs --help
node bin/ask-agy.mjs --effort high <<'EOF'
Review src/ for race conditions. Reply with a short list.
EOF
node bin/codex-image.mjs "a flat blue circle" out.png
node bin/agy-image.mjs "a flat blue circle" out.png   # prints out.jpg if agy made a JPEG

Option

Applies to

Meaning

--write

ask-codex, ask-agy

Allow edits in the real folder (default: read-only)

--cd DIR

ask-codex, ask-agy

Folder to work in (default: current folder)

--model NAME

all

Model to use (default: that CLI's default)

--effort LEVEL

all

Codex: minimal to xhigh. agy: low, medium, high, xhigh, max

--timeout SEC

all

Hard limit, default 540 s (under Claude's 10-minute tool limit)

How it stays safe

  • Codex, read-only: runs in --sandbox read-only. With --write it runs in workspace-write, which limits edits to the working folder.

  • Antigravity, read-only: agy has no read-only mode that works headless, so the wrapper copies the folder to a temp directory and runs agy there. The copy leaves out node_modules, virtualenvs, caches and symlinks. Anything agy changes is discarded with the copy.

  • ask_claude: runs claude -p --safe-mode, so none of your hooks, plugins, MCP servers, CLAUDE.md or skills load. On top of that, the shell, file editing and web tools are switched off.

  • ask_claude_write: may edit files but can't run commands. It loads only your user-level settings, so a cloned repo can't slip its own hooks or MCP servers in. Only ask_claude is auto-approved in Codex. Approving the write tool would let any text Codex reads (a web page, a README) trigger edits without you seeing them.

  • Folder: Claude runs in the client's workspace folder (from MCP roots, or the folder the server started in). The model calling the tool can't change it.

  • Finding the CLIs: they are looked up on PATH, skipping relative entries, so a repo can't plant a fake claude, codex or agy. npm's Windows .cmd shims are run through Node directly, never through a shell.

  • Prompts: always passed over stdin, so they stay out of process lists and Windows command-line limits.

  • Limits on every call: a timeout that kills the whole process tree, an output cap, at most 4 parallel Claude calls, and support for MCP cancellation.

  • Recursion guard: the wrappers and the server refuse to go more than 2 agent hops deep (for example Claude, then Codex, then Claude). The hop count travels in the SIDEKICKS_DEPTH environment variable. A host that clears environment variables for MCP servers can bypass this, so it is best effort.

Known limits

  • Each call starts fresh. The other agent has no memory of your conversation, so prompts must be self-contained.

  • Rate limits are shared. Codex CLI calls draw on the same ChatGPT limits as the app, and agy calls on your Google quota.

  • Images use Codex or Antigravity. They come from each CLI's built-in image tool. Video isn't supported. agy saves images in its conversation folder (~/.gemini/antigravity-cli/brain/<id>/), and agy-image.mjs copies them from there itself, because headless agy can't run the shell command a copy would need. In print mode agy sometimes ends its turn before the image is done; the wrapper then resumes the same conversation (up to 3 rounds) until the image shows up.

  • Pinned Codex models can break codex exec. If your Codex config pins a model = "..." that has since been retired, every codex exec run fails with "model rejected". Delete that line and Codex uses its current default. The installer warns you about this.

Development

npm test     # protocol tests for the MCP server (with a fake claude) and installer tests

The tests need no network and no API calls. The installer tests run against a throwaway home folder.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Wraps Claude Code as tools for MCP clients, enabling autonomous coding tasks via a 4-tool lifecycle with session management, async polling, and permission controls.
    4
    40 npm
    20
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables ISLI agents and MCP clients to dispatch natural-language coding and terminal tasks to a locally-installed Claude Code CLI, supporting both one-shot execution and persistent sessions with workspace and security controls.
    -
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables Claude Code to delegate coding implementation and testing to a local pi agent via MCP tools, including dispatching task books, monitoring status, steering or aborting runs mid-execution, and retrieving results and transcripts.
    15 npm
    4
    MIT