Skip to main content
claude-anyteam

Native Claude Code teammates, any LLM.

Codex, Gemini, and Kimi today. 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, Gemini CLI, and Kimi CLI, warns if any are 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>, gemini-<anything>, or kimi-<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
kimi-architect   → routed to claude-anyteam + Kimi CLI
kimi-reviewer    → routed to claude-anyteam + Kimi CLI
alice            → native Claude (unchanged)

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

Provider CLIs are runtime prerequisites for their prefixes: install/authenticate Codex for codex-*, Gemini for gemini-*, and Kimi for kimi-* (uv tool install --python 3.13 kimi-cli or the upstream installer, then kimi login). The probed Kimi default user-facing model slug is kimi-code/kimi-for-coding (Kimi-k2.6, 262k context).

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

400 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
Kimi via Kimi CLI kimi-* ✅ Supported today Headless kimi --print --output-format stream-json with adapter-owned HOME and MCP wrapper. Best for large-context / architecture work and Kimi native skills/swarm. v1 has no Codex App Server or live turn/steer, no CLI --output-schema, and Kimi MCP tools are addressed by bare names.

Mixed-team example

codex-implementer   # Codex App Server executor
gemini-reviewer     # Gemini second-opinion reviewer
kimi-architect      # Kimi large-context architecture reviewer
claude-planner      # Native Claude lead/planner

Coming next

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

Codex, Gemini, and Kimi 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
  • Kimi CLI on PATH for kimi-* teammates (uv tool install --python 3.13 kimi-cli or upstream installer + kimi login)
  • 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

Metadata

Release files for claude-anyteam 0.8.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for claude-anyteam 0.8.4
File Size Uploaded
claude_anyteam-0.8.4.tar.gz 13.3 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for claude-anyteam 0.8.4
File Interpreter ABI Platform
claude_anyteam-0.8.4-py3-none-any.whl Python 3 none any Details

Total release size: 13.6 MB

Release files / claude_anyteam-0.8.4.tar.gz

Download URL claude_anyteam-0.8.4.tar.gz
Size 13.3 MB
Tags Source
SHA-256 checksum
How to use checksums
2c27738ba1fd0f5e88f1ba63af4a4a431fe1d1ba06b7ff86d774dd047d59b4c3
BLAKE2b-256 checksum
How to use checksums
666eaaaaf5eb4a1fd5e804f54c2a9bbb2b7570c48d070cfc1241d1178e0489fc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.9 {"installer":{"name":"uv","version":"0.11.9","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}

Release files / claude_anyteam-0.8.4-py3-none-any.whl

Download URL claude_anyteam-0.8.4-py3-none-any.whl
Size 337.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ca3312d81c351cc5be7d20a461d20c3fefdd84f21b2e0094c08cbebffb78f138
BLAKE2b-256 checksum
How to use checksums
e7b4f1e72db4e343074e58dc6af43b07b2afcabef23c0abb22c5110e0768eff7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.9 {"installer":{"name":"uv","version":"0.11.9","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}

Release history Release notifications | RSS feed

This release

0.8.4 This release

2 release files

0.8.3

2 release files

0.8.2

2 release files

0.8.0

2 release files

0.7.11

2 release files

0.7.10

2 release files

0.7.9

2 release files

0.7.8

2 release files

0.7.7

2 release files

0.7.6

2 release files

0.7.5

2 release files

0.7.4

2 release files

0.7.2

2 release files

0.7.1

2 release files

0.7.0

2 release files

0.6.1

2 release files

0.6.0

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page