CLI Commands
The zubo CLI manages your agent. Here's every command.
Core Commands
zubo setup
Interactive wizard for first-time configuration. Walks you through the full initial setup process:
- Choose LLM provider (Anthropic, OpenAI, Ollama, etc.)
- Enter API key
- Select model
- Optionally configure channels
Writes to ~/.zubo/config.json.
zubo setup
zubo start
Start the Zubo agent. Opens the web dashboard in your browser.
zubo start # Foreground mode
zubo start --daemon # Background mode
In foreground mode, logs are printed directly to the terminal. In daemon mode, the agent runs in the background and logs are written to a file. Use zubo logs to view them.
zubo stop
Stop the background daemon. This sends a shutdown signal to the running daemon process.
zubo stop
zubo status
Show current status: provider, model, channels, process state.
zubo status
Logs
zubo logs # Show last 50 lines
zubo logs --follow # Stream logs live (like tail -f)
zubo logs -f # Short form
When using --follow or -f, new log entries are streamed to your terminal in real time. Press Ctrl+C to stop following.
Model Management
zubo model # Show active provider/model
zubo model --list # List all configured providers
zubo model ollama/llama3.3 # Switch to provider/model
The model argument uses the format provider/model. For example, anthropic/claude-sonnet-4-5-20250929, openai/gpt-4o, or ollama/llama3.3. The change takes effect immediately if the agent is running.
Configuration
zubo config set <key> <value> # Set a config value
zubo config get [key] # Get config value(s)
Examples:
zubo config set activeProvider ollama
zubo config set model llama3.3
zubo config set heartbeatMinutes 60
zubo config set auth.enabled true
zubo config set rateLimit.chatPerMinute 30
zubo config set channels.webchat.port 3000
zubo config get # Show all config (keys masked)
zubo config get activeProvider # Show single value
Supports dotted keys for nested values (e.g., auth.enabled sets the enabled field inside the auth object). Values are auto-parsed: true/false become booleans, digit strings become numbers, and everything else is stored as a string.
Skills
zubo skills # Interactive menu
zubo skills list # List installed skills
zubo skills new # Create a new skill (wizard)
zubo skills remove # Remove a skill
zubo skills reinstall # Reinstall built-in skills
The interactive menu (zubo skills with no subcommand) presents a selection interface for all skill management operations. Use the subcommands for non-interactive or scripted usage.
Skill Registry
zubo install <name> # Install skill from registry
zubo search <query> # Search the registry
zubo publish [name] # Publish a skill
zubo install downloads and installs the named skill from the community registry into ~/.zubo/skills/. zubo search returns matching skills with their names and descriptions. zubo publish validates and submits the current skill directory (or the named skill) to the registry.
Authentication
zubo auth create-key [label] # Create API key (shown once)
zubo auth list-keys # List all keys
zubo auth delete-key <id> # Delete a key
API keys are used when auth.enabled is true. The key value is displayed only once at creation time — store it securely. The optional label helps you identify the key later. Use zubo auth list-keys to see all keys with their IDs, labels, and last-used dates.
Data Management
zubo export # Export as JSON
zubo export --format sqlite # Backup as SQLite file
zubo export --output backup.json # Custom output path
zubo import <path> # Import from JSON
The JSON export includes conversations, memory chunks, settings, analytics, and uploaded file metadata. The SQLite backup creates a copy of the raw database file. Import restores data from a previously exported JSON file.
Command Summary
| Command | Description |
|---|---|
zubo setup | Interactive configuration wizard |
zubo start | Start agent (foreground) |
zubo start --daemon | Start in background |
zubo stop | Stop background daemon |
zubo status | Show runtime status |
zubo logs | Show last 50 log lines |
zubo logs --follow | Stream logs live |
zubo model | Show active model |
zubo model --list | List providers |
zubo model <p/m> | Switch provider/model |
zubo config set <k> <v> | Set config value |
zubo config get [key] | Show config value(s) |
zubo skills | Interactive skill menu |
zubo skills list | List installed skills |
zubo skills new | Create new skill |
zubo skills remove | Remove a skill |
zubo skills reinstall | Reinstall built-in skills |
zubo install <name> | Install from registry |
zubo search <query> | Search registry |
zubo publish [name] | Publish skill |
zubo auth create-key | Create API key |
zubo auth list-keys | List API keys |
zubo auth delete-key <id> | Delete API key |
zubo export | Export JSON |
zubo export --format sqlite | Backup SQLite |
zubo import <path> | Import JSON |
Exit Codes
| Code | Meaning |
|---|---|
0 | Success |
1 | Error (missing config, invalid args, etc.) |
Environment Variables
| Variable | Description |
|---|---|
ZUBO_HOME | Override the default ~/.zubo directory. All configuration, skills, memory, and database files will be read from and written to this directory instead. |