Skip to main content

Bring Codex and Gemini CLI powered teammates into Claude Code with multi-backend routing.

Project description

claude-anyteam

Native Claude Code teammates, any LLM.

Codex and Gemini today. Kimi, GLM, DeepSeek next — on the same team-native architecture.

License Python Node Backends Tests

Quickstart · Architecture · Roadmap

claude-anyteam spawning a mixed Codex + Claude team

What it is

Claude Code's Agent Teams feature is built for multi-agent collaboration — but every teammate is a Claude instance. claude-anyteam makes it possible for any external agent harness to join the same team, with the same native UX, without wrapping it inside a Claude LLM.

Your Claude Code session orchestrates. External agents execute. No chat-wrapper overhead. No "Claude pretending to be Codex." No routers. Real agent CLIs, real teammates.

claude-anyteam architecture

Quickstart

npx --yes claude-anyteam

That's the entire install. The installer:

  • Detects python3 and installs uv if missing (non-interactive, no shell profile edits)
  • Installs the claude-anyteam Python tool via uv tool install
  • Runs claude-anyteam install (verifies tmux/psmux, probes for the OpenAI Codex CLI and Gemini CLI, warns if either is missing or Codex is below 0.120, writes ~/.claude/settings.json + ~/.claude.json, records install-state for symmetric uninstall)

Restart Claude Code, enable Agent Teams mode, and create a teammate named codex-<anything> or gemini-<anything>:

codex-alice      → routed to claude-anyteam + Codex
codex-reviewer   → routed to claude-anyteam + Codex
gemini-alice     → routed to claude-anyteam + Gemini CLI
gemini-reviewer  → routed to claude-anyteam + Gemini CLI
alice            → native Claude (unchanged)

Codex- and Gemini-prefixed names appear in your TUI presence line exactly like native teammates. Single-terminal mode or tmux — both work.

Why it feels native

Real teammate protocol

Not a chat wrapper. The adapter speaks Claude Code's agent-team protocol directly: mailbox I/O, atomic task claims, idle notifications, shutdown lifecycle. A Codex teammate is functionally indistinguishable from a native Claude teammate.

Mid-task reactivity

When a peer messages a working teammate, the adapter injects the message mid-turn via Codex's turn/steer App Server call. Codex reshapes the in-flight turn instead of discarding it. v7.1.

Cross-task memory

Each new task forks from the previous task's Codex thread via thread/fork. The teammate carries its own conversational context forward across the team's task list. v7.3.

Battle-tested parity

348 passing tests. Ten parity bugs caught by a live 4-teammate hunt (mixed Claude + Codex) and fixed. Zero accepted limitations on the protocol layer.

Supported backends

Backend Teammate prefix Status Notes
Codex via OpenAI Codex CLI 0.120+ codex-* ✅ Supported today App Server mode for mid-task steer and thread/fork; fresh-exec fallback with codex exec resume.
Gemini via Gemini CLI gemini-* ✅ Supported today Default headless gemini --prompt ... --output-format stream-json, plus ACP via gemini-anyteam --backend acp; ACP supports `--trust default

Coming next

Coming next
⏳ Kimi adapter
⏳ GLM adapter
⏳ DeepSeek adapter
⏳ Generic CLI adapter template

Codex and Gemini are shipping. Everything in "coming next" is on the same architectural surface — each new model is a new adapter binary + one line in the spawn shim's routing table. See docs/roadmap.md.

Requirements

  • Python 3.12+
  • Node 18+ (for the npm installer; not required at runtime)
  • OpenAI Codex CLI 0.120+ on PATH for codex-* teammates
  • Gemini CLI on PATH for gemini-* teammates
  • Claude Code 2.1+ with Agent Teams mode
  • Terminal multiplexer on PATH (tmux or psmux) — see configuration.md

Docs

  • Install — how the installer wires Claude Code, alternative install methods, headless launches
  • Architecture — how the adapter integrates with Claude Code's team protocol
  • Roadmap — supported today vs coming next, contribution pointers
  • Configuration — CLI flags, env vars, advanced modes
  • Releasing — maintainer-facing tag-triggered publish flow

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

claude_anyteam-0.5.0.tar.gz (12.2 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

claude_anyteam-0.5.0-py3-none-any.whl (131.6 kB view details)

Uploaded Python 3

File details

Details for the file claude_anyteam-0.5.0.tar.gz.

File metadata

  • Download URL: claude_anyteam-0.5.0.tar.gz
  • Upload date:
  • Size: 12.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for claude_anyteam-0.5.0.tar.gz
Algorithm Hash digest
SHA256 2b3196365adbabfd9052a1566e88071c834718578844aecd2db35ecb0c14b22e
MD5 a6638e22193d8df8412dcac4ce7a6c50
BLAKE2b-256 ecec53d9b265391069c4f39ce2bceb2bf473a663bb768bc05d599a1f85015f61

See more details on using hashes here.

File details

Details for the file claude_anyteam-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: claude_anyteam-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 131.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for claude_anyteam-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 35da844a1b66c008392ac8dcc9cdab54610f6d002f6d3f52d6b9608ece5b06d6
MD5 2621a071f148c9b43cb45690f34db193
BLAKE2b-256 aca9ae4707cf031c4d557f97450795be683f9344372123e7268fd63209a9577b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page