Quick Start
1. Set up zo
cargo install zo-cli
export OPENROUTER_API_KEY='sk-or-v1-...'See Installation for binaries, Windows setup, and config-file authentication.
2. Send a request
zo 'Explain ownership in Rust with one example'Simple prompts do not need quotes:
zo How do I extract a tar fileResponses stream with terminal formatting. Redirected output is plain text.
3. Choose context and capabilities
# Select a model or reasoning effort
zo /sonnet 'Review this design'
zo --reasoning-effort low 'Summarize this idea'
# Include files or allow one output file
zo '@src/*.rs Explain this module'
zo 'Write the summary to !SUMMARY.md'
zo 'Update @!src/main.rs with clearer errors'
# Let the model discover files in the current project
zo --files read 'Trace the configuration flow'
# Allow workspace edits; existing-file changes require approval
zo --files write 'Rename the parser type and update its tests'File markers and workspace tools are confined to the current directory. See Files & Workspace Tools for the permission model.
4. Add live sources
# Analyze output you produce
cargo test 2>&1 | zo 'Explain the failures'
# Let OpenRouter search the web
zo --web 'Summarize the latest stable Rust release'
# Let the model run approved commands (Unix only)
zo --shell 'Run the tests and summarize failures'Pipelines keep command execution under your control. Shell mode is separately opt-in and policy-controlled.
5. Continue in chat
zo --chat --files read 'Help me understand this project'
> Focus on the request flow
> @src/client.rs How does this part fit in?
> exitUse Alt-Enter, Ctrl-O, or Ctrl-J for a newline. File markers work in every turn.
6. Generate an image
zo --image assets/icon.png 'Minimal blue terminal icon'Image generation is a dedicated single-shot mode and writes the first generated image to the requested workspace path.
Useful controls
zo --verbose --files read 'Inspect this project' # show compact tool calls
zo --debug /sonnet 'Check this request' # preview and confirm
zo +list-models # list configured aliases
zo +init-config # create config and policy files