sonny is an interactive CLI tool for testing and running prompt recipes with
various LLM providers. It supports Language Server Protocol (LSP) integration,
agent management, and comprehensive tool execution.
Every command name, flag, shorthand, default and description on these pages is
copied from the verbatim --help output captured in the Sonny source
reference (docs/user/cli-reference.md), where each block is doc-tested
against the real binary. If a flag is not listed there, it does not exist.
Commands
| Command | Purpose |
|---|---|
sonny run | Run an interactive chat session with a recipe. Bare sonny is this command. |
sonny config | Manage configuration. Also covers sonny credentials, which inspects credential resolution and manages the OAuth credential migration to the credential broker. |
sonny init | Initialize sonny’s directories and example config |
sonny mesh | Distributed mesh session management |
sonny recipe
(alias pack) | Manage recipes and git-backed recipe sources |
See Overview and global flags for the persistent flags every command accepts and for the published exit-code table.
Full command list
Bare sonny with no subcommand is an alias for sonny run
.
These are the commands listed by sonny --help:
| Command | Purpose |
|---|---|
a2a | Agent-to-Agent (A2A) protocol commands |
arch | Architecture DSL evaluation |
bench | Benchmark harnesses for sonny recipe eval / sonny recipe optimize |
canary | Embedded Canary: requirement migration and test evidence |
capabilities | Report which toolchain capabilities this project needs and which are usable |
catalog | Manage the installable model-catalog registry |
commitmsg | Validate commit messages against the Conventional Commit + work-item policy (ENG-4428) |
completion | Generate the autocompletion script for the specified shell |
config | Manage configuration |
conformance | Run the conformance harness, qualification matrix, and release dossier |
context | Inspect, validate, and assemble context-efficiency data |
context-stats | Summarize context-efficiency metrics for a session or time range |
context-validate | Verify context-efficiency invariants for a session |
control | Inspect Sonny’s authority control plane |
credentials | Inspect credential resolution and manage the OAuth credential migration to the credential broker |
cue | Plan, import, run, analyze, and report context-use evaluations |
editor-rpc | Serve a JSON-RPC editor client of the supervisor over stdin/stdout |
freeze | Contain a tenant with a signed freeze epoch |
help | Help about any command |
hooks | Inspect and validate the session hooks configuration |
init | Initialize sonny’s directories and example config |
isolation | Inspect and verify session isolation |
lsp | Inspect and validate Language Server Protocol configuration |
mcp | Inspect resolved MCP server and tool configuration |
mcp-server | Run Sonny tools or a traced external MCP proxy over stdio |
mesh | Distributed mesh session management |
models | Inspect and manage model categories, fitness, and pricing |
policy | Validate, inspect and control DPolicy decision policies |
precommitci | Run the authoritative CI pre-commit/commit-range gates (ENG-4429) |
prompt | Display the rendered system prompt for a recipe |
recipe | Manage recipes and git-backed recipe sources |
routing | Inspect routing decisions and evaluation evidence |
run | Run interactive chat with a prompt recipe |
session | Run deterministic full-session evaluation and optimization |
supervisor | Manage the supervisor daemon: ensure, serve, status, stop |
tools | List and manage available tools |
trace | Inspect conversation traces without opening the JSONL files by hand |
training | Aggregate and export conversation traces as training data |
update | Manage signed Sonny application updates |
variant | Sync and inspect upstream model-variant bundles |
version | Print version information, the license, the changelog, or SCA build info |
workspace | Grant, revoke, or inspect workspace trust |
worktrees | Manage the Git worktrees Sonny creates for delegated child agents |
sonny pack is an alias of sonny recipe; the help output prints the primary
name recipe and the alias line recipe, pack.
Two commands bypass cobra entirely and are absent from every --help listing:
sonny schema-gen (prints the JSON Schema for pack YAML files to stdout and
exits — no flags, no subcommands) and the embedded Canary command surface.