FAQ
General
Section titled “General”What is Snippbot?
Section titled “What is Snippbot?”Snippbot is a self-hosted autonomous AI agent system. You run it on your own machine or server, connect it to AI providers like Anthropic or OpenAI, and it executes tasks, scheduled jobs, and workflows on your behalf — with all your data staying on your infrastructure.
Is Snippbot free?
Section titled “Is Snippbot free?”Yes. The self-hosted version (Phase 1–5) is free and open-source. Future phases will include optional cloud features.
What AI providers does Snippbot support?
Section titled “What AI providers does Snippbot support?”Anthropic (Claude), OpenAI (GPT), Google Gemini, OpenRouter, DeepSeek, Grok, Groq, and Mistral. You can configure multiple providers and assign different models to different agents.
Does Snippbot send my data anywhere?
Section titled “Does Snippbot send my data anywhere?”Only to the AI provider you configure (e.g., Anthropic’s API for Claude). Your prompts, files, and agent memory never leave your server except for the LLM API calls you explicitly enable.
Installation
Section titled “Installation”What are the minimum system requirements?
Section titled “What are the minimum system requirements?”Python 3.11+, Node.js 20+, pnpm 9+, 2 GB RAM, 5 GB disk. See Requirements.
Can I install on a server without a browser?
Section titled “Can I install on a server without a browser?”Yes. Use ./INSTALL.sh --no-browser or snippbot setup --headless. The headless setup prompts for configuration in the terminal.
Can I run multiple instances?
Section titled “Can I run multiple instances?”Yes, by using different ports and data directories:
SNIPPBOT_PORT=18782 SNIPPBOT_DATA_DIR=~/.snippbot2 snippbot startHow do I update Snippbot?
Section titled “How do I update Snippbot?”pip install --upgrade snippbotsnippbot stop && snippbot startOr from source:
git pullpip install -e packages/core packages/local packages/clisnippbot stop && snippbot startConfiguration
Section titled “Configuration”Where is the config file?
Section titled “Where is the config file?”~/.snippbot/config.toml. View its location with:
snippbot config pathHow do I change the port?
Section titled “How do I change the port?”snippbot config set server_port 9000snippbot stop && snippbot start# Or:snippbot start --port 9000Can I use multiple AI providers?
Section titled “Can I use multiple AI providers?”Yes. Configure multiple API keys:
snippbot config set anthropic_api_key sk-ant-...snippbot config set openai_api_key sk-...Then assign each agent its own provider in Agents → Settings → Model.
How do I reset everything?
Section titled “How do I reset everything?”snippbot reset # Full reset (creates backup first)snippbot reset --soft # Just re-run the setup wizardAgents & Projects
Section titled “Agents & Projects”How many agents can I have?
Section titled “How many agents can I have?”Unlimited. Each agent has its own memory, workspace, and model configuration.
Can agents share memory?
Section titled “Can agents share memory?”Not by default — memory is scoped per agent. Sub-agents inherit their parent’s memory context during task execution but maintain separate episode stores.
Why does my project stay in “pending”?
Section titled “Why does my project stay in “pending”?”Projects require explicit approval before execution begins. Approve via:
- Chat UI: click Approve on the plan
- CLI:
snippbot project approve <id> - API:
POST /api/projects/{id}/approve
Can I run tasks without creating a full project?
Section titled “Can I run tasks without creating a full project?”Yes — use the chat interface directly. A message sent to an agent triggers a one-off task without the project planning step.
Scheduler
Section titled “Scheduler”What schedule formats are supported?
Section titled “What schedule formats are supported?”- Cron:
0 9 * * 1-5(weekdays at 9am) - Interval:
every 30 minutes,every 2 hours - One-time:
at 2026-04-01T14:00:00 - Natural language:
every day at 9am,every Monday
Why did my scheduled job stop running?
Section titled “Why did my scheduled job stop running?”Auto-pause activates after 3 consecutive failures. Re-enable it in Scheduler → Job → Enable or via PUT /api/scheduler/jobs/{id} with {"enabled": true}.
Channels
Section titled “Channels”Do I need a public IP for messaging channels?
Section titled “Do I need a public IP for messaging channels?”Yes — Slack, Discord, Telegram, etc. send webhooks to your server. For local development, use ngrok:
ngrok http 18790In production, use a reverse proxy with a proper domain. See Reverse Proxy.
Which messaging platforms are supported?
Section titled “Which messaging platforms are supported?”Slack, Discord, Telegram, WhatsApp Business, Microsoft Teams, and Google Chat.
Browser & Sandbox
Section titled “Browser & Sandbox”Does browser automation require a display?
Section titled “Does browser automation require a display?”No. It runs headless by default (SNIPPBOT_BROWSER_HEADLESS=true). For debugging, set SNIPPBOT_BROWSER_HEADLESS=false and ensure a display is available.
What sandbox backends are available?
Section titled “What sandbox backends are available?”Docker, Podman, and a process-based fallback (no isolation). Auto-detected: SNIPPBOT_SANDBOX_BACKEND=auto.
Security
Section titled “Security”Can I expose Snippbot to the internet?
Section titled “Can I expose Snippbot to the internet?”Yes, but use a reverse proxy with HTTPS, strong API keys, and ideally IP allowlisting. See Security Hardening.
Are API keys stored securely?
Section titled “Are API keys stored securely?”API keys are stored as SHA-256 hashes in ~/.snippbot/auth.db. The raw key is shown only once at creation.