CLI Reference

Every SquidClaw command, flag, and option β€” with examples.

πŸ¦‘ squidclaw v3.0.33

⚑ Global Flags β€” available on all commands

FlagDescription
--devIsolated dev profile β€” state under ~/.squidclaw-dev, port 19001
--profile <name>Named profile β€” isolates all state under ~/.squidclaw-<name>
--log-level <level>silent | error | warn | info | debug | trace
--no-colorDisable ANSI terminal colors
-V, --versionPrint installed version
-h, --helpShow help for any command

πŸš€ Install & Run

How to install SquidClaw and start your agent.

squidclaw
Smart start β€” no config β†’ launches setup, config exists β†’ starts gateway
βŒ„
πŸ’‘ This is the main entry point. Run it with no arguments β€” it figures out what to do automatically.
Examples
# First run β€” launches onboarding wizard
squidclaw

# Just run the gateway
squidclaw gateway run

# Dev mode β€” isolated state, port 19001
squidclaw --dev
onboard
Full interactive wizard β€” sets up API keys, channels, daemon, and workspace from scratch
βŒ„
$ squidclaw onboard [options]
FlagDescription
--anthropic-api-key <key>Set Anthropic (Claude) API key directly
--openai-api-key <key>Set OpenAI API key directly
--gemini-api-key <key>Set Google Gemini API key directly
--flow <flow>quickstart | advanced | manual
--mode <mode>local | remote
--gateway-token <token>Pre-set gateway auth token
--gateway-port <port>Gateway port 18789
--install-daemonAuto-install gateway as system service
--skip-channelsSkip channel setup
--skip-skillsSkip skills setup
--skip-daemonSkip service install
--non-interactiveNo prompts β€” use with --accept-risk
--accept-riskRequired for --non-interactive mode
--resetWipe config before running wizard
--jsonOutput JSON summary on completion
Examples
# Standard interactive setup
squidclaw onboard

# Headless / scripted setup
squidclaw onboard --non-interactive --accept-risk \
  --anthropic-api-key sk-ant-... \
  --install-daemon --skip-channels

# Fresh start β€” wipe existing config first
squidclaw onboard --reset
setup
Lightweight init β€” creates config file and agent workspace only
βŒ„
$ squidclaw setup [options]
FlagDescription
--workspace <dir>Agent workspace directory ~/.squidclaw/workspace
--mode <mode>local | remote
--remote-url <url>Remote Gateway WebSocket URL
--remote-token <token>Remote Gateway token
--non-interactiveNo prompts
--wizardLaunch full onboarding wizard
πŸ“ Use onboard for a full setup. Use setup when you just need to initialize the config/workspace file only.
doctor
Health checks + auto-fix for gateway, channels, and config issues
βŒ„
$ squidclaw doctor [options]
FlagDescription
--fix, --repairApply all recommended repairs automatically
--forceAggressive repairs β€” overwrites custom service config
--deepScan system services for extra gateway installs
--generate-gateway-tokenRegenerate the gateway auth token
--non-interactiveSafe migrations only, no prompts
--yesAccept all defaults without prompting
--no-workspace-suggestionsSkip workspace memory system suggestions
Examples
# Run health check interactively
squidclaw doctor

# Auto-fix all issues
squidclaw doctor --fix

# Deep scan + aggressive repair
squidclaw doctor --deep --force
configure
Interactive wizard for credentials, channels, gateway, and agent defaults
βŒ„
$ squidclaw configure
πŸ“ Similar to onboard but focused on reconfiguring an existing install.

🌐 Gateway

Control the WebSocket Gateway that connects your agent to all channels.

gateway *
Run, inspect, and control the WebSocket Gateway
βŒ„
SubcommandDescription
gateway runStart gateway in foreground
gateway startStart as background service
gateway stopStop the gateway service
gateway restartRestart the gateway
gateway statusShow service status and health
gateway installInstall as system service (systemd / launchd)
gateway healthFetch live health from running gateway
gateway probeFull reachability + discovery check
gateway tokenManage gateway auth tokens
Examples
# Start gateway on custom port
squidclaw gateway --port 18789

# Kill anything on the port and start fresh
squidclaw gateway --force

# Install as systemd service
squidclaw gateway install

# Check status
squidclaw gateway status
status
Show channel health and recent session recipients
βŒ„
$ squidclaw status

Shows connected channels, recent active sessions, and gateway connection state.

health
Fetch health JSON from the running gateway
βŒ„
$ squidclaw health
πŸ’‘ Useful in scripts β€” returns exit code 0 if gateway is healthy.
logs
Tail gateway file logs via RPC
βŒ„
$ squidclaw logs [--level <level>] [--follow]
Examples
squidclaw logs --follow
squidclaw logs --level debug
dashboard
Open the Control UI in your browser with your current token
βŒ„
$ squidclaw dashboard
tui
Open a terminal chat UI connected to the Gateway
βŒ„
$ squidclaw tui
πŸ’‘ Chat with your agent directly from the terminal β€” no phone or messaging app needed.

πŸ’¬ Channels & Messaging

Connect and manage Telegram, WhatsApp, Discord, Slack, Signal, and more.

channels *
Manage connected chat channels
βŒ„
SubcommandDescription
channels listList all configured channels
channels statusShow live connection status per channel
channels add <type>Add a new channel (telegram, discord, slack, etc.)
channels loginLink WhatsApp by scanning a QR code
channels login --verboseQR scan with detailed connection logs
channels remove <id>Remove a channel by ID
channels reloadReload channel config without restarting
Examples
# Add Telegram bot
squidclaw channels add telegram

# Link WhatsApp (shows QR to scan)
squidclaw channels login whatsapp --verbose

