CLI Agent Orchestrator
Project description
CLI Agent Orchestrator (CAO)
CLI Agent Orchestrator (CAO) coordinates multiple AI coding CLIs so a supervisor can delegate work to specialist agents in parallel or sequence.
📚 Documentation — guides, reference, and two interactive courses.
What CAO does
CAO runs a local cao-server, starts provider CLIs in isolated terminal
sessions, and gives a supervisor tools for coordinating workers. The agents
remain full CLI processes with their native authentication and capabilities.
See CODEBASE.md for the runtime architecture and package layout.
Prerequisites
Install:
- Python 3.10 or later
- tmux 3.3 or later
- uv
- At least one supported provider CLI, authenticated before you launch CAO: Kiro CLI, Claude Code, Codex CLI, Antigravity CLI, Hermes, Kimi CLI, GitHub Copilot CLI, OpenCode CLI, or Cursor CLI
The focused provider guides contain installation, authentication, and provider-specific behavior.
Install CAO
Install the current main branch as a uv tool:
uv tool install git+https://github.com/awslabs/cli-agent-orchestrator.git@main --upgrade
cao --help
For a tagged release, install
cli-agent-orchestrator from PyPI.
See DEVELOPMENT.md for a source checkout.
For container-based installation, see the
devcontainer feature.
To update an existing CAO installation:
cao update
See Updating CAO for source-aware behavior and edge cases.
First supervisor launch
The unqualified commands below use CAO's default Kiro CLI provider. If you installed a different provider, follow its focused guide above for the provider override while keeping the same sequence.
-
Install the built-in supervisor profile:
cao install code_supervisor
-
In terminal A, start the local server and leave it running:
cao-server
-
In terminal B, change to the project directory the agents should work in, then launch the supervisor:
cd /path/to/your/project cao launch --agents code_supervisor
-
Observe the supervisor in the attached launch terminal, open the Web UI at
http://localhost:9889, or follow the tmux guide to attach to its session. -
Stop the named session when finished:
cao shutdown --session {session-name}
To stop every CAO session instead, run
cao shutdown --all.
Where to go next
Operate CAO
- Control-plane selection: choose the Web UI, shell CLI, operations MCP server, or plugins.
- Web UI and MCP Apps: browser and host-rendered fleet interfaces.
- Flows and workflows: scheduled runs and multi-step pipelines.
- Skills: install, scope, and author reusable agent guidance.
- Memory and self-learning: persistent cross-session memory, and the opt-in loop that turns workflow outcomes into lessons and promoted instructions.
- AI-DLC portfolio example: coordinate parallel AI-DLC intents across repositories and isolated worktrees.
- Tool restrictions: roles, allowlists, and provider enforcement.
- Updating CAO: update an installed uv tool.
Configure and integrate
- Agent profiles: profile schema, discovery, provider selection, and overrides.
- HTTP API and PTY WebSocket: route-family overview and terminal streaming contract.
- Plugins: outbound events, installation, and authoring.
- Provider behavior: Kiro CLI, Claude Code, Codex CLI, Antigravity CLI, Hermes, Kimi CLI, GitHub Copilot CLI, OpenCode CLI, and Cursor CLI.
- Security policy: vulnerability reporting and deployment guidance.
Contribute
- Codebase guide: runtime surfaces, package ownership, and data flow.
- Development guide: local setup, testing, and verification.
- Release guide: maintainer release process.
Contributing
See CONTRIBUTING.md and DEVELOPMENT.md before submitting changes. Documentation changes must also follow the documentation maintenance rule.
License
This project is licensed under the Apache License 2.0. See LICENSE.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file cli_agent_orchestrator-2.4.0.tar.gz.
File metadata
- Download URL: cli_agent_orchestrator-2.4.0.tar.gz
- Upload date:
- Size: 56.6 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3c6815baaade89d261604014a4dd70cb6b63b85a5a99fccd942f63b1e3f477a9
|
|
| MD5 |
6f9e8586a7a61fd736faa92ef824c53e
|
|
| BLAKE2b-256 |
f6044115aa64d4a89b11b67bc85b6120f93a419c62d4387bec10ab6014e9a34b
|
Provenance
The following attestation bundles were made for cli_agent_orchestrator-2.4.0.tar.gz:
Publisher:
publish-to-pypi.yml on awslabs/cli-agent-orchestrator
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
cli_agent_orchestrator-2.4.0.tar.gz -
Subject digest:
3c6815baaade89d261604014a4dd70cb6b63b85a5a99fccd942f63b1e3f477a9 - Sigstore transparency entry: 2339086149
- Sigstore integration time:
-
Permalink:
awslabs/cli-agent-orchestrator@b71f255aa2f1cbf0d8ca38e31c99d9bad20e9e24 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/awslabs
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-to-pypi.yml@b71f255aa2f1cbf0d8ca38e31c99d9bad20e9e24 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file cli_agent_orchestrator-2.4.0-py3-none-any.whl.
File metadata
- Download URL: cli_agent_orchestrator-2.4.0-py3-none-any.whl
- Upload date:
- Size: 1.1 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
06fd121bd5b9841bdb36b1b208cb8859a274cb577db0679fca0c9a1e5d1cefcb
|
|
| MD5 |
6f2e165a7dbc539c3f922c0b8fd3f125
|
|
| BLAKE2b-256 |
47dd71fbd22579a39ad8abe999476c18e9a6586d34a0c7d0e62b7018183241e0
|
Provenance
The following attestation bundles were made for cli_agent_orchestrator-2.4.0-py3-none-any.whl:
Publisher:
publish-to-pypi.yml on awslabs/cli-agent-orchestrator
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
cli_agent_orchestrator-2.4.0-py3-none-any.whl -
Subject digest:
06fd121bd5b9841bdb36b1b208cb8859a274cb577db0679fca0c9a1e5d1cefcb - Sigstore transparency entry: 2339086157
- Sigstore integration time:
-
Permalink:
awslabs/cli-agent-orchestrator@b71f255aa2f1cbf0d8ca38e31c99d9bad20e9e24 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/awslabs
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-to-pypi.yml@b71f255aa2f1cbf0d8ca38e31c99d9bad20e9e24 -
Trigger Event:
workflow_dispatch
-
Statement type: