From ef66ad3b5261babb76b0cde5f3de913c0cd2f49a Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Tue, 13 Jan 2026 07:07:41 +0000 Subject: [PATCH] docs: group FAQ sections --- docs/start/faq.md | 186 ++++++++++++++++++++++++++-------------------- 1 file changed, 104 insertions(+), 82 deletions(-) diff --git a/docs/start/faq.md b/docs/start/faq.md index 569a9115b..35e8b62f7 100644 --- a/docs/start/faq.md +++ b/docs/start/faq.md @@ -7,87 +7,105 @@ Quick answers plus deeper troubleshooting for real-world setups (local dev, VPS, ## Table of contents -- [What is Clawdbot, in one paragraph?](#what-is-clawdbot-in-one-paragraph) -- [What’s the recommended way to install and set up Clawdbot?](#whats-the-recommended-way-to-install-and-set-up-clawdbot) -- [How do I open the dashboard after onboarding?](#how-do-i-open-the-dashboard-after-onboarding) -- [How do I authenticate the dashboard (token) on localhost vs remote?](#how-do-i-authenticate-the-dashboard-token-on-localhost-vs-remote) -- [What runtime do I need?](#what-runtime-do-i-need) -- [What does the onboarding wizard actually do?](#what-does-the-onboarding-wizard-actually-do) -- [How does Anthropic "setup-token" auth work?](#how-does-anthropic-setup-token-auth-work) -- [Do you support Claude subscription auth (Claude Code OAuth)?](#do-you-support-claude-subscription-auth-claude-code-oauth) -- [Is AWS Bedrock supported?](#is-aws-bedrock-supported) -- [How does Codex auth work?](#how-does-codex-auth-work) -- [Is a local model OK for casual chats?](#is-a-local-model-ok-for-casual-chats) -- [How do I keep hosted model traffic in a specific region?](#how-do-i-keep-hosted-model-traffic-in-a-specific-region) -- [Can I use Bun?](#can-i-use-bun) -- [Telegram: what goes in `allowFrom`?](#telegram-what-goes-in-allowfrom) -- [Can multiple people use one WhatsApp number with different Clawdbots?](#can-multiple-people-use-one-whatsapp-number-with-different-clawdbots) -- [Can I run a "fast chat" agent and an "Opus for coding" agent?](#can-i-run-a-fast-chat-agent-and-an-opus-for-coding-agent) -- [Does Homebrew work on Linux?](#does-homebrew-work-on-linux) -- [Can I switch between npm and git installs later?](#can-i-switch-between-npm-and-git-installs-later) -- [How do I customize skills without keeping the repo dirty?](#how-do-i-customize-skills-without-keeping-the-repo-dirty) -- [Can I load skills from a custom folder?](#can-i-load-skills-from-a-custom-folder) -- [How can I use different models for different tasks?](#how-can-i-use-different-models-for-different-tasks) -- [How do I install skills on Linux?](#how-do-i-install-skills-on-linux) -- [Is there a dedicated sandboxing doc?](#is-there-a-dedicated-sandboxing-doc) -- [How do I bind a host folder into the sandbox?](#how-do-i-bind-a-host-folder-into-the-sandbox) -- [How does memory work?](#how-does-memory-work) -- [Does semantic memory search require an OpenAI API key?](#does-semantic-memory-search-require-an-openai-api-key) -- [Where does Clawdbot store its data?](#where-does-clawdbot-store-its-data) -- [How do I completely uninstall Clawdbot?](#how-do-i-completely-uninstall-clawdbot) -- [Can agents work outside the workspace?](#can-agents-work-outside-the-workspace) -- [I’m in remote mode — where is the session store?](#im-in-remote-mode-where-is-the-session-store) -- [What format is the config? Where is it?](#what-format-is-the-config-where-is-it) -- [I set `gateway.bind: "lan"` (or `"tailnet"`) and now nothing listens / the UI says unauthorized](#i-set-gatewaybind-lan-or-tailnet-and-now-nothing-listens-the-ui-says-unauthorized) -- [Why do I need a token on localhost now?](#why-do-i-need-a-token-on-localhost-now) -- [Do I have to restart after changing config?](#do-i-have-to-restart-after-changing-config) -- [How do I run a central Gateway with specialized workers across devices?](#how-do-i-run-a-central-gateway-with-specialized-workers-across-devices) -- [Can the Clawdbot browser run headless?](#can-the-clawdbot-browser-run-headless) -- [How do commands propagate between Telegram, the gateway, and nodes?](#how-do-commands-propagate-between-telegram-the-gateway-and-nodes) -- [Do nodes run a gateway daemon?](#do-nodes-run-a-gateway-daemon) -- [Is there an API / RPC way to apply config?](#is-there-an-api-rpc-way-to-apply-config) -- [What’s a minimal “sane” config for a first install?](#whats-a-minimal-sane-config-for-a-first-install) -- [How does Clawdbot load environment variables?](#how-does-clawdbot-load-environment-variables) -- [“I started the Gateway via a daemon and my env vars disappeared.” What now?](#i-started-the-gateway-via-a-daemon-and-my-env-vars-disappeared-what-now) -- [How do I start a fresh conversation?](#how-do-i-start-a-fresh-conversation) -- [How do I completely reset Clawdbot (but keep it installed)?](#how-do-i-completely-reset-clawdbot-but-keep-it-installed) -- [Do I need to add a “bot account” to a WhatsApp group?](#do-i-need-to-add-a-bot-account-to-a-whatsapp-group) -- [Why doesn’t Clawdbot reply in a group?](#why-doesnt-clawdbot-reply-in-a-group) -- [Do groups/threads share context with DMs?](#do-groupsthreads-share-context-with-dms) -- [What is the “default model”?](#what-is-the-default-model) -- [How do I switch models on the fly (without restarting)?](#how-do-i-switch-models-on-the-fly-without-restarting) -- [Why do I see “Model … is not allowed” and then no reply?](#why-do-i-see-model-is-not-allowed-and-then-no-reply) -- [Are opus / sonnet / gpt built‑in shortcuts?](#are-opus-sonnet-gpt-builtin-shortcuts) -- [How do I define/override model shortcuts (aliases)?](#how-do-i-defineoverride-model-shortcuts-aliases) -- [How do I add models from other providers like OpenRouter or Z.AI?](#how-do-i-add-models-from-other-providers-like-openrouter-or-zai) -- [How does failover work?](#how-does-failover-work) -- [What does this error mean?](#what-does-this-error-mean) -- [Fix checklist for `No credentials found for profile "anthropic:default"`](#fix-checklist-for-no-credentials-found-for-profile-anthropicdefault) -- [Why did it also try Google Gemini and fail?](#why-did-it-also-try-google-gemini-and-fail) -- [What is an auth profile?](#what-is-an-auth-profile) -- [What are typical profile IDs?](#what-are-typical-profile-ids) -- [Can I control which auth profile is tried first?](#can-i-control-which-auth-profile-is-tried-first) -- [OAuth vs API key: what’s the difference?](#oauth-vs-api-key-whats-the-difference) -- [What port does the Gateway use?](#what-port-does-the-gateway-use) -- [Why does `clawdbot daemon status` say `Runtime: running` but `RPC probe: failed`?](#why-does-clawdbot-daemon-status-say-runtime-running-but-rpc-probe-failed) -- [Why does `clawdbot daemon status` show `Config (cli)` and `Config (daemon)` different?](#why-does-clawdbot-daemon-status-show-config-cli-and-config-daemon-different) -- [What does “another gateway instance is already listening” mean?](#what-does-another-gateway-instance-is-already-listening-mean) -- [How do I run Clawdbot in remote mode (client connects to a Gateway elsewhere)?](#how-do-i-run-clawdbot-in-remote-mode-client-connects-to-a-gateway-elsewhere) -- [The Control UI says “unauthorized” (or keeps reconnecting). What now?](#the-control-ui-says-unauthorized-or-keeps-reconnecting-what-now) -- [I set `gateway.bind: "tailnet"` but it can’t bind / nothing listens](#i-set-gatewaybind-tailnet-but-it-cant-bind-nothing-listens) -- [Can I run multiple Gateways on the same host?](#can-i-run-multiple-gateways-on-the-same-host) -- [Where are logs?](#where-are-logs) -- [How do I start/stop/restart the Gateway daemon?](#how-do-i-startstoprestart-the-gateway-daemon) -- [What’s the fastest way to get more details when something fails?](#whats-the-fastest-way-to-get-more-details-when-something-fails) -- [My skill generated an image/PDF, but nothing was sent](#my-skill-generated-an-imagepdf-but-nothing-was-sent) -- [Is it safe to expose Clawdbot to inbound DMs?](#is-it-safe-to-expose-clawdbot-to-inbound-dms) -- [WhatsApp: will it message my contacts? How does pairing work?](#whatsapp-will-it-message-my-contacts-how-does-pairing-work) -- [How do I stop/cancel a running task?](#how-do-i-stopcancel-a-running-task) -- [Why does it feel like the bot “ignores” rapid‑fire messages?](#why-does-it-feel-like-the-bot-ignores-rapidfire-messages) -- [“All models failed” — what should I check first?](#all-models-failed-what-should-i-check-first) -- [I’m running on my personal WhatsApp number — why is self-chat weird?](#im-running-on-my-personal-whatsapp-number-why-is-self-chat-weird) -- [WhatsApp logged me out. How do I re‑auth?](#whatsapp-logged-me-out-how-do-i-reauth) -- [Build errors on `main` — what’s the standard fix path?](#build-errors-on-main-whats-the-standard-fix-path) +- [What is Clawdbot?](#what-is-clawdbot) + - [What is Clawdbot, in one paragraph?](#what-is-clawdbot-in-one-paragraph) +- [Quick start and first-run setup](#quick-start-and-first-run-setup) + - [What’s the recommended way to install and set up Clawdbot?](#whats-the-recommended-way-to-install-and-set-up-clawdbot) + - [How do I open the dashboard after onboarding?](#how-do-i-open-the-dashboard-after-onboarding) + - [How do I authenticate the dashboard (token) on localhost vs remote?](#how-do-i-authenticate-the-dashboard-token-on-localhost-vs-remote) + - [What runtime do I need?](#what-runtime-do-i-need) + - [What does the onboarding wizard actually do?](#what-does-the-onboarding-wizard-actually-do) + - [How does Anthropic "setup-token" auth work?](#how-does-anthropic-setup-token-auth-work) + - [Do you support Claude subscription auth (Claude Code OAuth)?](#do-you-support-claude-subscription-auth-claude-code-oauth) + - [Is AWS Bedrock supported?](#is-aws-bedrock-supported) + - [How does Codex auth work?](#how-does-codex-auth-work) + - [Is a local model OK for casual chats?](#is-a-local-model-ok-for-casual-chats) + - [How do I keep hosted model traffic in a specific region?](#how-do-i-keep-hosted-model-traffic-in-a-specific-region) + - [Can I use Bun?](#can-i-use-bun) + - [Telegram: what goes in `allowFrom`?](#telegram-what-goes-in-allowfrom) + - [Can multiple people use one WhatsApp number with different Clawdbots?](#can-multiple-people-use-one-whatsapp-number-with-different-clawdbots) + - [Can I run a "fast chat" agent and an "Opus for coding" agent?](#can-i-run-a-fast-chat-agent-and-an-opus-for-coding-agent) + - [Does Homebrew work on Linux?](#does-homebrew-work-on-linux) + - [Can I switch between npm and git installs later?](#can-i-switch-between-npm-and-git-installs-later) +- [Skills and automation](#skills-and-automation) + - [How do I customize skills without keeping the repo dirty?](#how-do-i-customize-skills-without-keeping-the-repo-dirty) + - [Can I load skills from a custom folder?](#can-i-load-skills-from-a-custom-folder) + - [How can I use different models for different tasks?](#how-can-i-use-different-models-for-different-tasks) + - [How do I install skills on Linux?](#how-do-i-install-skills-on-linux) +- [Sandboxing and memory](#sandboxing-and-memory) + - [Is there a dedicated sandboxing doc?](#is-there-a-dedicated-sandboxing-doc) + - [How do I bind a host folder into the sandbox?](#how-do-i-bind-a-host-folder-into-the-sandbox) + - [How does memory work?](#how-does-memory-work) + - [Does semantic memory search require an OpenAI API key?](#does-semantic-memory-search-require-an-openai-api-key) +- [Where things live on disk](#where-things-live-on-disk) + - [Where does Clawdbot store its data?](#where-does-clawdbot-store-its-data) + - [How do I completely uninstall Clawdbot?](#how-do-i-completely-uninstall-clawdbot) + - [Can agents work outside the workspace?](#can-agents-work-outside-the-workspace) + - [I’m in remote mode — where is the session store?](#im-in-remote-mode-where-is-the-session-store) +- [Config basics](#config-basics) + - [What format is the config? Where is it?](#what-format-is-the-config-where-is-it) + - [I set `gateway.bind: "lan"` (or `"tailnet"`) and now nothing listens / the UI says unauthorized](#i-set-gatewaybind-lan-or-tailnet-and-now-nothing-listens-the-ui-says-unauthorized) + - [Why do I need a token on localhost now?](#why-do-i-need-a-token-on-localhost-now) + - [Do I have to restart after changing config?](#do-i-have-to-restart-after-changing-config) + - [How do I run a central Gateway with specialized workers across devices?](#how-do-i-run-a-central-gateway-with-specialized-workers-across-devices) + - [Can the Clawdbot browser run headless?](#can-the-clawdbot-browser-run-headless) +- [Remote gateways + nodes](#remote-gateways-nodes) + - [How do commands propagate between Telegram, the gateway, and nodes?](#how-do-commands-propagate-between-telegram-the-gateway-and-nodes) + - [Do nodes run a gateway daemon?](#do-nodes-run-a-gateway-daemon) + - [Is there an API / RPC way to apply config?](#is-there-an-api-rpc-way-to-apply-config) + - [What’s a minimal “sane” config for a first install?](#whats-a-minimal-sane-config-for-a-first-install) +- [Env vars and .env loading](#env-vars-and-env-loading) + - [How does Clawdbot load environment variables?](#how-does-clawdbot-load-environment-variables) + - [“I started the Gateway via a daemon and my env vars disappeared.” What now?](#i-started-the-gateway-via-a-daemon-and-my-env-vars-disappeared-what-now) +- [Sessions & multiple chats](#sessions-multiple-chats) + - [How do I start a fresh conversation?](#how-do-i-start-a-fresh-conversation) + - [How do I completely reset Clawdbot (but keep it installed)?](#how-do-i-completely-reset-clawdbot-but-keep-it-installed) + - [Do I need to add a “bot account” to a WhatsApp group?](#do-i-need-to-add-a-bot-account-to-a-whatsapp-group) + - [Why doesn’t Clawdbot reply in a group?](#why-doesnt-clawdbot-reply-in-a-group) + - [Do groups/threads share context with DMs?](#do-groupsthreads-share-context-with-dms) +- [Models: defaults, selection, aliases, switching](#models-defaults-selection-aliases-switching) + - [What is the “default model”?](#what-is-the-default-model) + - [How do I switch models on the fly (without restarting)?](#how-do-i-switch-models-on-the-fly-without-restarting) + - [Why do I see “Model … is not allowed” and then no reply?](#why-do-i-see-model-is-not-allowed-and-then-no-reply) + - [Are opus / sonnet / gpt built‑in shortcuts?](#are-opus-sonnet-gpt-builtin-shortcuts) + - [How do I define/override model shortcuts (aliases)?](#how-do-i-defineoverride-model-shortcuts-aliases) + - [How do I add models from other providers like OpenRouter or Z.AI?](#how-do-i-add-models-from-other-providers-like-openrouter-or-zai) +- [Model failover and “All models failed”](#model-failover-and-all-models-failed) + - [How does failover work?](#how-does-failover-work) + - [What does this error mean?](#what-does-this-error-mean) + - [Fix checklist for `No credentials found for profile "anthropic:default"`](#fix-checklist-for-no-credentials-found-for-profile-anthropicdefault) + - [Why did it also try Google Gemini and fail?](#why-did-it-also-try-google-gemini-and-fail) +- [Auth profiles: what they are and how to manage them](#auth-profiles-what-they-are-and-how-to-manage-them) + - [What is an auth profile?](#what-is-an-auth-profile) + - [What are typical profile IDs?](#what-are-typical-profile-ids) + - [Can I control which auth profile is tried first?](#can-i-control-which-auth-profile-is-tried-first) + - [OAuth vs API key: what’s the difference?](#oauth-vs-api-key-whats-the-difference) +- [Gateway: ports, “already running”, and remote mode](#gateway-ports-already-running-and-remote-mode) + - [What port does the Gateway use?](#what-port-does-the-gateway-use) + - [Why does `clawdbot daemon status` say `Runtime: running` but `RPC probe: failed`?](#why-does-clawdbot-daemon-status-say-runtime-running-but-rpc-probe-failed) + - [Why does `clawdbot daemon status` show `Config (cli)` and `Config (daemon)` different?](#why-does-clawdbot-daemon-status-show-config-cli-and-config-daemon-different) + - [What does “another gateway instance is already listening” mean?](#what-does-another-gateway-instance-is-already-listening-mean) + - [How do I run Clawdbot in remote mode (client connects to a Gateway elsewhere)?](#how-do-i-run-clawdbot-in-remote-mode-client-connects-to-a-gateway-elsewhere) + - [The Control UI says “unauthorized” (or keeps reconnecting). What now?](#the-control-ui-says-unauthorized-or-keeps-reconnecting-what-now) + - [I set `gateway.bind: "tailnet"` but it can’t bind / nothing listens](#i-set-gatewaybind-tailnet-but-it-cant-bind-nothing-listens) + - [Can I run multiple Gateways on the same host?](#can-i-run-multiple-gateways-on-the-same-host) +- [Logging and debugging](#logging-and-debugging) + - [Where are logs?](#where-are-logs) + - [How do I start/stop/restart the Gateway daemon?](#how-do-i-startstoprestart-the-gateway-daemon) + - [What’s the fastest way to get more details when something fails?](#whats-the-fastest-way-to-get-more-details-when-something-fails) +- [Media & attachments](#media-attachments) + - [My skill generated an image/PDF, but nothing was sent](#my-skill-generated-an-imagepdf-but-nothing-was-sent) +- [Security and access control](#security-and-access-control) + - [Is it safe to expose Clawdbot to inbound DMs?](#is-it-safe-to-expose-clawdbot-to-inbound-dms) + - [WhatsApp: will it message my contacts? How does pairing work?](#whatsapp-will-it-message-my-contacts-how-does-pairing-work) +- [Chat commands, aborting tasks, and “it won’t stop”](#chat-commands-aborting-tasks-and-it-wont-stop) + - [How do I stop/cancel a running task?](#how-do-i-stopcancel-a-running-task) + - [Why does it feel like the bot “ignores” rapid‑fire messages?](#why-does-it-feel-like-the-bot-ignores-rapidfire-messages) +- [Common troubleshooting](#common-troubleshooting) + - [“All models failed” — what should I check first?](#all-models-failed-what-should-i-check-first) + - [I’m running on my personal WhatsApp number — why is self-chat weird?](#im-running-on-my-personal-whatsapp-number-why-is-self-chat-weird) + - [WhatsApp logged me out. How do I re‑auth?](#whatsapp-logged-me-out-how-do-i-reauth) + - [Build errors on `main` — what’s the standard fix path?](#build-errors-on-main-whats-the-standard-fix-path) ## First 60 seconds if something's broken @@ -144,7 +162,7 @@ Quick answers plus deeper troubleshooting for real-world setups (local dev, VPS, Clawdbot is a personal AI assistant you run on your own devices. It replies on the messaging surfaces you already use (WhatsApp, Telegram, Slack, Discord, Signal, iMessage, WebChat) and can also do voice + a live Canvas on supported platforms. The **Gateway** is the always‑on control plane; the assistant is the product. -## Quick start and first‑run setup +## Quick start and first-run setup ### What’s the recommended way to install and set up Clawdbot? @@ -280,6 +298,8 @@ clawdbot daemon restart Doctor detects a gateway service entrypoint mismatch and offers to rewrite the service config to match the current install (use `--repair` in automation). +## Skills and automation + ### How do I customize skills without keeping the repo dirty? Use managed overrides instead of editing the repo copy. Put your changes in `~/.clawdbot/skills//SKILL.md` (or add a folder via `skills.load.extraDirs` in `~/.clawdbot/clawdbot.json`). Precedence is `/skills` > `~/.clawdbot/skills` > bundled, so managed overrides win without touching git. Only upstream-worthy edits should live in the repo and go out as PRs. @@ -324,6 +344,8 @@ clawdhub update --all ClawdHub installs into `./skills` under your current directory (or falls back to your configured Clawdbot workspace); Clawdbot treats that as `/skills` on the next session. For shared skills across agents, place them in `~/.clawdbot/skills//SKILL.md`. Some skills expect binaries installed via Homebrew; on Linux that means Linuxbrew (see the Homebrew Linux FAQ entry above). See [Skills](/tools/skills) and [ClawdHub](/tools/clawdhub). +## Sandboxing and memory + ### Is there a dedicated sandboxing doc? Yes. See [Sandboxing](/gateway/sandboxing). For Docker-specific setup (full gateway in Docker or sandbox images), see [Docker](/install/docker).