Orchestrate AI coding agents — not just run them.
Declare your entire AI dev team in one fleet.yaml. AgEnD Terminal launches each agent as a long-lived PTY process with its own git worktree, wires up inter-agent communication via built-in MCP tools, and keeps everything running with auto-respawn and context handover.
- Fleet-as-code — One YAML file declares every agent's backend, role, working directory, and team membership.
agend-terminal startbrings the whole fleet up. - 5 backends — Claude Code, Codex, Kiro, OpenCode, and Antigravity CLI. Swap backends by changing one field.
- Built-in agent coordination — Agents delegate tasks, query each other, and broadcast updates through 27 MCP tools. No glue code.
- Automatic git worktree isolation — Each agent works in its own worktree. No merge conflicts between agents, no accidental cross-contamination.
- Crash recovery with context handover — Agents auto-respawn and resume their conversation. Exponential backoff, health monitoring, and hung detection built in.
- Remote control — Drive the fleet through a multi-pane TUI, Telegram, or Discord. Get notifications when agents need attention.
cargo install agend-terminal
agend-terminal quickstart # Interactive setup in 2 minutes
agend-terminal app # Launch the TUI — every agent's pane in one screenquickstart --unattended never reads stdin and never waits on the network —
missing required input is a clear error and a non-zero exit, not a hang.
The backend is the first one detected on PATH (errors out listing install
commands if none); Telegram is optional and comes from the environment:
# Minimal (no Telegram — channel block is generated commented-out):
agend-terminal quickstart --unattended
# With Telegram (token is stored unverified; the daemon validates at startup):
AGEND_TELEGRAM_BOT_TOKEN=123:abc \
AGEND_TELEGRAM_GROUP_ID=-1001234567890 \
agend-terminal quickstart --unattendedRe-runs are idempotent: an existing fleet.yaml is never overwritten, and an
existing .env token is only replaced when AGEND_TELEGRAM_BOT_TOKEN is
explicitly set (e.g. a CI token rotation). Example GitHub Actions step:
- name: Bootstrap agend-terminal
env:
AGEND_TELEGRAM_BOT_TOKEN: ${{ secrets.AGEND_TELEGRAM_BOT_TOKEN }}
run: |
cargo install agend-terminal
agend-terminal quickstart --unattendedgraph LR
Op[Operator] -->|TUI / Telegram / Discord| D[Daemon]
F[fleet.yaml] --> D
D --> A1[Agent PTY<br/>Claude Code]
D --> A2[Agent PTY<br/>Codex]
D --> A3[Agent PTY<br/>Kiro]
D --> AN[Agent PTY<br/>...]
A1 <-->|MCP bridge| A2
A2 <-->|MCP bridge| A3
A1 <-->|MCP bridge| A3
D ---|worktree per agent| G[(Git repo)]
D ---|health monitor<br/>auto-respawn| A1
| tmux + shell scripts | agend-terminal | |
|---|---|---|
| Input injection | send-keys race conditions |
Atomic PTY write |
| Output capture | Screen scraping | VTerm state tracking |
| Agent health | Manual monitoring | Auto-respawn + state detection |
| Multi-agent comms | Custom IPC | Built-in MCP tools |
| Git isolation | Manual worktrees | Auto per-agent worktree |
| Backend | Command | Status |
|---|---|---|
| Claude Code | claude |
Tested |
| Kiro CLI | kiro-cli |
Tested |
| Codex | codex |
Tested |
| OpenCode | opencode |
Tested |
| Antigravity CLI | agy |
Tested |
Gemini CLI was retired in #1580 (it sunsets 2026-06-18 for free/Pro/Ultra tiers). Antigravity CLI (
agy) is its official successor and a supported Fleet MCP backend (#1547). Ageminibackend in fleet.yaml now spawns as a genericRawbackend. agy refuses any workspace whose path has a dot-prefixed (hidden) ancestor, so daemon agents under~/.agend-terminalwere invisible to it. The daemon now creates a non-hidden link (<base>/<instance>→ the hidden real workspace) and spawns agy with$PWDpointed at that link, clearing agy's hidden-path guard while the real files stay under$AGEND_HOME.configure_agywrites the project-scoped.agents/mcp_config.json+.agents/AGENTS.md(agy's official Customization Roots), soagyloads the fleetsend/inbox/tasktools like every other backend.
Everything is pre-alpha (see the banner up top) — this table is relative maturity to set expectations, not a production-readiness guarantee. Tiers can change between minor versions.
| Tier | Meaning |
|---|---|
| Beta | Heavily exercised, broad test coverage; behavior mostly settled |
| Experimental | Works but young or narrowly exercised; expect rough edges + changes |
| Opt-in | Off by default; enable via a Cargo feature or env flag |
| Area | Tier | Notes |
|---|---|---|
Fleet orchestration (fleet.yaml, PTY spawn, supervision, auto-respawn) |
Beta | Core path; extensive tests |
| Git worktree isolation | Beta | Per-agent worktree lease / release / GC |
| MCP coordination tools (27) | Beta | send / inbox / task / … |
| Task board | Beta | Append-only event log (schema v2) |
| Telegram channel | Beta | The only fully-implemented channel |
| Claude Code / Codex / Kiro / OpenCode backends | Beta | Tested |
Antigravity CLI (agy) backend |
Experimental | Newer (#1547); workspace-link shim |
| Shadow Observer state plane | Experimental | Additive, observe-only (#2413); kill-switch AGEND_SHADOW_OBSERVER=0 |
| CI watch + PR auto-close sweep | Experimental | GitHub / GitLab / Bitbucket pollers |
| Ephemeral cross-backend workers | Experimental · opt-in, no MCP surface | #2547: ephemeral MCP tool retired (zero calls); tracking/reap infra retained pending #2548 P1. Real backend gated by AGEND_EPHEMERAL_REAL_BACKEND |
| Discord channel | Experimental · opt-in | --features discord |
| Menu-bar tray | Experimental · opt-in | --features tray |
Kill-switches and feature flags are documented in env vars and configuration.
Start here:
- Quick Start Guide — First-run walkthrough
- Fleet Configuration —
fleet.yamlreference - CLI Reference — All subcommands
- MCP Tools — 27 agent coordination tools
- Known Issues — Intentionally-deferred items; check before filing an issue
- Documentation Index — Full bilingual map of every guide and reference
Feature guides
Core
Advanced
- CI Watch
- Health & Monitoring
- Dispatch Idle Tracking
- Channels (Telegram/Discord)
- Decision Records
- Schedules & Deployments
Maintenance
Reference
- Architecture — Worktree isolation, health monitoring, Telegram lifecycle, daemon design
- Git Behavior — What the daemon modifies in spawned agents' git environment
- Recipes — Spawning a clean Claude Code instance
- Contributing
- Changelog
agend-terminal modifies git behavior for spawned agents (PATH shim, commit trailers, deny matrix, daemon-managed worktrees). Your own terminal is not affected. Read docs/GIT-BEHAVIOR.md before starting the daemon.
Contributions are welcome — see CONTRIBUTING.md. All commits must be signed off (git commit -s) to certify the Developer Certificate of Origin; CI enforces this on every pull request.
Licensed under the Apache License 2.0.
