Quickstart
Install zot and run your first session.
Install
macOS and Linux:
curl -fsSL https://www.zot.sh/install.sh | bashWindows (PowerShell):
iwr -useb https://www.zot.sh/install.ps1 | iexWith Go:
go install github.com/patriceckhart/zot/cmd/zot@latestLog in
Use /login to store an API key or a subscription credential. zot supports Claude Pro/Max, ChatGPT/Codex, Kimi Code, and GitHub Copilot subscriptions, plus direct API keys for every provider in the catalog.
Run it
zot # interactive TUI
zot -p "summarize this repo" # one-shot to stdout
cat README.md | zot -p "summarize this text" # combine stdin with the prompt
zot -p --stats stats.json "summarize this repo" # one-shot plus generation stats
zot --json "run the tests" # NDJSON eventsPick a model with /model, set its reasoning level with /reasoning, confine tools for the current session with /jail, or enable jail new sessions by default in /settings to start future sessions jailed. Resume your last session with zot -c. Slash command names are case-insensitive, while arguments such as model IDs and paths preserve their original casing.
In print, stream, and JSON modes, piped stdin is prepended to the positional prompt with a newline separator. This lets shell pipelines provide the source text while the positional argument supplies the instruction.
Print-mode statistics
Use --stats PATH with -p or --print to write generation statistics to a JSON file while keeping stdout limited to the final assistant text. The file is written only after a successful run.
{
"provider": "openai",
"model": "gpt-5",
"prompt_tokens": 123,
"reasoning_tokens": 45,
"generated_output_tokens": 18,
"elapsed_ms": 1234
}Counts cover every model turn triggered by the prompt, including tool loops. Prompt tokens include cache reads and writes. reasoning_tokens is null when the provider does not report a separate count; in that case generated_output_tokens is the provider's total output count and may include reasoning. Elapsed time covers the agent run, not startup or credential resolution.