Skip to main content

🐟 Bonito CLI

Unified multi-cloud AI management from your terminal.

Bonito gives enterprise AI teams a single CLI to manage models, costs, and workloads across AWS Bedrock, Azure OpenAI, Google Vertex AI, and more.

Install

pip install bonito-cli

Quick Start

bonito auth login                           # Authenticate
bonito models list                          # Browse 381+ models across 3 clouds
bonito projects create --name "My Project" # Create a project
bonito agents create --project <id> --name "Assistant" --prompt "You are a helpful AI assistant"
bonito agents execute <agent-id> "Hello!"  # Execute agent
bonito chat -m gpt-4o                      # Interactive chat
bonito kb create --name docs               # Create a knowledge base

Commands

Command Description
bonito auth 🔐 Authentication & account management
bonito providers ☁️ Cloud provider management (AWS/Azure/GCP)
bonito models 🤖 AI model catalogue — list, search, enable
bonito chat 💬 Interactive AI chat with compare mode
bonito gateway 🌐 API gateway — keys, logs, config
bonito policies 🎯 Routing policies — cost/latency/quality optimization
bonito analytics 📊 Usage analytics, costs, trends, digest
bonito deployments 🚀 Model deployment management
bonito kb 📚 Knowledge base (RAG) — documents, search, sync
bonito agents 🤖 Bonobot agents — create, execute, manage sessions
bonito projects 📁 Agent projects — organize and manage agents
bonito groups 👥 Agent groups — RBAC and permissions
bonito sso 🔐 SAML Single Sign-On — configure and manage SSO
bonito deploy 📦 Apply a whole stack from bonito.yaml
bonito deploy --plan 🔍 Show what bonito deploy would change, without changing anything

Stacks (bonito.yaml)

Declare providers, gateway keys, routing, knowledge bases, MCP servers and agents in one file, then plan and apply it:

bonito deploy -f bonito.yaml --plan          # what would change; writes nothing
bonito deploy -f bonito.yaml --plan --json   # the same plan as JSON (for CI)
bonito deploy -f bonito.yaml                 # apply it

bonito deploy --plan runs the same engine as bonito deploy, reading your live org and recording each write instead of sending it, so the plan is exactly what deploy does:

┏━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃   ┃ Resource       ┃ Name          ┃ Change                                      ┃
┡━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ + │ agent          │ Stack Billing │ model anthropic.claude-haiku-4-5, in        │
│   │                │               │ project claims-stack                        │
│ ~ │ gateway key    │ claims-key    │ rate_limit: 30 -> 60                        │
│ ~ │ agent          │ Stack Claims  │ model_config.temperature: 0.2 -> 0.5        │
│ ↻ │ provider       │ groq          │ credentials re-sent and re-verified; stored │
│   │                │               │ secrets can't be compared                   │
│ = │ knowledge base │ claims-kb     │ exists; its settings and documents are left │
│   │                │               │ as they are                                 │
│ = │ agent          │ Stack Triage  │                                             │
└───┴────────────────┴───────────────┴─────────────────────────────────────────────┘

1 to create, 2 to change, 1 to refresh, 2 unchanged. plan 2eb2c671a077511e
Mark Meaning
+ created
~ changed; each line is field: from -> to. Only the fields the file sets are compared; a block such as model_config is replaced whole, so a key the file drops shows as going to null
↻ refreshed: provider credentials (and retriever secrets) are re-sent and re-verified, because stored secrets can't be read back to compare
= unchanged

Secrets show as (secret). Deploy never deletes: anything not in the file is left alone. A new gateway key's secret appears once, after deploy. The plan hash identifies the exact set of changes; the dashboard Stacks page, the API (POST /api/stacks/plan, POST /api/stacks/apply) and Claude over MCP (plan_stack, apply_stack) refuse to apply when the org has changed since the plan you reviewed. bonito deploy --plan exits 1 when the file has errors.

Bonobot Agents

Create and manage AI agents with persistent conversations and automation:

# Create a project
bonito projects create --name "Customer Support" --budget 100.00

# Create an agent
bonito agents create --project <project-id> --name "Support Bot" \
  --prompt "You are a helpful customer support agent" \
  --model gpt-4o --max-turns 50

# Execute the agent
bonito agents execute <agent-id> "How do I reset my password?"

# Manage sessions
bonito agents sessions <agent-id>               # List conversations
bonito agents messages <agent-id> <session-id> # View conversation history

# Agent connections and triggers
bonito agents connections <agent-id>            # View agent connections
bonito agents triggers <agent-id>               # View automated triggers

Knowledge Base (RAG)

bonito kb create --name "Product Docs"         # Create a KB
bonito kb upload <kb-id> report.pdf notes.md   # Upload documents
bonito kb search <kb-id> "How to configure?"   # Semantic search
bonito kb info <kb-id>                         # Stats & details

SAML Single Sign-On

Configure enterprise SSO for your organization:

bonito sso setup --provider okta               # Interactive SSO setup
bonito sso test                                # Test configuration
bonito sso enable                              # Enable SSO login
bonito sso enforce --breakglass-admin <user>   # Enforce SSO-only (disable passwords)
bonito sso status --email user@company.com     # Check SSO status

JSON Output

All commands support --json for scripting and CI/CD:

bonito models list --json | jq '.[] | .display_name'
bonito analytics overview --json > report.json

Configuration

Config stored in ~/.bonito/:

  • Override with BONITO_API_KEY and BONITO_API_URL environment variables

Development

cd cli/
pip install -e .
bonito --version

License

MIT

Metadata

Release files for bonito-cli 0.14.0

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

Source distribution (sdist)

Source distribution for bonito-cli 0.14.0
File Size Uploaded
bonito_cli-0.14.0.tar.gz 131.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for bonito-cli 0.14.0
File Interpreter ABI Platform
bonito_cli-0.14.0-py3-none-any.whl Python 3 none any Details

Total release size: 271.4 kB

Release files / bonito_cli-0.14.0.tar.gz

Download URL bonito_cli-0.14.0.tar.gz
Size 131.8 kB
Tags Source
SHA-256 checksum
How to use checksums
e35397c99f86f6082dd9f983063d979a0f4fc3003b01c0babab1267f224e4e7e
BLAKE2b-256 checksum
How to use checksums
77c46df98eb85e90369bfed065708c4b6bfbbc467a402cefa23c3d514906ad36
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.6

Release files / bonito_cli-0.14.0-py3-none-any.whl

Download URL bonito_cli-0.14.0-py3-none-any.whl
Size 139.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3aba3b9fff439b819253f341591a78081979f7d2140e5f79a2198302857d3ddb
BLAKE2b-256 checksum
How to use checksums
ef629ef092f03561e4165071fbebc7be429d87c5bbed0ce9bf71facb4e5f84f7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.6

Release history Release notifications | RSS feed

0.16.0

2 release files

0.15.1

2 release files

0.15.0

2 release files

This release

0.14.0 This release

2 release files

0.13.0

2 release files

0.12.0

2 release files

0.11.0

2 release files

0.10.0

2 release files

0.9.9

2 release files

0.9.8

2 release files

0.9.7

2 release files

0.9.6

2 release files

0.9.5

2 release files

0.9.4

2 release files

0.9.2

2 release files

0.9.1

2 release files

0.9.0

2 release files

0.8.0

2 release files

0.7.4

2 release files

0.7.3

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.2

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.4

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.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