agno 2.7 or later is installed. The agno command scaffolds AgentOS projects, runs them with Docker Compose, connects your coding agents over MCP, and manages service-account tokens.
Every subcommand listed below accepts --json and emits one JSON document for command-level results after argument parsing succeeds. Typer usage errors exit with code 2, write diagnostics to stderr, and do not emit JSON.
Install
The CLI ships with the SDK, so installingagno 2.7 or later puts the agno command on your PATH.
agnoctl. It depends on typer, rich, and httpx, plus tomli on Python versions below 3.11, so it runs on machines without the SDK:
agno and agnoctl are the same CLI under two names.
Commands
How the CLI Finds Your AgentOS
status, tokens, and non-interactive connect runs need a running AgentOS. They resolve one target in this order:
The probe covers
AgentOS.serve()’s default port (7777), common bump-up ports, and a bare uvicorn setup (8000). If your AgentOS runs on any other host or port, point the CLI at it with --url or AGENTOS_URL.
Interactive agno connect behaves differently when neither --url nor an exported AGENTOS_URL selects one target. It probes every live env-file and localhost candidate, adds AgentOS URLs found in existing client configurations, and asks you which one to connect. --json and other non-interactive runs use the deterministic priority order above.
Developer Resources
- agnoctl reference: full flag tables, environment variables, exit codes, and JSON output schemas
- Starter templates