Command Aliases: You can use either op or opperator as the command name interchangeably.
Quick Reference
Core Commands
| Command | Description |
op or opperator | Start the Opperator TUI |
op setup | Initialize and configure authentication |
op doctor | Run diagnostics on your installation |
Agent Management
| Command | Arguments | Description |
op agent list | [--running] [--stopped] [--crashed] [--daemon <name>] | List all configured agents and their status |
op agent bootstrap | <name> [-d description] [--no-start] [--daemon <name>] | Create a new agent with SDK and templates |
op agent start | [name] [--daemon <name>] | Start an agent |
op agent stop | [name] [-a|--all] [--daemon <name>] | Stop a running agent or all agents |
op agent restart | <name> [--daemon <name>] | Restart an agent |
op agent delete | <name> [-f|--force] [--daemon <name>] | Delete an agent and all its data |
op agent move | <name> --to <daemon> [-f] [--no-start] | Move agent between daemons |
op agent where | <name> | Find which daemon hosts an agent |
op agent reload | - | Reload configuration |
op agent logs | <name> [-f] [-n lines] [--daemon <name>] | View agent logs |
op agent command | <name> <cmd> [--args <json>] [--timeout <duration>] [--daemon <name>] | Execute a command on an agent |
op agent commands | <name> [--daemon <name>] | List available commands for an agent |
Cloud Deployment
| Command | Arguments | Description |
op cloud deploy | - | Interactive wizard to deploy daemon to cloud VPS |
op cloud list | - | List all cloud deployments |
op cloud update | <daemon-name> [--pre-release] | Update cloud daemon binary |
op cloud destroy | <name> [-f] | Destroy cloud VPS and delete server |
Daemon Management
| Command | Arguments | Description |
op daemon add | <name> <address> [--token <token>] [--enabled] | Register daemon connection |
op daemon list | - | List all configured daemons |
op daemon remove | <name> [-f] | Unregister daemon |
op daemon test | <name> | Test daemon connectivity |
op daemon enable | <name> | Enable daemon connection |
op daemon disable | <name> | Disable daemon connection |
op daemon start | - | Start the daemon |
op daemon stop | - | Stop the daemon |
op daemon status | - | Check daemon status |
op daemon metrics | - | Display daemon metrics |
Secret Management
| Command | Arguments | Description |
op secret create | <name> [value] | Create a new secret (prompts if value not provided) |
op secret update | <name> [value] | Update an existing secret (prompts if value not provided) |
op secret read | <name> | Read a secret value |
op secret delete | <name> | Delete a secret |
op secret list | - | List all stored secrets |
op secret status | <name> | Check if a secret exists |
Reserved Secret: OPPER_API_KEY is reserved for Opper service authentication. Secret values can be provided as arguments or via secure prompt (recommended for sensitive data).
Async Task Management
| Command | Arguments | Description |
op async list | [--status <status>] [--origin <origin>] [--session <id>] [--client <client>] | List all async tasks |
op async get | <task-id> | Get details for a specific task |
op async delete | <task-id> | Delete a completed task |
Version Management
| Command | Arguments | Description |
op version show | - | Display current version |
op version check | [--pre-release] | Check for available updates |
op version update | [--pre-release] | Update to latest version |
Detailed Command Reference
Global Flags
| Flag | Description | Example |
-h, --help | Show help for command | op agent -h |
--version | Show version information | op --version |
--tui-cpuprofile <file> | Debug TUI performance | op --tui-cpuprofile prof.out |
Agent Bootstrap Flags
| Flag | Description | Default | Example |
-d, --description | Agent description | "" | op agent bootstrap my_agent -d "Processes webhooks" |
--no-start | Skip auto-starting after creation | false | op agent bootstrap my_agent --no-start |
--daemon <name> | Target specific daemon | auto-detect | op agent bootstrap my_agent --daemon production |
Agent List Flags
| Flag | Description | Example |
--running | Show only running agents | op agent list --running |
--stopped | Show only stopped agents | op agent list --stopped |
--crashed | Show only crashed agents | op agent list --crashed |
--daemon <name> | List agents on specific daemon | op agent list --daemon production |
Agent Start/Stop/Restart/Delete Flags
| Flag | Description | Default | Example |
--daemon <name> | Target specific daemon | auto-detect | op agent start my_agent --daemon production |
-a, --all | Stop all agents (stop only) | false | op agent stop --all |
-f, --force | Skip confirmation (delete only) | false | op agent delete my_agent -f |
Agent Move Flags
| Flag | Description | Required | Example |
--to <daemon> | Destination daemon name | Yes | op agent move my_agent --to production |
-f, --force | Force move if conflicts exist | No | op agent move my_agent --to staging -f |
--no-start | Don’t start agent after move | No | op agent move my_agent --to staging --no-start |
Agent Logs Flags
| Flag | Description | Default | Example |
-f, --follow | Follow log output in real-time | false | op agent logs my_agent -f |
-n, --lines int | Number of lines to show (0 = all) | 0 | op agent logs my_agent -n 50 |
--daemon <name> | Target specific daemon | auto-detect | op agent logs my_agent --daemon production |
Agent Command Flags
| Flag | Description | Example |
--args <json> | Pass arguments as JSON | op agent command my_agent process --args '{"id": 123}' |
--timeout <duration> | Set command timeout | op agent command my_agent long_task --timeout 5m |
--daemon <name> | Target specific daemon | op agent command my_agent status --daemon production |
Cloud Deploy Options
The op cloud deploy command launches an interactive wizard that prompts for:
- Cloud provider selection (currently Hetzner)
- Server location/datacenter
- Server type/size
- SSH key configuration
- Daemon name
Cloud Update Flags
| Flag | Description | Default | Example |
--pre-release | Include pre-release versions | false | op cloud update my-daemon --pre-release |
Cloud Destroy Flags
| Flag | Description | Default | Example |
-f, --force | Skip confirmation prompt | false | op cloud destroy my-daemon -f |
Daemon Add Flags
| Flag | Description | Example |
--token <token> | Authentication token for TCP connections | op daemon add prod tcp://host:9999 --token=$TOKEN |
--enabled | Enable daemon immediately | op daemon add prod tcp://host:9999 --enabled |
Daemon Remove Flags
| Flag | Description | Default | Example |
-f, --force | Skip confirmation prompt | false | op daemon remove old_daemon -f |
Async List Flags
| Flag | Description | Example |
--status <status> | Filter by status (pending, running, completed, failed) | op async list --status running |
--origin <origin> | Filter by origin | op async list --origin webhook_processor |
--session <id> | Filter by session ID | op async list --session sess_123 |
--client <client> | Filter by client | op async list --client api |
Version Check/Update Flags
| Flag | Description | Default | Example |
--pre-release | Include pre-release versions | false | op version check --pre-release |
Common Use Cases
Creating a new agent
# Bootstrap a new agent with auto-start
op agent bootstrap my_agent -d "Processes incoming webhooks"
# Bootstrap without starting (for manual setup)
op agent bootstrap my_agent --no-start
# Bootstrap on specific daemon
op agent bootstrap my_agent --daemon production
# The agent is created at ~/.config/opperator/agents/my_agent/
Starting and monitoring an agent
# List available agents
op agent list
# List only running agents
op agent list --running
# Start specific agent
op agent start my_agent
# Follow logs to verify
op agent logs my_agent -f
# View last 100 lines
op agent logs my_agent -n 100
Stopping agents
# Stop specific agent
op agent stop my_agent
# Stop all agents
op agent stop --all
Deleting an agent
# Delete with confirmation prompt
op agent delete old_agent
# Force delete without confirmation
op agent delete old_agent -f
# This removes:
# - Agent directory and files
# - Configuration entry (agents.yaml)
# - Persistent data (agent_data.json)
# - All logs and async tasks
Managing secrets
# Create a secret for API key (will prompt for value)
op secret create GITHUB_TOKEN
# Or provide the value inline
op secret create GITHUB_TOKEN ghp_xxxxx
# Verify it exists
op secret status GITHUB_TOKEN
# List all secrets
op secret list
# Update a secret
op secret update GITHUB_TOKEN
# Delete a secret
op secret delete GITHUB_TOKEN
Monitoring async tasks
# List all background tasks
op async list
# Filter by status
op async list --status running
# Filter by session
op async list --session sess_abc123
# Get details for specific task
op async get task_12345
# Clean up completed task
op async delete task_12345
Debugging issues
# Run diagnostics
op doctor
# Check daemon status
op daemon status
# View agent logs (all lines)
op agent logs my_agent
# View last 100 lines
op agent logs my_agent -n 100
# Follow logs in real-time
op agent logs my_agent -f
Advanced Workflows
Cloud Deployment
# Deploy new cloud VPS (interactive wizard)
op cloud deploy
# Verify deployment
op cloud list
# Push updates to cloud daemon
op cloud update my-cloud-daemon
# Update with pre-release version
op cloud update my-cloud-daemon --pre-release
# Destroy when done
op cloud destroy my-cloud-daemon
# Force destroy without confirmation
op cloud destroy my-cloud-daemon --force
Moving Agents
# Find agent location
op agent where my_agent
# Move to different daemon
op agent move my_agent --to production
# Move without auto-starting
op agent move my_agent --to staging --no-start
# Force move (resolve conflicts)
op agent move my_agent --to prod --force
# Verify new location
op agent where my_agent
Executing Agent Commands
# List available commands for an agent
op agent commands my_agent
# Execute a command
op agent command my_agent process_data
# Execute with arguments
op agent command my_agent process_item --args '{"id": 123, "type": "webhook"}'
# Execute with timeout
op agent command my_agent long_running_task --timeout 10m
# Execute on specific daemon
op agent command my_agent status --daemon production
Filtering Agents
# Show all agents
op agent list
# Show only running agents
op agent list --running
# Show only stopped agents
op agent list --stopped
# Show only crashed agents
op agent list --crashed
# Show agents on specific daemon
op agent list --daemon production
Troubleshooting
Command not found
Ensure Opperator is installed and in your PATH:
which op
# or
which opperator
Daemon not running
The daemon starts automatically with the TUI. To check status:
If the daemon isn’t running:
Agent won’t start
Check configuration and logs:
# Run diagnostics
op doctor
# Check agent logs
op agent logs <agent-name>
# Verify agent exists
op agent list
Agent not found
When commands can’t find your agent:
# List all agents across all daemons
op agent list
# Check which daemons are enabled
op daemon list
# Test daemon connectivity
op daemon test <daemon-name>
# Find specific agent location
op agent where <agent-name>
Agent found on multiple daemons
This indicates a configuration conflict:
# See all locations
op agent where <agent-name>
# Delete duplicates or use force move
op agent delete <agent-name> --daemon <daemon-name> -f
op agent move <agent-name> --to <target-daemon> --force
Remote daemon connection failed
# Verify daemon configuration
op daemon list
# Test connectivity
op daemon test <daemon-name>
# Update token if authentication fails
op daemon remove <daemon-name>
op daemon add <daemon-name> <address> --token=$NEW_TOKEN --enabled
Secret not accessible
Verify the secret exists:
# Check specific secret
op secret status <secret-name>
# List all secrets
op secret list
# Create if missing
op secret create <secret-name>
Cloud deployment SSH issues
# Verify cloud deployment exists
op cloud list
# Check SSH key configuration
# Ensure your SSH key is added to the cloud provider
# Destroy and redeploy if needed
op cloud destroy <daemon-name> --force
op cloud deploy
See also