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 model to join the same team, with the same native UX, without wrapping it inside a Claude LLM.

Your Claude Code session orchestrates. External models execute. No chat-wrapper overhead. No "Claude pretending to be Codex." Real models, 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.4.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.4.0-py3-none-any.whl (125.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: claude_anyteam-0.4.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.4.0.tar.gz
Algorithm Hash digest
SHA256 19410fa058a7385029f640b9eb0332923a5994bacfcc5c2dc57494b2ab026edc
MD5 d5afddc2aaf7d49886ce3858de4cffbd
BLAKE2b-256 e920371bbd24034a53ad3e904e8724dc3ba45cdd2d4f404955c2d74ce31c39e0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: claude_anyteam-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 125.3 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.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d0e4bfd933985a61664e1f5686b2289532181756e3c3498b9cc7603c0f7efdcd
MD5 7529036280f7662ebf1d12f297d50403
BLAKE2b-256 4cb2add9962ecb3a56419a89e49d0e893828db332dbe365a17b00f565526416a

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