# Add Discord bot
squidclaw channels add discord

# List all channels
squidclaw channels list
message *
Send, read, and manage messages via any configured channel
βŒ„
FlagDescription
message sendSend a message
--channel <name>Target channel: telegram, whatsapp, discord, etc.
--target <id/name>Recipient: phone number, username, or group ID
--message <text>Message text
--jsonPrint result as JSON
Examples
# Send via Telegram
squidclaw message send --channel telegram --target @username --message "Hi"

# Send via WhatsApp
squidclaw message send --target +15555550123 --message "Hello"
directory *
Look up contact and group IDs for your connected channels
βŒ„
$ squidclaw directory [--channel <name>]
πŸ’‘ Use this to find the correct IDs to use with --target in message send.

πŸ€– Agents & Models

Create and manage agents, switch AI models, and inspect sessions.

agents *
Manage isolated agents β€” each with its own workspace, model, and auth
βŒ„
SubcommandDescription
agents listList all configured agents
agents addCreate a new agent
agents delete <id>Remove an agent
agents info <id>Show agent details and config
agent
Run a single agent turn via the Gateway and optionally deliver the reply
βŒ„
$ squidclaw agent --to <target> --message <text> [--deliver]
FlagDescription
--to <target>Target phone number or user ID
--message <text>Message to send to the agent
--deliverSend the agent's reply back via WhatsApp/channel
Example
squidclaw agent --to +15555550123 --message "Run daily summary" --deliver
models *
Discover, scan, and configure AI models
βŒ„
SubcommandDescription
models listList available models from configured providers
models scanAuto-discover models from your API keys
models set <model>Set the default model
models statusShow current model config
models auth addAdd API key for a provider
Examples
# See all available models
squidclaw models list

# Auto-detect models from your API keys
squidclaw models scan

# Switch to Claude Sonnet
squidclaw models set anthropic/claude-sonnet-4-20250514
sessions *
List and inspect stored conversation sessions
βŒ„
$ squidclaw sessions [list] [--limit <n>]

🧠 Tools & Memory

Skills, hooks, long-term memory, and scheduled automation.

skills *
List and inspect available skills (50+ built-in)
βŒ„
SubcommandDescription
skills listList all installed skills
skills info <name>Show skill details and SKILL.md
skills install <name>Install a skill from ClaWHub
hooks *
Manage internal agent hooks (session-memory, bootstrap, etc.)
βŒ„
SubcommandDescription
hooks listList all registered hooks and their event bindings
hooks info <name>Show hook details
hooks enable <name>Enable a hook
hooks disable <name>Disable a hook
memory *
Search and reindex memory files (long-term memory system)
βŒ„
SubcommandDescription
memory search <query>Search memory files semantically
memory reindexRebuild the memory search index
memory statsShow memory usage stats
cron *
Manage scheduled cron jobs via the Gateway scheduler
βŒ„
SubcommandDescription
cron listList all scheduled jobs
cron addCreate a new cron job
cron rm <id>Remove a cron job
cron run <id>Trigger a job immediately
cron statusShow scheduler status
Example
squidclaw cron list
squidclaw cron run <job-id>

πŸ”’ Security & System

Audits, secrets, system events, nodes, and plugins.

security *
Security tools and local config audits
βŒ„
SubcommandDescription
security auditRun full security audit of config + system
security policyView or update security policy
security scanScan for exposed credentials or risks
secrets *
Hot-reload secrets without restarting the gateway
βŒ„
$ squidclaw secrets reload
system *
System events, heartbeat, and presence management
βŒ„
SubcommandDescription
system event <text>Send a system event into the active session
system heartbeatTrigger or configure heartbeat
system presence <status>Set presence: online, idle, dnd
nodes *
Manage paired nodes β€” remote agents, cameras, screens, and more
βŒ„
SubcommandDescription
nodes listList all paired nodes
nodes describe <id>Show node capabilities
nodes notify <id>Send notification to a node
nodes run <id> <cmd>Run a command on a node
plugins *
Manage SquidClaw plugins and extensions
βŒ„
SubcommandDescription
plugins listList installed plugins
plugins install <pkg>Install a plugin by npm package name
plugins remove <name>Uninstall a plugin

πŸ”§ Maintenance

Update, reset, and manage your SquidClaw install.

update *
Update SquidClaw to the latest version
βŒ„
$ squidclaw update [--channel <channel>]
Subcommand / FlagDescription
update statusShow current version + available updates
update runPull + install latest version, then restart
--channel <name>Update channel: stable | next
reset
Reset local config and state β€” keeps the CLI installed
βŒ„
$ squidclaw reset [--scope <scope>]
FlagDescription
--scope configReset config only
--scope config+creds+sessionsReset config, credentials, and sessions
--scope fullFull reset including workspace
⚠️ This cannot be undone. Back up your workspace first.
uninstall
Remove the gateway service and local data β€” keeps the CLI installed
βŒ„
$ squidclaw uninstall
⚠️ Removes the service and all state. CLI binary stays; use npm uninstall -g squidclaw to remove it too.
config *
Non-interactive config helpers β€” read, write, and validate squidclaw.json
βŒ„
SubcommandDescription
config get <key>Read a config value by dot-path
config set <key> <val>Write a config value
config unset <key>Remove a config key
config filePrint the config file path
config validateValidate current config against schema
Examples
squidclaw config get agents.defaults.model.primary
squidclaw config set tools.profile full
squidclaw config validate
completion
Generate shell completion script for bash, zsh, or fish
βŒ„
$ squidclaw completion [--shell bash|zsh|fish]
Example
# Add to ~/.bashrc
squidclaw completion --shell bash >> ~/.bashrc