Common Errors
Startup errors
Section titled “Startup errors”Port 18781 already in use
Section titled “Port 18781 already in use”Another process is using the API port.
# Find what's using itlsof -i :18781
# Stop the conflicting process, or use a different portsnippbot start --port 19000Python 3.11+ required, found 3.10.x
Section titled “Python 3.11+ required, found 3.10.x”Your active Python is too old.
# Check what's being usedwhich python3 && python3 --version
# Install Python 3.11+ and ensure it's on PATH, or activate the venvsource .venv/bin/activateModuleNotFoundError: No module named 'snippbot_core'
Section titled “ModuleNotFoundError: No module named 'snippbot_core'”The Python packages aren’t installed, or the venv isn’t activated.
source .venv/bin/activatepip install -e packages/core packages/local packages/cliANTHROPIC_API_KEY is not set
Section titled “ANTHROPIC_API_KEY is not set”No AI provider is configured.
snippbot config set anthropic_api_key sk-ant-your-key# orexport ANTHROPIC_API_KEY=sk-ant-your-keyAuth errors
Section titled “Auth errors”401 Unauthorized
Section titled “401 Unauthorized”Your token is missing, expired, or invalid.
# Verify your API key workscurl http://localhost:18781/api/auth/validate \ -H "Authorization: Bearer snip_your_key"
# Create a new API key via Settings → API Keys in the UI403 Forbidden
Section titled “403 Forbidden”Your token is valid, but your permission level is insufficient for this action.
Check the operation’s required permission level in Settings > Security.
Setup already complete — cannot re-register
Section titled “Setup already complete — cannot re-register”The POST /api/auth/register endpoint only works when zero users exist.
# To reset and start fresh (creates a backup first)snippbot reset --soft # re-run setup wizardsnippbot reset # full resetTask execution errors
Section titled “Task execution errors”Task stuck in running state
Section titled “Task stuck in running state”The executor may have crashed mid-task.
# Restart the daemonsnippbot stop && snippbot start
# The task will be retried on next startupTask timeout after 300s
Section titled “Task timeout after 300s”The task exceeded the default 5-minute timeout.
Increase the timeout for long-running tasks via the API or increase the global default:
SNIPPBOT_TASK_TIMEOUT=1800 snippbot start # 30 minutesRate limit exceeded (transient failure)
Section titled “Rate limit exceeded (transient failure)”The AI provider returned a 429. Snippbot will automatically retry with exponential backoff. No action needed unless it persists.
Agent workspace not found
Section titled “Agent workspace not found”The agent’s workspace directory was deleted or is inaccessible.
# Check workspace existsls -la ~/.snippbot/workspaces/
# Recreate if missing — daemon will reinitialize on next taskmkdir -p ~/.snippbot/workspaces/Browser automation errors
Section titled “Browser automation errors”Chrome not found
Section titled “Chrome not found”Browser automation requires Chrome or Chromium.
# macOSbrew install --cask google-chrome
# Ubuntu/Debianapt-get install -y chromium-browser
# Or specify pathSNIPPBOT_CHROME_PATH=/usr/bin/chromium snippbot startCDP connection refused
Section titled “CDP connection refused”The browser process crashed or wasn’t started.
# Enable browser debug loggingSNIPPBOT_LOG_LEVEL=debug snippbot starttail -f ~/.snippbot/logs/daemon.log | grep browserSandbox errors
Section titled “Sandbox errors”Docker not found
Section titled “Docker not found”Sandbox execution requires Docker or Podman.
# Install Docker# https://docs.docker.com/engine/install/
# Or use process-based sandbox (no isolation)SNIPPBOT_SANDBOX_BACKEND=process snippbot startContainer failed to start
Section titled “Container failed to start”Docker daemon may not be running.
# macOSopen -a Docker
# Linuxsudo systemctl start dockerDatabase errors
Section titled “Database errors”database is locked
Section titled “database is locked”Another process has the SQLite database open.
# Stop all running instancessnippbot stop --force
# Check for zombie processespgrep -f snippbotkill <pid>disk I/O error or no such table
Section titled “disk I/O error or no such table”Database corruption or migration needed.
# Run health checksnippbot doctor
# Last resort: reset (backup is created first)snippbot resetChannel adapter errors
Section titled “Channel adapter errors”Webhook signature verification failed
Section titled “Webhook signature verification failed”The signing secret doesn’t match what the platform sends.
- Re-check the signing secret in Settings → Channels
- Ensure the webhook URL is correct (Snippbot’s public URL on port 18790)
Adapter server not reachable from internet
Section titled “Adapter server not reachable from internet”Webhooks require a publicly accessible URL. In development, use a tunnel:
# ngrok (free tier)ngrok http 18790
# cloudflared tunnelcloudflared tunnel --url http://localhost:18790Getting more help
Section titled “Getting more help”snippbot doctor # Automated health checksnippbot doctor --fix # Try auto-fixes
tail -f ~/.snippbot/logs/daemon.log # Live logsSee also: Debug Guide and FAQ.