Skip to content

CLI Reference

Complete reference for all clido commands and subcommands.

clido [OPTIONS] [PROMPT]
clido <SUBCOMMAND> [OPTIONS]

When invoked with a prompt (and no subcommand), clido runs the agent. When invoked with no arguments from a TTY, it opens the interactive TUI.


Run the agent with a prompt.

Terminal window
clido "refactor the auth module to use JWT"
clido run "refactor the auth module to use JWT" # equivalent

When stdin is not a TTY and no prompt is given, stdin is read as the prompt.

FlagTypeDefaultDescription
--modelstringprofile defaultModel override
--providerstringprofile defaultProvider override
--profilestringdefault_profile from configProfile name
--workdir, -Cpathcurrent directoryWorking directory
--max-turnsinteger50Maximum agent turns
--max-budget-usdfloat5.0Maximum cost in USD
--permission-modeenumdefaultdefault, accept-all, or plan
--output-formatenumtexttext, json, stream-json
--input-formatenumtexttext, stream-json
--quiet, -qflagfalseSuppress spinner and cost footer
--print, -pflagfalseNon-interactive (no REPL)
--continueflagfalseResume newest session for current dir
--resumestringResume session by ID prefix
--resume-ignore-staleflagfalseSkip stale file check on resume
--mcp-configpathPath to MCP server config file
--sandboxflagfalseEnable Bash sandboxing
--plannerflagfalseEnable task decomposition planner
--max-parallel-toolsinteger4Max concurrent read-only tool calls
--system-promptstringSystem prompt override
--system-prompt-filepathRead system prompt from file
--append-system-promptstringAppend to default system prompt
--allowed-toolsstringComma-separated allowed tool names
--disallowed-toolsstringComma-separated disallowed tool names
--toolsstringAlias for --allowed-tools
--no-colorflagfalseDisable ANSI color output
--verbose, -vflagfalseEnable debug logging

Exit codes: 0 success, 1 agent error, 2 config/usage error, 3 soft limit (turns or budget), 130 interrupted.

Examples:

Terminal window
# Basic
clido "add error handling to all database functions"
# Non-interactive with JSON output
clido --print --output-format json "summarise this codebase"
# Resume last session, read-only
clido --continue --permission-mode plan
# Use a fast cheap model for a quick task
clido --profile fast "what does this function return?"
# CI usage with budget cap
clido --permission-mode accept-all --max-budget-usd 0.10 "fix linting errors"

Explicit run subcommand. Identical to passing a positional prompt but avoids ambiguity in scripts.

Terminal window
clido run "generate tests for src/parser.rs"

Accepts all the same flags as the root command.


Interactive first-run setup wizard. Prompts for provider, API key, and model, then writes ~/.config/clido/config.toml.

Terminal window
clido init

Safe to re-run — asks for confirmation before overwriting an existing config.

Exit codes: 0 success, 1 user cancelled.


Check environment health: binary version, API key, config file, session directory, and shell availability.

Terminal window
clido doctor

Prints a line per check with (pass) or (fail) and a hint for each failure.

Exit codes: 0 all checks pass, 1 one or more checks failed.


Print the current merged configuration (global + project) in TOML format.

Terminal window
clido config show

Update a key in the global config file.

Terminal window
clido config set model claude-haiku-4-5
clido config set provider openrouter
clido config set api-key sk-ant-...

Supported keys: model, provider, api-key.

Exit codes: 0 success, 2 unknown key.


List all sessions for all projects, most recent first.

Terminal window
clido sessions list
ID DATE PROJECT PREVIEW COST
a1b2c3 2026-03-21 ~/projects/app "Refactor the parser" $0.023

Print the contents of a session in human-readable form.

Terminal window
clido sessions show a1b2c3

Copy a session to a new session ID.

Terminal window
clido sessions fork a1b2c3
# Forked a1b2c3 → new session f9e8d7

Show session statistics: total sessions, total cost, average cost, total turns.

Terminal window
clido stats
clido stats --session a1b2c3 # single session
clido stats --json # JSON output
FlagDescription
--session <id>Filter to a specific session ID prefix
--jsonOutput as JSON

View the tool call audit log.

Terminal window
clido audit
clido audit --tail 20
clido audit --session a1b2c3
clido audit --tool Bash
clido audit --since 2026-03-01
clido audit --json
FlagDescription
--tail <N>Show last N entries
--session <id>Filter by session ID prefix
--tool <name>Filter by tool name
--since <date>Filter by start date (ISO 8601)
--jsonOutput as newline-delimited JSON

See Audit Log for full documentation.


List long-term memories, most recent first.

Terminal window
clido memory list
clido memory list --limit 50
FlagDescription
--limit <N>Maximum entries to show (default: 20)

Delete old memories, keeping the N most recent.

Terminal window
clido memory prune --keep 100
FlagDescription
--keep <N>Number of memories to keep (default: 100)

Delete all memories.

Terminal window
clido memory reset
clido memory reset --force # skip confirmation
FlagDescription
--forceSkip confirmation prompt

Build (or update) the repository index.

Terminal window
clido index build
clido index build --dir /path/to/project
clido index build --ext rs,py,ts
FlagDefaultDescription
--dir <path>current directoryDirectory to index
--ext <exts>rs,py,js,ts,goComma-separated file extensions

Show repository index statistics.

Terminal window
clido index stats

Delete the repository index.

Terminal window
clido index clear

Run a workflow from a YAML file.

Terminal window
clido workflow run full-review.yaml -i branch=main
clido workflow run full-review.yaml -i branch=main --dry-run
clido workflow run full-review.yaml -i branch=main --yes
FlagDescription
-i <key=value>Input override (repeatable)
--dry-runValidate and render prompts without API calls
--yesSkip cost confirmation

Validate a workflow YAML file.

Terminal window
clido workflow validate full-review.yaml

Print the workflow step graph and execution order.

Terminal window
clido workflow inspect full-review.yaml

Run preflight checks (profiles, tools, inputs) without executing the workflow.

Terminal window
clido workflow check full-review.yaml
clido workflow check full-review.yaml --json
FlagDescription
--jsonOutput as JSON

List all workflows in the configured workflow directory.

Terminal window
clido workflow list

List all models known to clido from the built-in pricing table.

Terminal window
clido list-models
clido list-models --provider anthropic
clido list-models --json
FlagDescription
--provider <name>Filter by provider
--jsonOutput as JSON

Fetch the current model list from a provider’s live API.

Terminal window
clido fetch-models
clido fetch-models --provider openrouter --json
FlagDescription
--provider <name>Provider to query
--jsonOutput as JSON

Download the latest model pricing data from the remote pricing source.

Terminal window
clido update-pricing

Prints the current pricing file path and its age. Downloads and replaces it if newer data is available.


Generate shell completion script and print to stdout.

Terminal window
clido completions bash >> ~/.bash_completion
clido completions zsh > "${fpath[1]}/_clido"
clido completions fish > ~/.config/fish/completions/clido.fish

Supported shells: bash, zsh, fish, powershell, elvish.


Generate a man page and print to stdout.

Terminal window
clido man > /usr/local/share/man/man1/clido.1
man clido

Print the clido version and exit.

Terminal window
clido version
# clido 0.1.0

Equivalent to clido --version.