@poolzin/pool-bot 1.28.0 → 2026.1.26
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +1123 -32
- package/README.md +37 -47
- package/assets/chrome-extension/background.js +5 -5
- package/assets/chrome-extension/manifest.json +3 -3
- package/assets/chrome-extension/options.html +6 -5
- package/assets/chrome-extension/options.js +1 -1
- package/dist/acp/client.js +5 -5
- package/dist/acp/server.js +1 -1
- package/dist/acp/types.js +2 -2
- package/dist/agents/agent-paths.js +3 -3
- package/dist/agents/auth-health.js +6 -2
- package/dist/agents/auth-profiles/doctor.js +1 -1
- package/dist/agents/auth-profiles/external-cli-sync.js +150 -5
- package/dist/agents/auth-profiles/oauth.js +7 -26
- package/dist/agents/auth-profiles/paths.js +3 -3
- package/dist/agents/auth-profiles/store.js +13 -5
- package/dist/agents/bash-tools.shared.js +1 -8
- package/dist/agents/cli-backends.js +0 -8
- package/dist/agents/cli-runner/helpers.js +3 -3
- package/dist/agents/cli-runner.js +2 -2
- package/dist/agents/compaction.js +0 -3
- package/dist/agents/context.js +4 -4
- package/dist/agents/docs-path.js +3 -3
- package/dist/agents/identity.js +1 -1
- package/dist/agents/memory-search.js +2 -7
- package/dist/agents/minimax-vlm.js +1 -1
- package/dist/agents/model-auth.js +1 -1
- package/dist/agents/model-catalog.js +4 -4
- package/dist/agents/model-fallback.js +0 -22
- package/dist/agents/model-selection.js +1 -1
- package/dist/agents/models-config.js +3 -3
- package/dist/agents/models-config.providers.js +4 -4
- package/dist/agents/pi-embedded-helpers/openai.js +1 -1
- package/dist/agents/pi-embedded-runner/cache-ttl.js +1 -1
- package/dist/agents/pi-embedded-runner/compact.js +8 -8
- package/dist/agents/pi-embedded-runner/extensions.js +0 -5
- package/dist/agents/pi-embedded-runner/model.js +2 -2
- package/dist/agents/pi-embedded-runner/run/attempt.js +6 -10
- package/dist/agents/pi-embedded-runner/run.js +4 -4
- package/dist/agents/pi-embedded-runner/sandbox-info.js +4 -1
- package/dist/agents/pi-embedded-runner/utils.js +1 -1
- package/dist/agents/pi-embedded-utils.js +1 -7
- package/dist/agents/pi-extensions/compaction-safeguard.js +3 -32
- package/dist/agents/pi-tools.js +15 -25
- package/dist/agents/pi-tools.policy.js +1 -34
- package/dist/agents/pi-tools.read.js +2 -2
- package/dist/agents/sandbox/browser.js +7 -5
- package/dist/agents/sandbox/config.js +12 -0
- package/dist/agents/sandbox/constants.js +7 -7
- package/dist/agents/sandbox/context.js +3 -3
- package/dist/agents/sandbox/docker.js +8 -8
- package/dist/agents/sandbox/runtime-status.js +1 -1
- package/dist/agents/session-transcript-repair.js +1 -1
- package/dist/agents/session-write-lock.js +0 -68
- package/dist/agents/skills/config.js +8 -9
- package/dist/agents/skills/env-overrides.js +1 -1
- package/dist/agents/skills/frontmatter.js +14 -15
- package/dist/agents/skills/workspace.js +7 -7
- package/dist/agents/skills-install.js +1 -1
- package/dist/agents/skills-status.js +12 -12
- package/dist/agents/subagent-registry.store.js +2 -2
- package/dist/agents/system-prompt.js +32 -21
- package/dist/agents/tool-images.js +1 -1
- package/dist/agents/tool-policy.js +2 -8
- package/dist/agents/tools/browser-tool.js +79 -19
- package/dist/agents/tools/browser-tool.schema.js +2 -1
- package/dist/agents/tools/cron-tool.js +1 -44
- package/dist/agents/tools/discord-actions-guild.js +1 -5
- package/dist/agents/tools/image-tool.js +2 -2
- package/dist/agents/tools/message-tool.js +0 -1
- package/dist/agents/tools/sessions-send-helpers.js +2 -17
- package/dist/agents/tools/telegram-actions.js +1 -93
- package/dist/agents/tools/web-fetch.js +103 -123
- package/dist/agents/tools/web-search.js +7 -7
- package/dist/agents/workspace.js +0 -36
- package/dist/auto-reply/commands-registry.data.js +3 -68
- package/dist/auto-reply/commands-registry.js +11 -14
- package/dist/auto-reply/reply/agent-runner-execution.js +3 -21
- package/dist/auto-reply/reply/agent-runner-memory.js +0 -5
- package/dist/auto-reply/reply/bash-command.js +2 -2
- package/dist/auto-reply/reply/commands-context-report.js +2 -2
- package/dist/auto-reply/reply/commands-info.js +5 -50
- package/dist/auto-reply/reply/commands-session.js +4 -4
- package/dist/auto-reply/reply/commands-tts.js +63 -61
- package/dist/auto-reply/reply/directive-handling.shared.js +1 -1
- package/dist/auto-reply/reply/dispatch-from-config.js +1 -65
- package/dist/auto-reply/reply/followup-runner.js +0 -5
- package/dist/auto-reply/reply/get-reply-inline-actions.js +2 -2
- package/dist/auto-reply/reply/get-reply-run.js +0 -4
- package/dist/auto-reply/reply/groups.js +1 -1
- package/dist/auto-reply/reply/history.js +0 -23
- package/dist/auto-reply/reply/reply-elevated.js +1 -1
- package/dist/auto-reply/reply/session-updates.js +1 -6
- package/dist/auto-reply/status.js +49 -141
- package/dist/browser/bridge-server.js +3 -1
- package/dist/browser/client-actions-core.js +7 -13
- package/dist/browser/client-actions-observe.js +8 -14
- package/dist/browser/client-actions-state.js +15 -21
- package/dist/browser/client-fetch.js +61 -74
- package/dist/browser/client.js +21 -19
- package/dist/browser/config.js +26 -13
- package/dist/browser/constants.js +1 -1
- package/dist/browser/extension-relay.js +3 -3
- package/dist/browser/pw-session.js +4 -41
- package/dist/browser/pw-tools-core.downloads.js +1 -1
- package/dist/browser/pw-tools-core.interactions.js +5 -5
- package/dist/browser/pw-tools-core.responses.js +1 -1
- package/dist/browser/routes/agent.act.js +0 -13
- package/dist/browser/routes/agent.debug.js +1 -1
- package/dist/browser/routes/basic.js +1 -0
- package/dist/browser/server-context.js +3 -3
- package/dist/browser/server.js +9 -7
- package/dist/build-info.json +3 -3
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/canvas-host/a2ui/a2ui.bundle.js +1618 -1620
- package/dist/canvas-host/a2ui/index.html +28 -28
- package/dist/canvas-host/a2ui.js +19 -25
- package/dist/canvas-host/server.js +32 -66
- package/dist/channels/plugins/actions/discord/handle-action.guild-admin.js +1 -5
- package/dist/channels/plugins/actions/telegram.js +7 -60
- package/dist/channels/plugins/catalog.js +4 -6
- package/dist/channels/plugins/group-mentions.js +1 -48
- package/dist/channels/plugins/helpers.js +2 -2
- package/dist/channels/plugins/message-action-names.js +0 -1
- package/dist/channels/plugins/onboarding/imessage.js +1 -1
- package/dist/channels/plugins/onboarding/signal.js +2 -2
- package/dist/channels/plugins/onboarding/slack.js +4 -4
- package/dist/channels/plugins/onboarding/telegram.js +9 -17
- package/dist/channels/plugins/onboarding/whatsapp.js +4 -4
- package/dist/channels/plugins/outbound/telegram.js +0 -38
- package/dist/channels/plugins/pairing-message.js +1 -1
- package/dist/channels/plugins/status-issues/bluebubbles.js +1 -1
- package/dist/channels/plugins/status-issues/whatsapp.js +2 -2
- package/dist/channels/registry.js +1 -1
- package/dist/cli/acp-cli.js +2 -2
- package/dist/cli/argv.js +7 -14
- package/dist/cli/banner.js +1 -3
- package/dist/cli/browser-cli-actions-input/register.element.js +44 -72
- package/dist/cli/browser-cli-actions-input/register.files-downloads.js +35 -55
- package/dist/cli/browser-cli-actions-input/register.form-wait-eval.js +28 -41
- package/dist/cli/browser-cli-actions-input/register.navigation.js +14 -23
- package/dist/cli/browser-cli-actions-input/shared.js +3 -10
- package/dist/cli/browser-cli-actions-observe.js +21 -29
- package/dist/cli/browser-cli-debug.js +35 -49
- package/dist/cli/browser-cli-examples.js +29 -29
- package/dist/cli/browser-cli-extension.js +8 -8
- package/dist/cli/browser-cli-inspect.js +17 -23
- package/dist/cli/browser-cli-manage.js +56 -106
- package/dist/cli/browser-cli-shared.js +1 -34
- package/dist/cli/browser-cli-state.cookies-storage.js +39 -53
- package/dist/cli/browser-cli-state.js +64 -90
- package/dist/cli/browser-cli.js +5 -4
- package/dist/cli/channels-cli.js +1 -1
- package/dist/cli/command-format.js +7 -11
- package/dist/cli/config-cli.js +2 -2
- package/dist/cli/cron-cli/register.js +1 -1
- package/dist/cli/daemon-cli/install.js +1 -1
- package/dist/cli/daemon-cli/register.js +1 -1
- package/dist/cli/daemon-cli/shared.js +3 -5
- package/dist/cli/daemon-cli/status.print.js +6 -6
- package/dist/cli/directory-cli.js +1 -1
- package/dist/cli/dns-cli.js +7 -7
- package/dist/cli/docs-cli.js +2 -2
- package/dist/cli/exec-approvals-cli.js +2 -2
- package/dist/cli/gateway-cli/dev.js +4 -4
- package/dist/cli/gateway-cli/register.js +1 -1
- package/dist/cli/gateway-cli/run.js +8 -11
- package/dist/cli/gateway-cli/shared.js +4 -4
- package/dist/cli/hooks-cli.js +3 -3
- package/dist/cli/logs-cli.js +3 -3
- package/dist/cli/memory-cli.js +1 -1
- package/dist/cli/models-cli.js +2 -2
- package/dist/cli/node-cli/daemon.js +2 -2
- package/dist/cli/node-cli/register.js +1 -1
- package/dist/cli/nodes-camera.js +1 -3
- package/dist/cli/nodes-canvas.js +1 -3
- package/dist/cli/nodes-cli/register.canvas.js +1 -1
- package/dist/cli/nodes-cli/register.js +1 -1
- package/dist/cli/nodes-screen.js +1 -1
- package/dist/cli/pairing-cli.js +3 -3
- package/dist/cli/plugin-registry.js +2 -2
- package/dist/cli/plugins-cli.js +3 -3
- package/dist/cli/profile.js +1 -1
- package/dist/cli/program/config-guard.js +1 -1
- package/dist/cli/program/help.js +14 -13
- package/dist/cli/program/message/register.send.js +1 -2
- package/dist/cli/program/preaction.js +2 -4
- package/dist/cli/program/register.agent.js +12 -12
- package/dist/cli/program/register.configure.js +1 -1
- package/dist/cli/program/register.maintenance.js +4 -4
- package/dist/cli/program/register.message.js +5 -5
- package/dist/cli/program/register.onboard.js +3 -5
- package/dist/cli/program/register.setup.js +2 -2
- package/dist/cli/program/register.status-health-sessions.js +13 -13
- package/dist/cli/run-main.js +4 -11
- package/dist/cli/sandbox-cli.js +19 -19
- package/dist/cli/security-cli.js +8 -18
- package/dist/cli/skills-cli.js +3 -3
- package/dist/cli/system-cli.js +1 -1
- package/dist/cli/tagline.js +1 -1
- package/dist/cli/tui-cli.js +1 -1
- package/dist/cli/update-cli.js +42 -58
- package/dist/cli/webhooks-cli.js +6 -6
- package/dist/commands/agent-via-gateway.js +1 -1
- package/dist/commands/agent.js +1 -2
- package/dist/commands/agents.command-shared.js +1 -1
- package/dist/commands/agents.commands.add.js +3 -2
- package/dist/commands/agents.commands.list.js +1 -1
- package/dist/commands/auth-choice-options.js +54 -4
- package/dist/commands/auth-choice.apply.anthropic.js +109 -6
- package/dist/commands/auth-choice.apply.openai.js +33 -1
- package/dist/commands/auth-choice.apply.plugin-provider.js +2 -2
- package/dist/commands/channels/list.js +2 -2
- package/dist/commands/channels/shared.js +1 -1
- package/dist/commands/channels/status.js +1 -1
- package/dist/commands/chutes-oauth.js +1 -1
- package/dist/commands/configure.channels.js +4 -4
- package/dist/commands/configure.gateway-auth.js +8 -1
- package/dist/commands/configure.gateway.js +10 -1
- package/dist/commands/configure.wizard.js +11 -11
- package/dist/commands/daemon-install-helpers.js +1 -1
- package/dist/commands/dashboard.js +1 -1
- package/dist/commands/docs.js +5 -5
- package/dist/commands/doctor-auth.js +3 -122
- package/dist/commands/doctor-config-flow.js +7 -7
- package/dist/commands/doctor-format.js +2 -2
- package/dist/commands/doctor-gateway-daemon-flow.js +1 -1
- package/dist/commands/doctor-gateway-services.js +3 -3
- package/dist/commands/doctor-security.js +1 -48
- package/dist/commands/doctor-ui.js +2 -2
- package/dist/commands/doctor-update.js +4 -4
- package/dist/commands/doctor-workspace-status.js +2 -2
- package/dist/commands/doctor-workspace.js +4 -4
- package/dist/commands/doctor.js +12 -13
- package/dist/commands/gateway-status.js +2 -2
- package/dist/commands/models/auth.js +22 -23
- package/dist/commands/models/list.probe.js +2 -2
- package/dist/commands/models/list.registry.js +4 -4
- package/dist/commands/models/list.status-command.js +9 -8
- package/dist/commands/onboard-auth.credentials.js +2 -2
- package/dist/commands/onboard-channels.js +3 -3
- package/dist/commands/onboard-helpers.js +4 -4
- package/dist/commands/onboard-hooks.js +4 -4
- package/dist/commands/onboard-non-interactive/local/auth-choice.js +34 -38
- package/dist/commands/onboard-non-interactive/local/gateway-config.js +4 -7
- package/dist/commands/onboard-non-interactive/local.js +1 -1
- package/dist/commands/onboard-non-interactive/remote.js +1 -1
- package/dist/commands/onboard-non-interactive.js +1 -1
- package/dist/commands/onboard-remote.js +2 -2
- package/dist/commands/onboard-skills.js +2 -2
- package/dist/commands/onboard.js +4 -25
- package/dist/commands/onboarding/plugin-install.js +2 -2
- package/dist/commands/reset.js +3 -3
- package/dist/commands/sandbox-display.js +1 -1
- package/dist/commands/sandbox-explain.js +2 -2
- package/dist/commands/setup.js +2 -2
- package/dist/commands/signal-install.js +2 -2
- package/dist/commands/status-all/diagnosis.js +1 -1
- package/dist/commands/status-all/report-lines.js +1 -1
- package/dist/commands/status-all.js +3 -3
- package/dist/commands/status.command.js +9 -9
- package/dist/commands/status.update.js +3 -3
- package/dist/commands/uninstall.js +3 -3
- package/dist/config/config.js +1 -1
- package/dist/config/group-policy.js +0 -69
- package/dist/config/io.js +5 -17
- package/dist/config/legacy.migrations.part-3.js +0 -3
- package/dist/config/logging.js +3 -3
- package/dist/config/paths.js +13 -43
- package/dist/config/schema.js +9 -21
- package/dist/config/sessions/transcript.js +1 -1
- package/dist/config/validation.js +2 -2
- package/dist/config/version.js +4 -4
- package/dist/config/zod-schema.agent-defaults.js +0 -1
- package/dist/config/zod-schema.agent-runtime.js +7 -39
- package/dist/config/zod-schema.hooks.js +0 -2
- package/dist/config/zod-schema.js +3 -9
- package/dist/config/zod-schema.providers-core.js +0 -23
- package/dist/config/zod-schema.providers-whatsapp.js +0 -3
- package/dist/control-ui/assets/{index-HlBhZmfj.js → index-Cl-Y9zqE.js} +578 -620
- package/dist/control-ui/assets/index-Cl-Y9zqE.js.map +1 -0
- package/dist/control-ui/assets/index-DEPfFcOb.css +1 -0
- package/dist/control-ui/index.html +4 -4
- package/dist/cron/isolated-agent/run.js +3 -38
- package/dist/daemon/constants.js +12 -12
- package/dist/daemon/inspect.js +11 -11
- package/dist/daemon/program-args.js +1 -1
- package/dist/daemon/systemd-hints.js +1 -1
- package/dist/daemon/systemd-unit.js +1 -1
- package/dist/discord/monitor/listeners.js +1 -25
- package/dist/discord/monitor/native-command.js +5 -7
- package/dist/discord/monitor/provider.js +7 -21
- package/dist/entry.js +4 -4
- package/dist/gateway/auth.js +19 -52
- package/dist/gateway/hooks-mapping.js +4 -18
- package/dist/gateway/hooks.js +7 -5
- package/dist/gateway/http-utils.js +5 -3
- package/dist/gateway/net.js +1 -1
- package/dist/gateway/openai-http.js +3 -3
- package/dist/gateway/openresponses-http.js +4 -4
- package/dist/gateway/protocol/client-info.js +5 -5
- package/dist/gateway/protocol/schema/logs-chat.js +1 -1
- package/dist/gateway/server/health-state.js +3 -3
- package/dist/gateway/server/hooks.js +0 -1
- package/dist/gateway/server/ws-connection/message-handler.js +35 -44
- package/dist/gateway/server-browser.js +3 -14
- package/dist/gateway/server-chat.js +2 -28
- package/dist/gateway/server-discovery-runtime.js +17 -25
- package/dist/gateway/server-discovery.js +5 -5
- package/dist/gateway/server-http.js +3 -9
- package/dist/gateway/server-methods/agent.js +0 -2
- package/dist/gateway/server-methods/chat.js +0 -5
- package/dist/gateway/server-methods/config.js +8 -8
- package/dist/gateway/server-methods/logs.js +1 -1
- package/dist/gateway/server-methods/skills.js +3 -3
- package/dist/gateway/server-methods/update.js +2 -2
- package/dist/gateway/server-methods-list.js +0 -1
- package/dist/gateway/server-methods.js +0 -3
- package/dist/gateway/server-plugins.js +2 -2
- package/dist/gateway/server-restart-sentinel.js +5 -10
- package/dist/gateway/server-runtime-config.js +2 -5
- package/dist/gateway/server.impl.js +6 -7
- package/dist/gateway/session-utils.js +11 -31
- package/dist/gateway/test-helpers.mocks.js +5 -5
- package/dist/gateway/test-helpers.server.js +9 -28
- package/dist/gateway/tools-invoke-http.js +8 -15
- package/dist/hooks/bundled/boot-md/HOOK.md +3 -3
- package/dist/hooks/bundled/command-logger/HOOK.md +5 -5
- package/dist/hooks/bundled/session-memory/HOOK.md +4 -4
- package/dist/hooks/bundled/session-memory/handler.js +2 -2
- package/dist/hooks/bundled/soul-evil/HOOK.md +5 -5
- package/dist/hooks/bundled-dir.js +1 -1
- package/dist/hooks/config.js +7 -8
- package/dist/hooks/frontmatter.js +15 -16
- package/dist/hooks/gmail-ops.js +4 -4
- package/dist/hooks/hooks-status.js +13 -13
- package/dist/hooks/install.js +7 -8
- package/dist/hooks/internal-hooks.js +1 -1
- package/dist/hooks/llm-slug-generator.js +1 -1
- package/dist/hooks/loader.js +3 -3
- package/dist/hooks/plugin-hooks.js +8 -8
- package/dist/hooks/workspace.js +9 -10
- package/dist/imessage/monitor/monitor-provider.js +2 -2
- package/dist/index.js +4 -4
- package/dist/infra/agent-events.js +0 -3
- package/dist/infra/bonjour-discovery.js +9 -9
- package/dist/infra/bonjour.js +12 -19
- package/dist/infra/gateway-lock.js +1 -1
- package/dist/infra/heartbeat-visibility.js +0 -14
- package/dist/infra/heartbeat-wake.js +2 -2
- package/dist/infra/machine-name.js +1 -1
- package/dist/infra/net/ssrf.js +1 -77
- package/dist/infra/outbound/message-action-spec.js +0 -1
- package/dist/infra/outbound/targets.js +1 -1
- package/dist/infra/path-env.js +7 -7
- package/dist/infra/ports-format.js +2 -2
- package/dist/infra/ports.js +2 -2
- package/dist/infra/provider-usage.auth.js +4 -2
- package/dist/infra/provider-usage.fetch.claude.js +1 -1
- package/dist/infra/provider-usage.fetch.minimax.js +1 -1
- package/dist/infra/restart-sentinel.js +1 -1
- package/dist/infra/restart.js +1 -1
- package/dist/infra/retry-policy.js +1 -4
- package/dist/infra/runtime-guard.js +2 -2
- package/dist/infra/shell-env.js +1 -1
- package/dist/infra/skills-remote.js +3 -3
- package/dist/infra/tailscale.js +1 -63
- package/dist/infra/tls/gateway.js +1 -1
- package/dist/infra/unhandled-rejections.js +2 -89
- package/dist/infra/update-check.js +4 -2
- package/dist/infra/update-global.js +5 -5
- package/dist/infra/update-runner.js +8 -32
- package/dist/infra/update-startup.js +3 -3
- package/dist/infra/warnings.js +1 -1
- package/dist/infra/widearea-dns.js +10 -10
- package/dist/line/monitor.js +5 -1
- package/dist/line/webhook.js +6 -2
- package/dist/logging/logger.js +4 -4
- package/dist/macos/gateway-daemon.js +2 -2
- package/dist/macos/relay.js +4 -4
- package/dist/media/host.js +1 -1
- package/dist/media/image-ops.js +1 -1
- package/dist/media/input-files.js +32 -40
- package/dist/media/server.js +15 -39
- package/dist/media/store.js +52 -72
- package/dist/media-understanding/attachments.js +1 -1
- package/dist/media-understanding/providers/image.js +2 -2
- package/dist/media-understanding/runner.js +1 -33
- package/dist/memory/batch-gemini.js +1 -1
- package/dist/memory/batch-openai.js +1 -1
- package/dist/memory/embeddings.js +1 -1
- package/dist/node-host/runner.js +56 -60
- package/dist/pairing/pairing-messages.js +2 -2
- package/dist/plugin-sdk/index.js +0 -1
- package/dist/plugins/cli.js +2 -2
- package/dist/plugins/discovery.js +4 -5
- package/dist/plugins/install.js +7 -8
- package/dist/plugins/loader.js +4 -11
- package/dist/plugins/manifest-registry.js +2 -2
- package/dist/plugins/manifest.js +1 -16
- package/dist/plugins/providers.js +2 -2
- package/dist/plugins/registry.js +5 -5
- package/dist/plugins/runtime.js +1 -1
- package/dist/plugins/services.js +3 -3
- package/dist/plugins/status.js +2 -2
- package/dist/plugins/tools.js +2 -2
- package/dist/plugins/update.js +3 -3
- package/dist/providers/qwen-portal-oauth.js +1 -1
- package/dist/routing/session-key.js +12 -17
- package/dist/security/audit-extra.js +69 -116
- package/dist/security/audit-fs.js +0 -78
- package/dist/security/audit.js +88 -121
- package/dist/security/fix.js +8 -93
- package/dist/slack/monitor/media.js +4 -32
- package/dist/slack/monitor/message-handler/dispatch.js +1 -2
- package/dist/slack/monitor/slash.js +3 -3
- package/dist/slack/monitor.test-helpers.js +1 -1
- package/dist/telegram/bot/delivery.js +22 -139
- package/dist/telegram/bot-handlers.js +8 -70
- package/dist/telegram/bot-message-context.js +21 -79
- package/dist/telegram/bot-message-dispatch.js +0 -64
- package/dist/telegram/bot-native-commands.js +94 -244
- package/dist/telegram/bot.js +2 -18
- package/dist/telegram/fetch.js +1 -25
- package/dist/telegram/monitor.js +3 -11
- package/dist/telegram/send.js +4 -148
- package/dist/telegram/webhook-set.js +6 -13
- package/dist/telegram/webhook.js +3 -8
- package/dist/terminal/links.js +1 -1
- package/dist/tts/tts.js +22 -27
- package/dist/tui/components/filterable-select-list.js +1 -1
- package/dist/tui/components/searchable-select-list.js +1 -2
- package/dist/tui/gateway-chat.js +1 -1
- package/dist/tui/tui.js +1 -1
- package/dist/version.js +1 -1
- package/dist/web/active-listener.js +1 -1
- package/dist/web/auth-store.js +1 -1
- package/dist/web/auto-reply/monitor/process-message.js +1 -1
- package/dist/web/auto-reply/monitor.js +1 -1
- package/dist/web/login.js +1 -1
- package/dist/web/session.js +2 -2
- package/dist/wizard/onboarding.finalize.js +14 -14
- package/dist/wizard/onboarding.gateway-config.js +11 -1
- package/dist/wizard/onboarding.js +10 -21
- package/docs/CNAME +1 -1
- package/docs/POOL-BOT.md +119 -0
- package/docs/_config.yml +2 -2
- package/docs/_layouts/default.html +9 -9
- package/docs/assets/terminal.css +0 -3
- package/docs/assets/theme.js +1 -1
- package/docs/automation/auth-monitoring.md +7 -7
- package/docs/automation/cron-jobs.md +13 -13
- package/docs/automation/cron-vs-heartbeat.md +8 -8
- package/docs/automation/gmail-pubsub.md +21 -23
- package/docs/automation/poll.md +6 -6
- package/docs/automation/webhook.md +8 -13
- package/docs/bedrock.md +10 -10
- package/docs/brave-search.md +1 -1
- package/docs/broadcast-groups.md +3 -3
- package/docs/channels/bluebubbles.md +12 -13
- package/docs/channels/discord.md +16 -21
- package/docs/channels/googlechat.md +15 -15
- package/docs/channels/imessage.md +10 -10
- package/docs/channels/index.md +4 -6
- package/docs/channels/location.md +1 -1
- package/docs/channels/matrix.md +13 -13
- package/docs/channels/mattermost.md +8 -8
- package/docs/channels/msteams.md +25 -29
- package/docs/channels/nextcloud-talk.md +7 -7
- package/docs/channels/nostr.md +9 -9
- package/docs/channels/signal.md +9 -9
- package/docs/channels/slack.md +13 -15
- package/docs/channels/telegram.md +20 -149
- package/docs/channels/tlon.md +5 -5
- package/docs/channels/troubleshooting.md +2 -2
- package/docs/channels/whatsapp.md +23 -23
- package/docs/channels/zalo.md +8 -8
- package/docs/channels/zalouser.md +12 -12
- package/docs/cli/acp.md +24 -24
- package/docs/cli/agent.md +6 -6
- package/docs/cli/agents.md +9 -9
- package/docs/cli/approvals.md +13 -13
- package/docs/cli/browser.md +35 -33
- package/docs/cli/channels.md +21 -21
- package/docs/cli/config.md +15 -15
- package/docs/cli/configure.md +6 -6
- package/docs/cli/cron.md +5 -5
- package/docs/cli/dashboard.md +4 -4
- package/docs/cli/devices.md +13 -13
- package/docs/cli/directory.md +12 -12
- package/docs/cli/dns.md +5 -5
- package/docs/cli/docs.md +5 -5
- package/docs/cli/doctor.md +6 -6
- package/docs/cli/gateway.md +24 -24
- package/docs/cli/health.md +5 -5
- package/docs/cli/hooks.md +28 -28
- package/docs/cli/index.md +50 -44
- package/docs/cli/logs.md +6 -6
- package/docs/cli/memory.md +11 -11
- package/docs/cli/message.md +11 -11
- package/docs/cli/models.md +17 -17
- package/docs/cli/node.md +12 -12
- package/docs/cli/nodes.md +14 -14
- package/docs/cli/onboard.md +6 -7
- package/docs/cli/pairing.md +4 -4
- package/docs/cli/plugins.md +16 -16
- package/docs/cli/reset.md +5 -5
- package/docs/cli/sandbox.md +28 -28
- package/docs/cli/security.md +5 -5
- package/docs/cli/sessions.md +5 -5
- package/docs/cli/setup.md +6 -6
- package/docs/cli/skills.md +6 -6
- package/docs/cli/status.md +7 -7
- package/docs/cli/system.md +6 -6
- package/docs/cli/tui.md +5 -5
- package/docs/cli/uninstall.md +5 -5
- package/docs/cli/update.md +20 -20
- package/docs/cli/voicecall.md +9 -9
- package/docs/cli/webhooks.md +5 -5
- package/docs/concepts/agent-loop.md +5 -5
- package/docs/concepts/agent-workspace.md +11 -11
- package/docs/concepts/agent.md +10 -10
- package/docs/concepts/architecture.md +1 -1
- package/docs/concepts/channel-routing.md +2 -2
- package/docs/concepts/compaction.md +5 -5
- package/docs/concepts/context.md +6 -6
- package/docs/concepts/group-messages.md +5 -5
- package/docs/concepts/groups.md +5 -41
- package/docs/concepts/markdown-formatting.md +3 -3
- package/docs/concepts/memory.md +12 -12
- package/docs/concepts/messages.md +4 -4
- package/docs/concepts/model-failover.md +11 -11
- package/docs/concepts/model-providers.md +22 -22
- package/docs/concepts/models.md +26 -26
- package/docs/concepts/multi-agent.md +5 -5
- package/docs/concepts/oauth.md +55 -28
- package/docs/concepts/presence.md +2 -2
- package/docs/concepts/retry.md +1 -1
- package/docs/concepts/session-pruning.md +1 -1
- package/docs/concepts/session-tool.md +4 -4
- package/docs/concepts/session.md +11 -11
- package/docs/concepts/streaming.md +3 -3
- package/docs/concepts/system-prompt.md +11 -11
- package/docs/concepts/timezone.md +2 -2
- package/docs/concepts/typebox.md +2 -2
- package/docs/concepts/typing-indicators.md +2 -2
- package/docs/concepts/usage-tracking.md +3 -3
- package/docs/date-time.md +2 -2
- package/docs/debug/node-issue.md +4 -4
- package/docs/debugging.md +9 -9
- package/docs/diagnostics/flags.md +5 -5
- package/docs/docs.json +7 -37
- package/docs/environment.md +3 -3
- package/docs/experiments/plans/cron-add-hardening.md +1 -1
- package/docs/experiments/plans/openresponses-gateway.md +2 -2
- package/docs/experiments/research/memory.md +6 -6
- package/docs/gateway/authentication.md +54 -30
- package/docs/gateway/background-process.md +1 -1
- package/docs/gateway/bonjour.md +21 -21
- package/docs/gateway/bridge-protocol.md +2 -2
- package/docs/gateway/cli-backends.md +12 -13
- package/docs/gateway/configuration-examples.md +10 -10
- package/docs/gateway/configuration.md +107 -120
- package/docs/gateway/discovery.md +6 -6
- package/docs/gateway/doctor.md +21 -21
- package/docs/gateway/gateway-lock.md +1 -1
- package/docs/gateway/health.md +9 -9
- package/docs/gateway/heartbeat.md +5 -5
- package/docs/gateway/index.md +51 -51
- package/docs/gateway/local-models.md +2 -2
- package/docs/gateway/logging.md +8 -8
- package/docs/gateway/multiple-gateways.md +19 -19
- package/docs/gateway/openai-http-api.md +10 -10
- package/docs/gateway/openresponses-http-api.md +10 -10
- package/docs/gateway/pairing.md +5 -5
- package/docs/gateway/protocol.md +4 -5
- package/docs/gateway/remote-gateway-readme.md +8 -8
- package/docs/gateway/remote.md +4 -4
- package/docs/gateway/sandbox-vs-tool-policy-vs-elevated.md +7 -10
- package/docs/gateway/sandboxing.md +5 -7
- package/docs/gateway/{security/index.md → security.md} +63 -143
- package/docs/gateway/tailscale.md +35 -16
- package/docs/gateway/tools-invoke-http-api.md +3 -3
- package/docs/gateway/troubleshooting.md +106 -101
- package/docs/help/faq.md +312 -303
- package/docs/help/troubleshooting.md +15 -15
- package/docs/hooks/soul-evil.md +2 -2
- package/docs/hooks.md +44 -44
- package/docs/index.md +33 -33
- package/docs/install/ansible.md +35 -35
- package/docs/install/development-channels.md +10 -10
- package/docs/install/docker.md +27 -27
- package/docs/install/index.md +27 -28
- package/docs/install/installer.md +21 -21
- package/docs/install/nix.md +16 -16
- package/docs/install/node.md +6 -7
- package/docs/install/uninstall.md +21 -21
- package/docs/install/updating.md +47 -48
- package/docs/logging.md +58 -58
- package/docs/multi-agent-sandbox-tools.md +5 -5
- package/docs/network.md +1 -1
- package/docs/nodes/audio.md +2 -2
- package/docs/nodes/camera.md +18 -18
- package/docs/nodes/images.md +4 -4
- package/docs/nodes/index.md +50 -50
- package/docs/nodes/location-command.md +2 -2
- package/docs/nodes/media-understanding.md +5 -5
- package/docs/nodes/talk.md +1 -1
- package/docs/nodes/voicewake.md +1 -1
- package/docs/perplexity.md +2 -2
- package/docs/platforms/android.md +13 -13
- package/docs/platforms/exe-dev.md +23 -23
- package/docs/platforms/fly.md +18 -129
- package/docs/platforms/hetzner.md +20 -20
- package/docs/platforms/index.md +8 -8
- package/docs/platforms/ios.md +13 -13
- package/docs/platforms/linux.md +11 -11
- package/docs/platforms/mac/bundled-gateway.md +11 -11
- package/docs/platforms/mac/canvas.md +14 -14
- package/docs/platforms/mac/child-process.md +1 -1
- package/docs/platforms/mac/dev-setup.md +10 -10
- package/docs/platforms/mac/health.md +2 -2
- package/docs/platforms/mac/icon.md +1 -1
- package/docs/platforms/mac/logging.md +4 -4
- package/docs/platforms/mac/menu-bar.md +1 -1
- package/docs/platforms/mac/peekaboo.md +9 -9
- package/docs/platforms/mac/permissions.md +1 -1
- package/docs/platforms/mac/release.md +18 -18
- package/docs/platforms/mac/remote.md +14 -14
- package/docs/platforms/mac/signing.md +6 -6
- package/docs/platforms/mac/skills.md +2 -2
- package/docs/platforms/mac/webchat.md +1 -1
- package/docs/platforms/mac/xpc.md +4 -4
- package/docs/platforms/macos-vm.md +27 -27
- package/docs/platforms/macos.md +14 -14
- package/docs/platforms/windows.md +11 -11
- package/docs/plugin.md +57 -57
- package/docs/plugins/agent-tools.md +1 -1
- package/docs/plugins/manifest.md +4 -4
- package/docs/plugins/voice-call.md +12 -15
- package/docs/plugins/zalouser.md +9 -9
- package/docs/prose.md +9 -9
- package/docs/providers/anthropic.md +27 -23
- package/docs/providers/deepgram.md +2 -2
- package/docs/providers/github-copilot.md +11 -11
- package/docs/providers/glm.md +4 -4
- package/docs/providers/index.md +3 -7
- package/docs/providers/minimax.md +9 -9
- package/docs/providers/models.md +3 -3
- package/docs/providers/moonshot.md +2 -2
- package/docs/providers/ollama.md +11 -11
- package/docs/providers/openai.md +13 -9
- package/docs/providers/opencode.md +3 -3
- package/docs/providers/openrouter.md +3 -3
- package/docs/providers/qwen.md +6 -6
- package/docs/providers/synthetic.md +4 -4
- package/docs/providers/venice.md +21 -21
- package/docs/providers/vercel-ai-gateway.md +3 -4
- package/docs/providers/zai.md +5 -5
- package/docs/railway.mdx +5 -5
- package/docs/refactor/plugin-sdk.md +10 -10
- package/docs/refactor/strict-config.md +11 -11
- package/docs/reference/AGENTS.default.md +10 -10
- package/docs/reference/RELEASING.md +27 -27
- package/docs/reference/api-usage-costs.md +6 -6
- package/docs/reference/device-models.md +7 -7
- package/docs/reference/rpc.md +3 -3
- package/docs/reference/session-management-compaction.md +17 -17
- package/docs/reference/templates/AGENTS.dev.md +1 -1
- package/docs/reference/templates/BOOT.md +1 -1
- package/docs/reference/templates/TOOLS.dev.md +1 -1
- package/docs/reference/templates/USER.dev.md +2 -2
- package/docs/reference/test.md +2 -2
- package/docs/reference/transcript-hygiene.md +1 -1
- package/docs/scripts.md +1 -1
- package/docs/start/clawd.md +27 -27
- package/docs/start/getting-started.md +23 -29
- package/docs/start/hubs.md +2 -2
- package/docs/start/lore.md +38 -74
- package/docs/start/onboarding.md +4 -4
- package/docs/start/pairing.md +8 -8
- package/docs/start/setup.md +15 -28
- package/docs/start/showcase.md +32 -32
- package/docs/start/wizard.md +21 -24
- package/docs/testing.md +10 -10
- package/docs/token-use.md +7 -7
- package/docs/tools/agent-send.md +10 -10
- package/docs/tools/browser-linux-troubleshooting.md +8 -8
- package/docs/tools/browser-login.md +4 -4
- package/docs/tools/browser.md +241 -135
- package/docs/tools/chrome-extension.md +48 -31
- package/docs/tools/clawdhub.md +7 -7
- package/docs/tools/creating-skills.md +4 -4
- package/docs/tools/elevated.md +0 -1
- package/docs/tools/exec-approvals.md +2 -5
- package/docs/tools/exec.md +3 -14
- package/docs/tools/firecrawl.md +2 -2
- package/docs/tools/index.md +15 -18
- package/docs/tools/llm-task.md +1 -1
- package/docs/tools/lobster.md +11 -23
- package/docs/tools/skills-config.md +1 -1
- package/docs/tools/skills.md +21 -29
- package/docs/tools/slash-commands.md +8 -10
- package/docs/tools/web.md +6 -6
- package/docs/tts.md +9 -9
- package/docs/tui.md +7 -7
- package/docs/vps.md +1 -6
- package/docs/web/control-ui.md +12 -13
- package/docs/web/dashboard.md +4 -8
- package/docs/web/index.md +5 -6
- package/docs/web/webchat.md +1 -1
- package/extensions/bluebubbles/index.ts +2 -2
- package/extensions/bluebubbles/package.json +5 -5
- package/extensions/bluebubbles/src/accounts.ts +8 -8
- package/extensions/bluebubbles/src/actions.test.ts +22 -22
- package/extensions/bluebubbles/src/actions.ts +5 -5
- package/extensions/bluebubbles/src/attachments.ts +2 -2
- package/extensions/bluebubbles/src/channel.ts +16 -16
- package/extensions/bluebubbles/src/chat.ts +2 -2
- package/extensions/bluebubbles/src/media-send.ts +2 -2
- package/extensions/bluebubbles/src/monitor.test.ts +49 -55
- package/extensions/bluebubbles/src/monitor.ts +5 -180
- package/extensions/bluebubbles/src/onboarding.ts +7 -7
- package/extensions/bluebubbles/src/reactions.ts +2 -2
- package/extensions/bluebubbles/src/send.ts +2 -2
- package/extensions/copilot-proxy/package.json +4 -4
- package/extensions/diagnostics-otel/index.ts +2 -2
- package/extensions/diagnostics-otel/package.json +4 -4
- package/extensions/diagnostics-otel/src/service.test.ts +12 -12
- package/extensions/diagnostics-otel/src/service.ts +84 -84
- package/extensions/discord/index.ts +2 -2
- package/extensions/discord/package.json +4 -4
- package/extensions/google-antigravity-auth/index.ts +1 -8
- package/extensions/google-antigravity-auth/package.json +4 -4
- package/extensions/google-gemini-cli-auth/oauth.ts +2 -2
- package/extensions/google-gemini-cli-auth/package.json +4 -4
- package/extensions/googlechat/index.ts +3 -3
- package/extensions/googlechat/package.json +7 -7
- package/extensions/googlechat/src/accounts.ts +8 -8
- package/extensions/googlechat/src/actions.ts +6 -6
- package/extensions/googlechat/src/api.ts +1 -1
- package/extensions/googlechat/src/channel.ts +21 -21
- package/extensions/googlechat/src/monitor.ts +8 -8
- package/extensions/googlechat/src/onboarding.ts +10 -10
- package/extensions/imessage/index.ts +2 -2
- package/extensions/imessage/package.json +4 -4
- package/extensions/line/index.ts +2 -2
- package/extensions/line/package.json +6 -6
- package/extensions/line/src/card-command.ts +2 -2
- package/extensions/line/src/channel.logout.test.ts +4 -4
- package/extensions/line/src/channel.sendPayload.test.ts +8 -8
- package/extensions/line/src/channel.ts +4 -4
- package/extensions/llm-task/index.ts +2 -2
- package/extensions/llm-task/package.json +4 -4
- package/extensions/llm-task/src/llm-task-tool.ts +5 -5
- package/extensions/lobster/index.ts +2 -2
- package/extensions/lobster/package.json +3 -3
- package/extensions/lobster/src/lobster-tool.test.ts +6 -26
- package/extensions/lobster/src/lobster-tool.ts +6 -24
- package/extensions/matrix/CHANGELOG.md +9 -9
- package/extensions/matrix/index.ts +2 -2
- package/extensions/matrix/package.json +7 -7
- package/extensions/matrix/src/matrix/actions/messages.ts +1 -1
- package/extensions/matrix/src/matrix/actions/reactions.ts +1 -1
- package/extensions/matrix/src/matrix/actions/room.ts +3 -3
- package/extensions/matrix/src/matrix/actions/summary.ts +1 -1
- package/extensions/matrix/src/matrix/actions/types.ts +1 -1
- package/extensions/matrix/src/matrix/active-client.ts +1 -1
- package/extensions/matrix/src/matrix/client/config.ts +2 -2
- package/extensions/matrix/src/matrix/client/create-client.ts +2 -2
- package/extensions/matrix/src/matrix/client/logging.ts +1 -1
- package/extensions/matrix/src/matrix/client/shared.ts +3 -3
- package/extensions/matrix/src/matrix/deps.ts +4 -4
- package/extensions/matrix/src/matrix/monitor/auto-join.ts +2 -2
- package/extensions/matrix/src/matrix/monitor/direct.ts +1 -1
- package/extensions/matrix/src/matrix/monitor/events.ts +1 -1
- package/extensions/matrix/src/matrix/monitor/handler.ts +5 -5
- package/extensions/matrix/src/matrix/monitor/index.ts +1 -1
- package/extensions/matrix/src/matrix/monitor/location.ts +1 -1
- package/extensions/matrix/src/matrix/monitor/media.test.ts +2 -2
- package/extensions/matrix/src/matrix/monitor/media.ts +3 -3
- package/extensions/matrix/src/matrix/monitor/replies.ts +1 -1
- package/extensions/matrix/src/matrix/monitor/room-info.ts +1 -1
- package/extensions/matrix/src/matrix/monitor/threads.ts +1 -1
- package/extensions/matrix/src/matrix/monitor/types.ts +1 -1
- package/extensions/matrix/src/matrix/probe.ts +1 -1
- package/extensions/matrix/src/matrix/send/client.ts +2 -2
- package/extensions/matrix/src/matrix/send/media.ts +1 -1
- package/extensions/matrix/src/matrix/send/targets.test.ts +1 -1
- package/extensions/matrix/src/matrix/send/targets.ts +1 -1
- package/extensions/matrix/src/matrix/send/types.ts +2 -2
- package/extensions/matrix/src/matrix/send.test.ts +2 -2
- package/extensions/matrix/src/matrix/send.ts +3 -3
- package/extensions/matrix/src/onboarding.ts +2 -2
- package/extensions/matrix/src/types.ts +1 -1
- package/extensions/mattermost/index.ts +2 -2
- package/extensions/mattermost/package.json +5 -5
- package/extensions/mattermost/src/mattermost/accounts.ts +8 -8
- package/extensions/mattermost/src/mattermost/monitor-helpers.ts +5 -5
- package/extensions/mattermost/src/mattermost/monitor.ts +2 -2
- package/extensions/mattermost/src/onboarding-helpers.ts +3 -3
- package/extensions/mattermost/src/onboarding.ts +3 -3
- package/extensions/memory-core/index.ts +2 -2
- package/extensions/memory-core/package.json +5 -5
- package/extensions/memory-lancedb/index.test.ts +2 -2
- package/extensions/memory-lancedb/index.ts +3 -3
- package/extensions/memory-lancedb/package.json +4 -4
- package/extensions/msteams/CHANGELOG.md +7 -7
- package/extensions/msteams/index.ts +2 -2
- package/extensions/msteams/package.json +6 -6
- package/extensions/msteams/src/channel.directory.test.ts +2 -2
- package/extensions/msteams/src/channel.ts +2 -2
- package/extensions/msteams/src/conversation-store-fs.test.ts +1 -1
- package/extensions/msteams/src/graph-upload.ts +4 -4
- package/extensions/msteams/src/monitor-handler.ts +2 -2
- package/extensions/msteams/src/monitor.ts +2 -2
- package/extensions/msteams/src/onboarding.ts +9 -9
- package/extensions/msteams/src/policy.ts +3 -48
- package/extensions/msteams/src/polls-store.test.ts +1 -1
- package/extensions/msteams/src/polls.test.ts +2 -2
- package/extensions/msteams/src/polls.ts +8 -8
- package/extensions/msteams/src/reply-dispatcher.ts +35 -35
- package/extensions/msteams/src/send-context.ts +2 -2
- package/extensions/msteams/src/send.ts +4 -4
- package/extensions/nextcloud-talk/index.ts +2 -2
- package/extensions/nextcloud-talk/package.json +5 -5
- package/extensions/nextcloud-talk/src/channel.ts +7 -7
- package/extensions/nextcloud-talk/src/inbound.ts +7 -7
- package/extensions/nextcloud-talk/src/onboarding.ts +1 -1
- package/extensions/nostr/CHANGELOG.md +4 -4
- package/extensions/nostr/index.ts +5 -5
- package/extensions/nostr/package.json +6 -6
- package/extensions/nostr/src/channel.ts +1 -1
- package/extensions/nostr/src/nostr-state-store.test.ts +1 -1
- package/extensions/nostr/src/types.ts +4 -4
- package/extensions/open-prose/index.ts +2 -2
- package/extensions/open-prose/package.json +3 -3
- package/extensions/open-prose/skills/prose/SKILL.md +5 -5
- package/extensions/open-prose/skills/prose/prose.md +4 -4
- package/extensions/signal/index.ts +2 -2
- package/extensions/signal/package.json +4 -4
- package/extensions/slack/index.ts +2 -2
- package/extensions/slack/package.json +4 -4
- package/extensions/telegram/index.ts +2 -2
- package/extensions/telegram/package.json +4 -4
- package/extensions/telegram/src/channel.ts +2 -2
- package/extensions/tlon/README.md +1 -1
- package/extensions/tlon/index.ts +2 -2
- package/extensions/tlon/package.json +5 -5
- package/extensions/tlon/src/channel.ts +13 -13
- package/extensions/tlon/src/monitor/index.ts +3 -3
- package/extensions/tlon/src/onboarding.ts +3 -3
- package/extensions/tlon/src/types.ts +3 -3
- package/extensions/tlon/src/urbit/send.ts +6 -19
- package/extensions/voice-call/CHANGELOG.md +12 -13
- package/extensions/voice-call/README.md +2 -3
- package/extensions/voice-call/clawdbot.plugin.json +3 -3
- package/extensions/voice-call/index.ts +9 -11
- package/extensions/voice-call/package.json +4 -4
- package/extensions/voice-call/src/cli.ts +1 -1
- package/extensions/voice-call/src/config.ts +4 -61
- package/extensions/voice-call/src/core-bridge.ts +8 -10
- package/extensions/voice-call/src/manager.test.ts +2 -2
- package/extensions/voice-call/src/providers/twilio/webhook.ts +1 -2
- package/extensions/voice-call/src/providers/twilio.ts +2 -2
- package/extensions/voice-call/src/response-generator.ts +1 -1
- package/extensions/voice-call/src/runtime.ts +15 -26
- package/extensions/voice-call/src/types.ts +0 -1
- package/extensions/voice-call/src/webhook-security.test.ts +0 -52
- package/extensions/voice-call/src/webhook-security.ts +5 -16
- package/extensions/voice-call/src/webhook.ts +0 -1
- package/extensions/whatsapp/index.ts +2 -2
- package/extensions/whatsapp/package.json +4 -4
- package/extensions/zalo/CHANGELOG.md +9 -9
- package/extensions/zalo/index.ts +2 -2
- package/extensions/zalo/package.json +6 -6
- package/extensions/zalo/src/accounts.ts +8 -8
- package/extensions/zalo/src/actions.ts +4 -4
- package/extensions/zalo/src/channel.directory.test.ts +2 -2
- package/extensions/zalo/src/channel.ts +18 -18
- package/extensions/zalo/src/monitor.ts +9 -9
- package/extensions/zalo/src/monitor.webhook.test.ts +2 -2
- package/extensions/zalo/src/onboarding.ts +25 -25
- package/extensions/zalo/src/send.ts +2 -2
- package/extensions/zalouser/CHANGELOG.md +4 -4
- package/extensions/zalouser/index.ts +2 -2
- package/extensions/zalouser/package.json +6 -6
- package/extensions/zalouser/src/accounts.ts +9 -9
- package/extensions/zalouser/src/channel.ts +25 -25
- package/extensions/zalouser/src/monitor.ts +4 -4
- package/extensions/zalouser/src/onboarding.ts +30 -30
- package/extensions/zalouser/src/status-issues.ts +1 -1
- package/package.json +18 -17
- package/skills/1password/SKILL.md +3 -3
- package/skills/apple-notes/SKILL.md +2 -2
- package/skills/apple-reminders/SKILL.md +1 -1
- package/skills/bear-notes/SKILL.md +1 -1
- package/skills/bird/SKILL.md +1 -1
- package/skills/blogwatcher/SKILL.md +1 -1
- package/skills/blucli/SKILL.md +1 -1
- package/skills/bluebubbles/SKILL.md +1 -1
- package/skills/camsnap/SKILL.md +1 -1
- package/skills/canvas/SKILL.md +15 -15
- package/skills/clawdhub/SKILL.md +2 -2
- package/skills/coding-agent/SKILL.md +6 -6
- package/skills/discord/SKILL.md +5 -6
- package/skills/eightctl/SKILL.md +1 -1
- package/skills/food-order/SKILL.md +1 -1
- package/skills/gemini/SKILL.md +1 -1
- package/skills/gifgrep/SKILL.md +1 -1
- package/skills/github/SKILL.md +0 -1
- package/skills/gog/SKILL.md +1 -1
- package/skills/goplaces/SKILL.md +1 -1
- package/skills/himalaya/SKILL.md +1 -1
- package/skills/imsg/SKILL.md +1 -1
- package/skills/local-places/SKILL.md +1 -1
- package/skills/mcporter/SKILL.md +1 -1
- package/skills/model-usage/SKILL.md +1 -1
- package/skills/nano-banana-pro/SKILL.md +5 -10
- package/skills/nano-banana-pro/scripts/generate_image.py +27 -42
- package/skills/nano-pdf/SKILL.md +1 -1
- package/skills/notion/SKILL.md +1 -1
- package/skills/obsidian/SKILL.md +1 -1
- package/skills/openai-image-gen/SKILL.md +1 -1
- package/skills/openai-whisper/SKILL.md +1 -1
- package/skills/openai-whisper-api/SKILL.md +2 -2
- package/skills/openhue/SKILL.md +1 -1
- package/skills/oracle/SKILL.md +1 -1
- package/skills/ordercli/SKILL.md +1 -1
- package/skills/peekaboo/SKILL.md +1 -1
- package/skills/sag/SKILL.md +1 -1
- package/skills/session-logs/SKILL.md +1 -1
- package/skills/sherpa-onnx-tts/SKILL.md +2 -2
- package/skills/slack/SKILL.md +3 -4
- package/skills/songsee/SKILL.md +1 -1
- package/skills/sonoscli/SKILL.md +1 -1
- package/skills/spotify-player/SKILL.md +1 -1
- package/skills/summarize/SKILL.md +1 -1
- package/skills/things-mac/SKILL.md +3 -3
- package/skills/tmux/SKILL.md +7 -7
- package/skills/tmux/scripts/find-sessions.sh +1 -1
- package/skills/trello/SKILL.md +2 -2
- package/skills/video-frames/SKILL.md +1 -1
- package/skills/voice-call/SKILL.md +4 -4
- package/skills/wacli/SKILL.md +2 -2
- package/skills/weather/SKILL.md +1 -1
- package/LICENSE +0 -21
- package/dist/agents/moltbot-tools.js +0 -121
- package/dist/agents/pi-extensions/compaction-safeguard-runtime.js +0 -20
- package/dist/browser/control-service.js +0 -72
- package/dist/browser/routes/dispatcher.js +0 -86
- package/dist/browser/routes/types.js +0 -1
- package/dist/cli/cli-name.js +0 -26
- package/dist/compat/legacy-names.js +0 -5
- package/dist/control-ui/assets/index-CIRDm-Lu.css +0 -1
- package/dist/control-ui/assets/index-HlBhZmfj.js.map +0 -1
- package/dist/discord/monitor/presence-cache.js +0 -38
- package/dist/gateway/server-methods/browser.js +0 -204
- package/dist/infra/fs-safe.js +0 -76
- package/dist/infra/moltbot-root.js +0 -57
- package/dist/line/signature.js +0 -11
- package/dist/security/external-content.js +0 -143
- package/dist/security/windows-acl.js +0 -162
- package/dist/telegram/api-logging.js +0 -24
- package/dist/telegram/network-config.js +0 -23
- package/dist/telegram/network-errors.js +0 -103
- package/dist/telegram/sticker-cache.js +0 -202
- package/docs/channels/line.md +0 -183
- package/docs/channels/twitch.md +0 -366
- package/docs/gateway/security/formal-verification.md +0 -107
- package/docs/install/migrating.md +0 -190
- package/docs/northflank.mdx +0 -53
- package/docs/platforms/digitalocean.md +0 -243
- package/docs/platforms/gcp.md +0 -498
- package/docs/platforms/oracle.md +0 -291
- package/docs/platforms/raspberry-pi.md +0 -354
- package/docs/providers/claude-max-api-proxy.md +0 -145
- package/docs/render.mdx +0 -158
- package/docs/security/formal-verification.md +0 -107
- package/extensions/googlechat/node_modules/.bin/poolbot +0 -21
- package/extensions/line/node_modules/.bin/poolbot +0 -21
- package/extensions/matrix/node_modules/.bin/poolbot +0 -21
- package/extensions/memory-core/node_modules/.bin/poolbot +0 -21
- package/extensions/msteams/node_modules/.bin/poolbot +0 -21
- package/extensions/nostr/node_modules/.bin/poolbot +0 -21
- package/extensions/twitch/CHANGELOG.md +0 -21
- package/extensions/twitch/README.md +0 -89
- package/extensions/twitch/clawdbot.plugin.json +0 -9
- package/extensions/twitch/index.ts +0 -20
- package/extensions/twitch/node_modules/.bin/poolbot +0 -21
- package/extensions/twitch/package.json +0 -20
- package/extensions/twitch/src/access-control.test.ts +0 -489
- package/extensions/twitch/src/access-control.ts +0 -154
- package/extensions/twitch/src/actions.ts +0 -173
- package/extensions/twitch/src/client-manager-registry.ts +0 -115
- package/extensions/twitch/src/config-schema.ts +0 -82
- package/extensions/twitch/src/config.test.ts +0 -88
- package/extensions/twitch/src/config.ts +0 -116
- package/extensions/twitch/src/monitor.ts +0 -257
- package/extensions/twitch/src/onboarding.test.ts +0 -311
- package/extensions/twitch/src/onboarding.ts +0 -411
- package/extensions/twitch/src/outbound.test.ts +0 -373
- package/extensions/twitch/src/outbound.ts +0 -186
- package/extensions/twitch/src/plugin.test.ts +0 -39
- package/extensions/twitch/src/plugin.ts +0 -274
- package/extensions/twitch/src/probe.test.ts +0 -198
- package/extensions/twitch/src/probe.ts +0 -118
- package/extensions/twitch/src/resolver.ts +0 -137
- package/extensions/twitch/src/runtime.ts +0 -14
- package/extensions/twitch/src/send.test.ts +0 -289
- package/extensions/twitch/src/send.ts +0 -136
- package/extensions/twitch/src/status.test.ts +0 -270
- package/extensions/twitch/src/status.ts +0 -176
- package/extensions/twitch/src/token.test.ts +0 -171
- package/extensions/twitch/src/token.ts +0 -87
- package/extensions/twitch/src/twitch-client.test.ts +0 -574
- package/extensions/twitch/src/twitch-client.ts +0 -277
- package/extensions/twitch/src/types.ts +0 -141
- package/extensions/twitch/src/utils/markdown.ts +0 -92
- package/extensions/twitch/src/utils/twitch.ts +0 -78
- package/extensions/twitch/test/setup.ts +0 -7
- package/extensions/voice-call/src/config.test.ts +0 -204
- package/extensions/zalo/node_modules/.bin/poolbot +0 -21
- package/extensions/zalouser/node_modules/.bin/poolbot +0 -21
package/docs/help/faq.md
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
summary: "Frequently asked questions about
|
|
2
|
+
summary: "Frequently asked questions about Clawdbot setup, configuration, and usage"
|
|
3
3
|
---
|
|
4
4
|
# FAQ
|
|
5
5
|
|
|
@@ -9,7 +9,7 @@ Quick answers plus deeper troubleshooting for real-world setups (local dev, VPS,
|
|
|
9
9
|
|
|
10
10
|
- [Quick start and first-run setup](#quick-start-and-firstrun-setup)
|
|
11
11
|
- [Im stuck whats the fastest way to get unstuck?](#im-stuck-whats-the-fastest-way-to-get-unstuck)
|
|
12
|
-
- [What’s the recommended way to install and set up
|
|
12
|
+
- [What’s the recommended way to install and set up Clawdbot?](#whats-the-recommended-way-to-install-and-set-up-clawdbot)
|
|
13
13
|
- [How do I open the dashboard after onboarding?](#how-do-i-open-the-dashboard-after-onboarding)
|
|
14
14
|
- [How do I authenticate the dashboard (token) on localhost vs remote?](#how-do-i-authenticate-the-dashboard-token-on-localhost-vs-remote)
|
|
15
15
|
- [What runtime do I need?](#what-runtime-do-i-need)
|
|
@@ -18,16 +18,16 @@ Quick answers plus deeper troubleshooting for real-world setups (local dev, VPS,
|
|
|
18
18
|
- [It is stuck on "wake up my friend" / onboarding will not hatch. What now?](#it-is-stuck-on-wake-up-my-friend-onboarding-will-not-hatch-what-now)
|
|
19
19
|
- [Can I migrate my setup to a new machine (Mac mini) without redoing onboarding?](#can-i-migrate-my-setup-to-a-new-machine-mac-mini-without-redoing-onboarding)
|
|
20
20
|
- [Where do I see what’s new in the latest version?](#where-do-i-see-whats-new-in-the-latest-version)
|
|
21
|
-
- [I can't access docs.
|
|
21
|
+
- [I can't access docs.clawd.bot (SSL error). What now?](#i-cant-access-docsclawdbot-ssl-error-what-now)
|
|
22
22
|
- [What’s the difference between stable and beta?](#whats-the-difference-between-stable-and-beta)
|
|
23
23
|
- [How do I install the beta version, and what’s the difference between beta and dev?](#how-do-i-install-the-beta-version-and-whats-the-difference-between-beta-and-dev)
|
|
24
24
|
- [How do I try the latest bits?](#how-do-i-try-the-latest-bits)
|
|
25
25
|
- [How long does install and onboarding usually take?](#how-long-does-install-and-onboarding-usually-take)
|
|
26
26
|
- [Installer stuck? How do I get more feedback?](#installer-stuck-how-do-i-get-more-feedback)
|
|
27
|
-
- [Windows install says git not found or
|
|
27
|
+
- [Windows install says git not found or clawdbot not recognized](#windows-install-says-git-not-found-or-clawdbot-not-recognized)
|
|
28
28
|
- [The docs didn’t answer my question - how do I get a better answer?](#the-docs-didnt-answer-my-question-how-do-i-get-a-better-answer)
|
|
29
|
-
- [How do I install
|
|
30
|
-
- [How do I install
|
|
29
|
+
- [How do I install Clawdbot on Linux?](#how-do-i-install-clawdbot-on-linux)
|
|
30
|
+
- [How do I install Clawdbot on a VPS?](#how-do-i-install-clawdbot-on-a-vps)
|
|
31
31
|
- [Where are the cloud/VPS install guides?](#where-are-the-cloudvps-install-guides)
|
|
32
32
|
- [Can I ask Clawd to update itself?](#can-i-ask-clawd-to-update-itself)
|
|
33
33
|
- [What does the onboarding wizard actually do?](#what-does-the-onboarding-wizard-actually-do)
|
|
@@ -45,24 +45,24 @@ Quick answers plus deeper troubleshooting for real-world setups (local dev, VPS,
|
|
|
45
45
|
- [How do I keep hosted model traffic in a specific region?](#how-do-i-keep-hosted-model-traffic-in-a-specific-region)
|
|
46
46
|
- [Do I have to buy a Mac Mini to install this?](#do-i-have-to-buy-a-mac-mini-to-install-this)
|
|
47
47
|
- [Do I need a Mac mini for iMessage support?](#do-i-need-a-mac-mini-for-imessage-support)
|
|
48
|
-
- [If I buy a Mac mini to run
|
|
48
|
+
- [If I buy a Mac mini to run Clawdbot, can I connect it to my MacBook Pro?](#if-i-buy-a-mac-mini-to-run-clawdbot-can-i-connect-it-to-my-macbook-pro)
|
|
49
49
|
- [Can I use Bun?](#can-i-use-bun)
|
|
50
50
|
- [Telegram: what goes in `allowFrom`?](#telegram-what-goes-in-allowfrom)
|
|
51
|
-
- [Can multiple people use one WhatsApp number with different
|
|
51
|
+
- [Can multiple people use one WhatsApp number with different Clawdbots?](#can-multiple-people-use-one-whatsapp-number-with-different-clawdbots)
|
|
52
52
|
- [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)
|
|
53
53
|
- [Does Homebrew work on Linux?](#does-homebrew-work-on-linux)
|
|
54
54
|
- [What’s the difference between the hackable (git) install and npm install?](#whats-the-difference-between-the-hackable-git-install-and-npm-install)
|
|
55
55
|
- [Can I switch between npm and git installs later?](#can-i-switch-between-npm-and-git-installs-later)
|
|
56
56
|
- [Should I run the Gateway on my laptop or a VPS?](#should-i-run-the-gateway-on-my-laptop-or-a-vps)
|
|
57
|
-
- [How important is it to run
|
|
57
|
+
- [How important is it to run Clawdbot on a dedicated machine?](#how-important-is-it-to-run-clawdbot-on-a-dedicated-machine)
|
|
58
58
|
- [What are the minimum VPS requirements and recommended OS?](#what-are-the-minimum-vps-requirements-and-recommended-os)
|
|
59
|
-
- [Can I run
|
|
60
|
-
- [What is
|
|
61
|
-
- [What is
|
|
59
|
+
- [Can I run Clawdbot in a VM and what are the requirements](#can-i-run-clawdbot-in-a-vm-and-what-are-the-requirements)
|
|
60
|
+
- [What is Clawdbot?](#what-is-clawdbot)
|
|
61
|
+
- [What is Clawdbot, in one paragraph?](#what-is-clawdbot-in-one-paragraph)
|
|
62
62
|
- [What’s the value proposition?](#whats-the-value-proposition)
|
|
63
63
|
- [I just set it up what should I do first](#i-just-set-it-up-what-should-i-do-first)
|
|
64
|
-
- [What are the top five everyday use cases for
|
|
65
|
-
- [Can
|
|
64
|
+
- [What are the top five everyday use cases for Clawdbot](#what-are-the-top-five-everyday-use-cases-for-clawdbot)
|
|
65
|
+
- [Can Clawdbot help with lead gen outreach ads and blogs for a SaaS](#can-clawdbot-help-with-lead-gen-outreach-ads-and-blogs-for-a-saas)
|
|
66
66
|
- [What are the advantages vs Claude Code for web development?](#what-are-the-advantages-vs-claude-code-for-web-development)
|
|
67
67
|
- [Skills and automation](#skills-and-automation)
|
|
68
68
|
- [How do I customize skills without keeping the repo dirty?](#how-do-i-customize-skills-without-keeping-the-repo-dirty)
|
|
@@ -71,7 +71,7 @@ Quick answers plus deeper troubleshooting for real-world setups (local dev, VPS,
|
|
|
71
71
|
- [The bot freezes while doing heavy work. How do I offload that?](#the-bot-freezes-while-doing-heavy-work-how-do-i-offload-that)
|
|
72
72
|
- [Cron or reminders do not fire. What should I check?](#cron-or-reminders-do-not-fire-what-should-i-check)
|
|
73
73
|
- [How do I install skills on Linux?](#how-do-i-install-skills-on-linux)
|
|
74
|
-
- [Can
|
|
74
|
+
- [Can Clawdbot run tasks on a schedule or continuously in the background?](#can-clawdbot-run-tasks-on-a-schedule-or-continuously-in-the-background)
|
|
75
75
|
- [Can I run Apple/macOS-only skills from Linux?](#can-i-run-applemacosonly-skills-from-linux)
|
|
76
76
|
- [Do you have a Notion or HeyGen integration?](#do-you-have-a-notion-or-heygen-integration)
|
|
77
77
|
- [How do I install the Chrome extension for browser takeover?](#how-do-i-install-the-chrome-extension-for-browser-takeover)
|
|
@@ -83,11 +83,11 @@ Quick answers plus deeper troubleshooting for real-world setups (local dev, VPS,
|
|
|
83
83
|
- [Does memory persist forever? What are the limits?](#does-memory-persist-forever-what-are-the-limits)
|
|
84
84
|
- [Does semantic memory search require an OpenAI API key?](#does-semantic-memory-search-require-an-openai-api-key)
|
|
85
85
|
- [Where things live on disk](#where-things-live-on-disk)
|
|
86
|
-
- [Is all data used with
|
|
87
|
-
- [Where does
|
|
86
|
+
- [Is all data used with Clawdbot saved locally?](#is-all-data-used-with-clawdbot-saved-locally)
|
|
87
|
+
- [Where does Clawdbot store its data?](#where-does-clawdbot-store-its-data)
|
|
88
88
|
- [Where should AGENTS.md / SOUL.md / USER.md / MEMORY.md live?](#where-should-agentsmd-soulmd-usermd-memorymd-live)
|
|
89
89
|
- [What’s the recommended backup strategy?](#whats-the-recommended-backup-strategy)
|
|
90
|
-
- [How do I completely uninstall
|
|
90
|
+
- [How do I completely uninstall Clawdbot?](#how-do-i-completely-uninstall-clawdbot)
|
|
91
91
|
- [Can agents work outside the workspace?](#can-agents-work-outside-the-workspace)
|
|
92
92
|
- [I’m in remote mode - where is the session store?](#im-in-remote-mode-where-is-the-session-store)
|
|
93
93
|
- [Config basics](#config-basics)
|
|
@@ -98,13 +98,13 @@ Quick answers plus deeper troubleshooting for real-world setups (local dev, VPS,
|
|
|
98
98
|
- [How do I enable web search (and web fetch)?](#how-do-i-enable-web-search-and-web-fetch)
|
|
99
99
|
- [config.apply wiped my config. How do I recover and avoid this?](#configapply-wiped-my-config-how-do-i-recover-and-avoid-this)
|
|
100
100
|
- [How do I run a central Gateway with specialized workers across devices?](#how-do-i-run-a-central-gateway-with-specialized-workers-across-devices)
|
|
101
|
-
- [Can the
|
|
101
|
+
- [Can the Clawdbot browser run headless?](#can-the-clawdbot-browser-run-headless)
|
|
102
102
|
- [How do I use Brave for browser control?](#how-do-i-use-brave-for-browser-control)
|
|
103
103
|
- [Remote gateways + nodes](#remote-gateways-nodes)
|
|
104
104
|
- [How do commands propagate between Telegram, the gateway, and nodes?](#how-do-commands-propagate-between-telegram-the-gateway-and-nodes)
|
|
105
105
|
- [How can my agent access my computer if the Gateway is hosted remotely?](#how-can-my-agent-access-my-computer-if-the-gateway-is-hosted-remotely)
|
|
106
106
|
- [Tailscale is connected but I get no replies. What now?](#tailscale-is-connected-but-i-get-no-replies-what-now)
|
|
107
|
-
- [Can two
|
|
107
|
+
- [Can two Clawdbots talk to each other (local + VPS)?](#can-two-clawdbots-talk-to-each-other-local-vps)
|
|
108
108
|
- [Do I need separate VPSes for multiple agents](#do-i-need-separate-vpses-for-multiple-agents)
|
|
109
109
|
- [Is there a benefit to using a node on my personal laptop instead of SSH from a VPS?](#is-there-a-benefit-to-using-a-node-on-my-personal-laptop-instead-of-ssh-from-a-vps)
|
|
110
110
|
- [Do nodes run a gateway service?](#do-nodes-run-a-gateway-service)
|
|
@@ -114,21 +114,21 @@ Quick answers plus deeper troubleshooting for real-world setups (local dev, VPS,
|
|
|
114
114
|
- [How do I connect a Mac node to a remote Gateway (Tailscale Serve)?](#how-do-i-connect-a-mac-node-to-a-remote-gateway-tailscale-serve)
|
|
115
115
|
- [Should I install on a second laptop or just add a node?](#should-i-install-on-a-second-laptop-or-just-add-a-node)
|
|
116
116
|
- [Env vars and .env loading](#env-vars-and-env-loading)
|
|
117
|
-
- [How does
|
|
117
|
+
- [How does Clawdbot load environment variables?](#how-does-clawdbot-load-environment-variables)
|
|
118
118
|
- [“I started the Gateway via the service and my env vars disappeared.” What now?](#i-started-the-gateway-via-the-service-and-my-env-vars-disappeared-what-now)
|
|
119
119
|
- [I set `COPILOT_GITHUB_TOKEN`, but models status shows “Shell env: off.” Why?](#i-set-copilotgithubtoken-but-models-status-shows-shell-env-off-why)
|
|
120
120
|
- [Sessions & multiple chats](#sessions-multiple-chats)
|
|
121
121
|
- [How do I start a fresh conversation?](#how-do-i-start-a-fresh-conversation)
|
|
122
122
|
- [Do sessions reset automatically if I never send `/new`?](#do-sessions-reset-automatically-if-i-never-send-new)
|
|
123
|
-
- [Is there a way to make a team of
|
|
123
|
+
- [Is there a way to make a team of Clawdbots one CEO and many agents](#is-there-a-way-to-make-a-team-of-clawdbots-one-ceo-and-many-agents)
|
|
124
124
|
- [Why did context get truncated mid-task? How do I prevent it?](#why-did-context-get-truncated-midtask-how-do-i-prevent-it)
|
|
125
|
-
- [How do I completely reset
|
|
125
|
+
- [How do I completely reset Clawdbot but keep it installed?](#how-do-i-completely-reset-clawdbot-but-keep-it-installed)
|
|
126
126
|
- [I’m getting “context too large” errors - how do I reset or compact?](#im-getting-context-too-large-errors-how-do-i-reset-or-compact)
|
|
127
127
|
- [Why am I seeing “LLM request rejected: messages.N.content.X.tool_use.input: Field required”?](#why-am-i-seeing-llm-request-rejected-messagesncontentxtooluseinput-field-required)
|
|
128
128
|
- [Why am I getting heartbeat messages every 30 minutes?](#why-am-i-getting-heartbeat-messages-every-30-minutes)
|
|
129
129
|
- [Do I need to add a “bot account” to a WhatsApp group?](#do-i-need-to-add-a-bot-account-to-a-whatsapp-group)
|
|
130
130
|
- [How do I get the JID of a WhatsApp group?](#how-do-i-get-the-jid-of-a-whatsapp-group)
|
|
131
|
-
- [Why doesn’t
|
|
131
|
+
- [Why doesn’t Clawdbot reply in a group?](#why-doesnt-clawdbot-reply-in-a-group)
|
|
132
132
|
- [Do groups/threads share context with DMs?](#do-groupsthreads-share-context-with-dms)
|
|
133
133
|
- [How many workspaces and agents can I create?](#how-many-workspaces-and-agents-can-i-create)
|
|
134
134
|
- [Can I run multiple bots or chats at the same time (Slack), and how should I set that up?](#can-i-run-multiple-bots-or-chats-at-the-same-time-slack-and-how-should-i-set-that-up)
|
|
@@ -158,10 +158,10 @@ Quick answers plus deeper troubleshooting for real-world setups (local dev, VPS,
|
|
|
158
158
|
- [OAuth vs API key: what’s the difference?](#oauth-vs-api-key-whats-the-difference)
|
|
159
159
|
- [Gateway: ports, “already running”, and remote mode](#gateway-ports-already-running-and-remote-mode)
|
|
160
160
|
- [What port does the Gateway use?](#what-port-does-the-gateway-use)
|
|
161
|
-
- [Why does `
|
|
162
|
-
- [Why does `
|
|
161
|
+
- [Why does `clawdbot gateway status` say `Runtime: running` but `RPC probe: failed`?](#why-does-clawdbot-gateway-status-say-runtime-running-but-rpc-probe-failed)
|
|
162
|
+
- [Why does `clawdbot gateway status` show `Config (cli)` and `Config (service)` different?](#why-does-clawdbot-gateway-status-show-config-cli-and-config-service-different)
|
|
163
163
|
- [What does “another gateway instance is already listening” mean?](#what-does-another-gateway-instance-is-already-listening-mean)
|
|
164
|
-
- [How do I run
|
|
164
|
+
- [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)
|
|
165
165
|
- [The Control UI says “unauthorized” (or keeps reconnecting). What now?](#the-control-ui-says-unauthorized-or-keeps-reconnecting-what-now)
|
|
166
166
|
- [I set `gateway.bind: "tailnet"` but it can’t bind / nothing listens](#i-set-gatewaybind-tailnet-but-it-cant-bind-nothing-listens)
|
|
167
167
|
- [Can I run multiple Gateways on the same host?](#can-i-run-multiple-gateways-on-the-same-host)
|
|
@@ -169,18 +169,18 @@ Quick answers plus deeper troubleshooting for real-world setups (local dev, VPS,
|
|
|
169
169
|
- [Logging and debugging](#logging-and-debugging)
|
|
170
170
|
- [Where are logs?](#where-are-logs)
|
|
171
171
|
- [How do I start/stop/restart the Gateway service?](#how-do-i-startstoprestart-the-gateway-service)
|
|
172
|
-
- [I closed my terminal on Windows - how do I restart
|
|
172
|
+
- [I closed my terminal on Windows - how do I restart Clawdbot?](#i-closed-my-terminal-on-windows-how-do-i-restart-clawdbot)
|
|
173
173
|
- [The Gateway is up but replies never arrive. What should I check?](#the-gateway-is-up-but-replies-never-arrive-what-should-i-check)
|
|
174
174
|
- ["Disconnected from gateway: no reason" - what now?](#disconnected-from-gateway-no-reason-what-now)
|
|
175
175
|
- [Telegram setMyCommands fails with network errors. What should I check?](#telegram-setmycommands-fails-with-network-errors-what-should-i-check)
|
|
176
176
|
- [TUI shows no output. What should I check?](#tui-shows-no-output-what-should-i-check)
|
|
177
177
|
- [How do I completely stop then start the Gateway?](#how-do-i-completely-stop-then-start-the-gateway)
|
|
178
|
-
- [ELI5: `
|
|
178
|
+
- [ELI5: `clawdbot gateway restart` vs `clawdbot gateway`](#eli5-clawdbot-gateway-restart-vs-clawdbot-gateway)
|
|
179
179
|
- [What’s the fastest way to get more details when something fails?](#whats-the-fastest-way-to-get-more-details-when-something-fails)
|
|
180
180
|
- [Media & attachments](#media-attachments)
|
|
181
181
|
- [My skill generated an image/PDF, but nothing was sent](#my-skill-generated-an-imagepdf-but-nothing-was-sent)
|
|
182
182
|
- [Security and access control](#security-and-access-control)
|
|
183
|
-
- [Is it safe to expose
|
|
183
|
+
- [Is it safe to expose Clawdbot to inbound DMs?](#is-it-safe-to-expose-clawdbot-to-inbound-dms)
|
|
184
184
|
- [Is prompt injection only a concern for public bots?](#is-prompt-injection-only-a-concern-for-public-bots)
|
|
185
185
|
- [Should my bot have its own email GitHub account or phone number](#should-my-bot-have-its-own-email-github-account-or-phone-number)
|
|
186
186
|
- [Can I give it autonomy over my text messages and is that safe](#can-i-give-it-autonomy-over-my-text-messages-and-is-that-safe)
|
|
@@ -197,48 +197,48 @@ Quick answers plus deeper troubleshooting for real-world setups (local dev, VPS,
|
|
|
197
197
|
|
|
198
198
|
1) **Quick status (first check)**
|
|
199
199
|
```bash
|
|
200
|
-
|
|
200
|
+
clawdbot status
|
|
201
201
|
```
|
|
202
202
|
Fast local summary: OS + update, gateway/service reachability, agents/sessions, provider config + runtime issues (when gateway is reachable).
|
|
203
203
|
|
|
204
204
|
2) **Pasteable report (safe to share)**
|
|
205
205
|
```bash
|
|
206
|
-
|
|
206
|
+
clawdbot status --all
|
|
207
207
|
```
|
|
208
208
|
Read-only diagnosis with log tail (tokens redacted).
|
|
209
209
|
|
|
210
210
|
3) **Daemon + port state**
|
|
211
211
|
```bash
|
|
212
|
-
|
|
212
|
+
clawdbot gateway status
|
|
213
213
|
```
|
|
214
214
|
Shows supervisor runtime vs RPC reachability, the probe target URL, and which config the service likely used.
|
|
215
215
|
|
|
216
216
|
4) **Deep probes**
|
|
217
217
|
```bash
|
|
218
|
-
|
|
218
|
+
clawdbot status --deep
|
|
219
219
|
```
|
|
220
220
|
Runs gateway health checks + provider probes (requires a reachable gateway). See [Health](/gateway/health).
|
|
221
221
|
|
|
222
222
|
5) **Tail the latest log**
|
|
223
223
|
```bash
|
|
224
|
-
|
|
224
|
+
clawdbot logs --follow
|
|
225
225
|
```
|
|
226
226
|
If RPC is down, fall back to:
|
|
227
227
|
```bash
|
|
228
|
-
tail -f "$(ls -t /tmp/
|
|
228
|
+
tail -f "$(ls -t /tmp/clawdbot/clawdbot-*.log | head -1)"
|
|
229
229
|
```
|
|
230
230
|
File logs are separate from service logs; see [Logging](/logging) and [Troubleshooting](/gateway/troubleshooting).
|
|
231
231
|
|
|
232
232
|
6) **Run the doctor (repairs)**
|
|
233
233
|
```bash
|
|
234
|
-
|
|
234
|
+
clawdbot doctor
|
|
235
235
|
```
|
|
236
236
|
Repairs/migrates config/state + runs health checks. See [Doctor](/gateway/doctor).
|
|
237
237
|
|
|
238
238
|
7) **Gateway snapshot**
|
|
239
239
|
```bash
|
|
240
|
-
|
|
241
|
-
|
|
240
|
+
clawdbot health --json
|
|
241
|
+
clawdbot health --verbose # shows the target URL + config path on errors
|
|
242
242
|
```
|
|
243
243
|
Asks the running gateway for a full snapshot (WS-only). See [Health](/gateway/health).
|
|
244
244
|
|
|
@@ -258,10 +258,10 @@ setup (PATH, services, permissions, auth files). Give them the **full source che
|
|
|
258
258
|
the hackable (git) install:
|
|
259
259
|
|
|
260
260
|
```bash
|
|
261
|
-
curl -fsSL https://
|
|
261
|
+
curl -fsSL https://clawd.bot/install.sh | bash -s -- --install-method git
|
|
262
262
|
```
|
|
263
263
|
|
|
264
|
-
This installs
|
|
264
|
+
This installs Clawdbot **from a git checkout**, so the agent can read the code + docs and
|
|
265
265
|
reason about the exact version you are running. You can always switch back to stable later
|
|
266
266
|
by re-running the installer without `--install-method git`.
|
|
267
267
|
|
|
@@ -269,35 +269,35 @@ Tip: ask the agent to **plan and supervise** the fix (step-by-step), then execut
|
|
|
269
269
|
necessary commands. That keeps changes small and easier to audit.
|
|
270
270
|
|
|
271
271
|
If you discover a real bug or fix, please file a GitHub issue or send a PR:
|
|
272
|
-
https://github.com/
|
|
273
|
-
https://github.com/
|
|
272
|
+
https://github.com/clawdbot/clawdbot/issues
|
|
273
|
+
https://github.com/clawdbot/clawdbot/pulls
|
|
274
274
|
|
|
275
275
|
Start with these commands (share outputs when asking for help):
|
|
276
276
|
|
|
277
277
|
```bash
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
278
|
+
clawdbot status
|
|
279
|
+
clawdbot models status
|
|
280
|
+
clawdbot doctor
|
|
281
281
|
```
|
|
282
282
|
|
|
283
283
|
What they do:
|
|
284
|
-
- `
|
|
285
|
-
- `
|
|
286
|
-
- `
|
|
284
|
+
- `clawdbot status`: quick snapshot of gateway/agent health + basic config.
|
|
285
|
+
- `clawdbot models status`: checks provider auth + model availability.
|
|
286
|
+
- `clawdbot doctor`: validates and repairs common config/state issues.
|
|
287
287
|
|
|
288
|
-
Other useful CLI checks: `
|
|
289
|
-
`
|
|
288
|
+
Other useful CLI checks: `clawdbot status --all`, `clawdbot logs --follow`,
|
|
289
|
+
`clawdbot gateway status`, `clawdbot health --verbose`.
|
|
290
290
|
|
|
291
291
|
Quick debug loop: [First 60 seconds if something's broken](#first-60-seconds-if-somethings-broken).
|
|
292
292
|
Install docs: [Install](/install), [Installer flags](/install/installer), [Updating](/install/updating).
|
|
293
293
|
|
|
294
|
-
### Whats the recommended way to install and set up
|
|
294
|
+
### Whats the recommended way to install and set up Clawdbot
|
|
295
295
|
|
|
296
296
|
The repo recommends running from source and using the onboarding wizard:
|
|
297
297
|
|
|
298
298
|
```bash
|
|
299
|
-
curl -fsSL https://
|
|
300
|
-
|
|
299
|
+
curl -fsSL https://clawd.bot/install.sh | bash
|
|
300
|
+
clawdbot onboard --install-daemon
|
|
301
301
|
```
|
|
302
302
|
|
|
303
303
|
The wizard can also build UI assets automatically. After onboarding, you typically run the Gateway on port **18789**.
|
|
@@ -305,15 +305,15 @@ The wizard can also build UI assets automatically. After onboarding, you typical
|
|
|
305
305
|
From source (contributors/dev):
|
|
306
306
|
|
|
307
307
|
```bash
|
|
308
|
-
git clone https://github.com/
|
|
309
|
-
cd
|
|
308
|
+
git clone https://github.com/clawdbot/clawdbot.git
|
|
309
|
+
cd clawdbot
|
|
310
310
|
pnpm install
|
|
311
311
|
pnpm build
|
|
312
312
|
pnpm ui:build # auto-installs UI deps on first run
|
|
313
|
-
|
|
313
|
+
clawdbot onboard
|
|
314
314
|
```
|
|
315
315
|
|
|
316
|
-
If you don’t have a global install yet, run it via `pnpm
|
|
316
|
+
If you don’t have a global install yet, run it via `pnpm clawdbot onboard`.
|
|
317
317
|
|
|
318
318
|
### How do I open the dashboard after onboarding
|
|
319
319
|
|
|
@@ -323,13 +323,13 @@ The wizard now opens your browser with a tokenized dashboard URL right after onb
|
|
|
323
323
|
|
|
324
324
|
**Localhost (same machine):**
|
|
325
325
|
- Open `http://127.0.0.1:18789/`.
|
|
326
|
-
- If it asks for auth, run `
|
|
326
|
+
- If it asks for auth, run `clawdbot dashboard` and use the tokenized link (`?token=...`).
|
|
327
327
|
- The token is the same value as `gateway.auth.token` (or `CLAWDBOT_GATEWAY_TOKEN`) and is stored by the UI after first load.
|
|
328
328
|
|
|
329
329
|
**Not on localhost:**
|
|
330
|
-
- **Tailscale Serve** (recommended): keep bind loopback, run `
|
|
331
|
-
- **Tailnet bind**: run `
|
|
332
|
-
- **SSH tunnel**: `ssh -N -L 18789:127.0.0.1:18789 user@host` then open `http://127.0.0.1:18789/?token=...` from `
|
|
330
|
+
- **Tailscale Serve** (recommended): keep bind loopback, run `clawdbot gateway --tailscale serve`, open `https://<magicdns>/`. If `gateway.auth.allowTailscale` is `true`, identity headers satisfy auth (no token).
|
|
331
|
+
- **Tailnet bind**: run `clawdbot gateway --bind tailnet --token "<token>"`, open `http://<tailscale-ip>:18789/`, paste token in dashboard settings.
|
|
332
|
+
- **SSH tunnel**: `ssh -N -L 18789:127.0.0.1:18789 user@host` then open `http://127.0.0.1:18789/?token=...` from `clawdbot dashboard`.
|
|
333
333
|
|
|
334
334
|
See [Dashboard](/web/dashboard) and [Web surfaces](/web) for bind modes and auth details.
|
|
335
335
|
|
|
@@ -367,17 +367,17 @@ and tokens stay at 0, the agent never ran.
|
|
|
367
367
|
|
|
368
368
|
1) Restart the Gateway:
|
|
369
369
|
```bash
|
|
370
|
-
|
|
370
|
+
clawdbot gateway restart
|
|
371
371
|
```
|
|
372
372
|
2) Check status + auth:
|
|
373
373
|
```bash
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
374
|
+
clawdbot status
|
|
375
|
+
clawdbot models status
|
|
376
|
+
clawdbot logs --follow
|
|
377
377
|
```
|
|
378
378
|
3) If it still hangs, run:
|
|
379
379
|
```bash
|
|
380
|
-
|
|
380
|
+
clawdbot doctor
|
|
381
381
|
```
|
|
382
382
|
|
|
383
383
|
If the Gateway is remote, ensure the tunnel/Tailscale connection is up and that the UI
|
|
@@ -389,10 +389,10 @@ Yes. Copy the **state directory** and **workspace**, then run Doctor once. This
|
|
|
389
389
|
keeps your bot “exactly the same” (memory, session history, auth, and channel
|
|
390
390
|
state) as long as you copy **both** locations:
|
|
391
391
|
|
|
392
|
-
1) Install
|
|
392
|
+
1) Install Clawdbot on the new machine.
|
|
393
393
|
2) Copy `$CLAWDBOT_STATE_DIR` (default: `~/.clawdbot`) from the old machine.
|
|
394
394
|
3) Copy your workspace (default: `~/clawd`).
|
|
395
|
-
4) Run `
|
|
395
|
+
4) Run `clawdbot doctor` and restart the Gateway service.
|
|
396
396
|
|
|
397
397
|
That preserves config, auth profiles, WhatsApp creds, sessions, and memory. If you’re in
|
|
398
398
|
remote mode, remember the gateway host owns the session store and workspace.
|
|
@@ -401,28 +401,28 @@ remote mode, remember the gateway host owns the session store and workspace.
|
|
|
401
401
|
up **memory + bootstrap files**, but **not** session history or auth. Those live
|
|
402
402
|
under `~/.clawdbot/` (for example `~/.clawdbot/agents/<agentId>/sessions/`).
|
|
403
403
|
|
|
404
|
-
Related: [
|
|
404
|
+
Related: [Where things live on disk](/help/faq#where-does-clawdbot-store-its-data),
|
|
405
405
|
[Agent workspace](/concepts/agent-workspace), [Doctor](/gateway/doctor),
|
|
406
406
|
[Remote mode](/gateway/remote).
|
|
407
407
|
|
|
408
408
|
### Where do I see whats new in the latest version
|
|
409
409
|
|
|
410
410
|
Check the GitHub changelog:
|
|
411
|
-
https://github.com/
|
|
411
|
+
https://github.com/clawdbot/clawdbot/blob/main/CHANGELOG.md
|
|
412
412
|
|
|
413
413
|
Newest entries are at the top. If the top section is marked **Unreleased**, the next dated
|
|
414
414
|
section is the latest shipped version. Entries are grouped by **Highlights**, **Changes**, and
|
|
415
415
|
**Fixes** (plus docs/other sections when needed).
|
|
416
416
|
|
|
417
|
-
### I cant access
|
|
417
|
+
### I cant access docsclawdbot SSL error What now
|
|
418
418
|
|
|
419
|
-
Some Comcast/Xfinity connections incorrectly block `docs.
|
|
420
|
-
Advanced Security. Disable it or allowlist `docs.
|
|
421
|
-
detail: [Troubleshooting](/help/troubleshooting#
|
|
419
|
+
Some Comcast/Xfinity connections incorrectly block `docs.clawd.bot` via Xfinity
|
|
420
|
+
Advanced Security. Disable it or allowlist `docs.clawd.bot`, then retry. More
|
|
421
|
+
detail: [Troubleshooting](/help/troubleshooting#docsclawdbot-shows-an-ssl-error-comcastxfinity).
|
|
422
422
|
Please help us unblock it by reporting here: https://spa.xfinity.com/check_url_status.
|
|
423
423
|
|
|
424
424
|
If you still can't reach the site, the docs are mirrored on GitHub:
|
|
425
|
-
https://github.com/
|
|
425
|
+
https://github.com/clawdbot/clawdbot/tree/main/docs
|
|
426
426
|
|
|
427
427
|
### Whats the difference between stable and beta
|
|
428
428
|
|
|
@@ -435,7 +435,7 @@ that same version to `latest`**. That’s why beta and stable can point at the
|
|
|
435
435
|
**same version**.
|
|
436
436
|
|
|
437
437
|
See what changed:
|
|
438
|
-
https://github.com/
|
|
438
|
+
https://github.com/clawdbot/clawdbot/blob/main/CHANGELOG.md
|
|
439
439
|
|
|
440
440
|
### How do I install the beta version and whats the difference between beta and dev
|
|
441
441
|
|
|
@@ -445,15 +445,15 @@ https://github.com/moltbot/moltbot/blob/main/CHANGELOG.md
|
|
|
445
445
|
One‑liners (macOS/Linux):
|
|
446
446
|
|
|
447
447
|
```bash
|
|
448
|
-
curl -fsSL --proto '=https' --tlsv1.2 https://
|
|
448
|
+
curl -fsSL --proto '=https' --tlsv1.2 https://clawd.bot/install.sh | bash -s -- --beta
|
|
449
449
|
```
|
|
450
450
|
|
|
451
451
|
```bash
|
|
452
|
-
curl -fsSL --proto '=https' --tlsv1.2 https://
|
|
452
|
+
curl -fsSL --proto '=https' --tlsv1.2 https://clawd.bot/install.sh | bash -s -- --install-method git
|
|
453
453
|
```
|
|
454
454
|
|
|
455
455
|
Windows installer (PowerShell):
|
|
456
|
-
https://
|
|
456
|
+
https://clawd.bot/install.ps1
|
|
457
457
|
|
|
458
458
|
More detail: [Development channels](/install/development-channels) and [Installer flags](/install/installer).
|
|
459
459
|
|
|
@@ -472,20 +472,20 @@ Two options:
|
|
|
472
472
|
|
|
473
473
|
1) **Dev channel (git checkout):**
|
|
474
474
|
```bash
|
|
475
|
-
|
|
475
|
+
clawdbot update --channel dev
|
|
476
476
|
```
|
|
477
477
|
This switches to the `main` branch and updates from source.
|
|
478
478
|
|
|
479
479
|
2) **Hackable install (from the installer site):**
|
|
480
480
|
```bash
|
|
481
|
-
curl -fsSL https://
|
|
481
|
+
curl -fsSL https://clawd.bot/install.sh | bash -s -- --install-method git
|
|
482
482
|
```
|
|
483
483
|
That gives you a local repo you can edit, then update via git.
|
|
484
484
|
|
|
485
485
|
If you prefer a clean clone manually, use:
|
|
486
486
|
```bash
|
|
487
|
-
git clone https://github.com/
|
|
488
|
-
cd
|
|
487
|
+
git clone https://github.com/clawdbot/clawdbot.git
|
|
488
|
+
cd clawdbot
|
|
489
489
|
pnpm install
|
|
490
490
|
pnpm build
|
|
491
491
|
```
|
|
@@ -498,24 +498,24 @@ Docs: [Update](/cli/update), [Development channels](/install/development-channel
|
|
|
498
498
|
Re-run the installer with **verbose output**:
|
|
499
499
|
|
|
500
500
|
```bash
|
|
501
|
-
curl -fsSL https://
|
|
501
|
+
curl -fsSL https://clawd.bot/install.sh | bash -s -- --verbose
|
|
502
502
|
```
|
|
503
503
|
|
|
504
504
|
Beta install with verbose:
|
|
505
505
|
|
|
506
506
|
```bash
|
|
507
|
-
curl -fsSL https://
|
|
507
|
+
curl -fsSL https://clawd.bot/install.sh | bash -s -- --beta --verbose
|
|
508
508
|
```
|
|
509
509
|
|
|
510
510
|
For a hackable (git) install:
|
|
511
511
|
|
|
512
512
|
```bash
|
|
513
|
-
curl -fsSL https://
|
|
513
|
+
curl -fsSL https://clawd.bot/install.sh | bash -s -- --install-method git --verbose
|
|
514
514
|
```
|
|
515
515
|
|
|
516
516
|
More options: [Installer flags](/install/installer).
|
|
517
517
|
|
|
518
|
-
### Windows install says git not found or
|
|
518
|
+
### Windows install says git not found or clawdbot not recognized
|
|
519
519
|
|
|
520
520
|
Two common Windows issues:
|
|
521
521
|
|
|
@@ -523,7 +523,7 @@ Two common Windows issues:
|
|
|
523
523
|
- Install **Git for Windows** and make sure `git` is on your PATH.
|
|
524
524
|
- Close and reopen PowerShell, then re-run the installer.
|
|
525
525
|
|
|
526
|
-
**2)
|
|
526
|
+
**2) clawdbot is not recognized after install**
|
|
527
527
|
- Your npm global bin folder is not on PATH.
|
|
528
528
|
- Check the path:
|
|
529
529
|
```powershell
|
|
@@ -541,12 +541,12 @@ Use the **hackable (git) install** so you have the full source and docs locally,
|
|
|
541
541
|
your bot (or Claude/Codex) *from that folder* so it can read the repo and answer precisely.
|
|
542
542
|
|
|
543
543
|
```bash
|
|
544
|
-
curl -fsSL https://
|
|
544
|
+
curl -fsSL https://clawd.bot/install.sh | bash -s -- --install-method git
|
|
545
545
|
```
|
|
546
546
|
|
|
547
547
|
More detail: [Install](/install) and [Installer flags](/install/installer).
|
|
548
548
|
|
|
549
|
-
### How do I install
|
|
549
|
+
### How do I install Clawdbot on Linux
|
|
550
550
|
|
|
551
551
|
Short answer: follow the Linux guide, then run the onboarding wizard.
|
|
552
552
|
|
|
@@ -554,7 +554,7 @@ Short answer: follow the Linux guide, then run the onboarding wizard.
|
|
|
554
554
|
- Full walkthrough: [Getting Started](/start/getting-started).
|
|
555
555
|
- Installer + updates: [Install & updates](/install/updating).
|
|
556
556
|
|
|
557
|
-
### How do I install
|
|
557
|
+
### How do I install Clawdbot on a VPS
|
|
558
558
|
|
|
559
559
|
Any Linux VPS works. Install on the server, then use SSH/Tailscale to reach the Gateway.
|
|
560
560
|
|
|
@@ -566,6 +566,7 @@ Remote access: [Gateway remote](/gateway/remote).
|
|
|
566
566
|
We keep a **hosting hub** with the common providers. Pick one and follow the guide:
|
|
567
567
|
|
|
568
568
|
- [VPS hosting](/vps) (all providers in one place)
|
|
569
|
+
- [Railway](/railway) (one‑click, browser‑based setup)
|
|
569
570
|
- [Fly.io](/platforms/fly)
|
|
570
571
|
- [Hetzner](/platforms/hetzner)
|
|
571
572
|
- [exe.dev](/platforms/exe-dev)
|
|
@@ -590,25 +591,25 @@ can prompt for confirmation. Safer: run updates from a shell as the operator.
|
|
|
590
591
|
Use the CLI:
|
|
591
592
|
|
|
592
593
|
```bash
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
594
|
+
clawdbot update
|
|
595
|
+
clawdbot update status
|
|
596
|
+
clawdbot update --channel stable|beta|dev
|
|
597
|
+
clawdbot update --tag <dist-tag|version>
|
|
598
|
+
clawdbot update --no-restart
|
|
598
599
|
```
|
|
599
600
|
|
|
600
601
|
If you must automate from an agent:
|
|
601
602
|
|
|
602
603
|
```bash
|
|
603
|
-
|
|
604
|
-
|
|
604
|
+
clawdbot update --yes --no-restart
|
|
605
|
+
clawdbot gateway restart
|
|
605
606
|
```
|
|
606
607
|
|
|
607
608
|
Docs: [Update](/cli/update), [Updating](/install/updating).
|
|
608
609
|
|
|
609
610
|
### What does the onboarding wizard actually do
|
|
610
611
|
|
|
611
|
-
`
|
|
612
|
+
`clawdbot onboard` is the recommended setup path. In **local mode** it walks you through:
|
|
612
613
|
|
|
613
614
|
- **Model/auth setup** (Anthropic **setup-token** recommended for Claude subscriptions, OpenAI Codex OAuth supported, API keys optional, LM Studio local models supported)
|
|
614
615
|
- **Workspace** location + bootstrap files
|
|
@@ -621,7 +622,7 @@ It also warns if your configured model is unknown or missing auth.
|
|
|
621
622
|
|
|
622
623
|
### Do I need a Claude or OpenAI subscription to run this
|
|
623
624
|
|
|
624
|
-
No. You can run
|
|
625
|
+
No. You can run Clawdbot with **API keys** (Anthropic/OpenAI/others) or with
|
|
625
626
|
**local‑only models** so your data stays on your device. Subscriptions (Claude
|
|
626
627
|
Pro/Max or OpenAI Codex) are optional ways to authenticate those providers.
|
|
627
628
|
|
|
@@ -630,7 +631,7 @@ Docs: [Anthropic](/providers/anthropic), [OpenAI](/providers/openai),
|
|
|
630
631
|
|
|
631
632
|
### Can I use Claude Max subscription without an API key
|
|
632
633
|
|
|
633
|
-
Yes. You can authenticate with a **setup-token**
|
|
634
|
+
Yes. You can authenticate with **Claude Code CLI OAuth** or a **setup-token**
|
|
634
635
|
instead of an API key. This is the subscription path.
|
|
635
636
|
|
|
636
637
|
Claude Pro/Max subscriptions **do not include an API key**, so this is the
|
|
@@ -640,7 +641,11 @@ If you want the most explicit, supported path, use an Anthropic API key.
|
|
|
640
641
|
|
|
641
642
|
### How does Anthropic setuptoken auth work
|
|
642
643
|
|
|
643
|
-
`claude setup-token` generates a **token string** via the Claude Code CLI (it is not available in the web console). You can run it on **any machine**.
|
|
644
|
+
`claude setup-token` generates a **token string** via the Claude Code CLI (it is not available in the web console). You can run it on **any machine**. If Claude Code CLI credentials are present on the gateway host, Clawdbot can reuse them; otherwise choose **Anthropic token (paste setup-token)** and paste the string. The token is stored as an auth profile for the **anthropic** provider and used like an API key or OAuth profile. More detail: [OAuth](/concepts/oauth).
|
|
645
|
+
|
|
646
|
+
Clawdbot keeps `auth.profiles["anthropic:claude-cli"].mode` set to `"oauth"` so
|
|
647
|
+
the profile accepts both OAuth and setup-token credentials; older `"token"` mode
|
|
648
|
+
entries auto-migrate.
|
|
644
649
|
|
|
645
650
|
### Where do I find an Anthropic setuptoken
|
|
646
651
|
|
|
@@ -650,11 +655,11 @@ It is **not** in the Anthropic Console. The setup-token is generated by the **Cl
|
|
|
650
655
|
claude setup-token
|
|
651
656
|
```
|
|
652
657
|
|
|
653
|
-
Copy the token it prints, then choose **Anthropic token (paste setup-token)** in the wizard. If you want to run it on the gateway host, use `
|
|
658
|
+
Copy the token it prints, then choose **Anthropic token (paste setup-token)** in the wizard. If you want to run it on the gateway host, use `clawdbot models auth setup-token --provider anthropic`. If you ran `claude setup-token` elsewhere, paste it on the gateway host with `clawdbot models auth paste-token --provider anthropic`. See [Anthropic](/providers/anthropic).
|
|
654
659
|
|
|
655
|
-
### Do you support Claude subscription auth
|
|
660
|
+
### Do you support Claude subscription auth Claude Code OAuth
|
|
656
661
|
|
|
657
|
-
Yes
|
|
662
|
+
Yes. Clawdbot can **reuse Claude Code CLI credentials** (OAuth) and also supports **setup-token**. If you have a Claude subscription, we recommend **setup-token** for long‑running setups (requires Claude Pro/Max + the `claude` CLI). You can generate it anywhere and paste it on the gateway host. OAuth reuse is supported, but avoid logging in separately via Clawdbot and Claude Code to prevent token conflicts. See [Anthropic](/providers/anthropic) and [OAuth](/concepts/oauth).
|
|
658
663
|
|
|
659
664
|
Note: Claude subscription access is governed by Anthropic’s terms. For production or multi‑user workloads, API keys are usually the safer choice.
|
|
660
665
|
|
|
@@ -665,7 +670,7 @@ use a **Claude subscription** (setup‑token or Claude Code OAuth), wait for the
|
|
|
665
670
|
reset or upgrade your plan. If you use an **Anthropic API key**, check the Anthropic Console
|
|
666
671
|
for usage/billing and raise limits as needed.
|
|
667
672
|
|
|
668
|
-
Tip: set a **fallback model** so
|
|
673
|
+
Tip: set a **fallback model** so Clawdbot can keep replying while a provider is rate‑limited.
|
|
669
674
|
See [Models](/cli/models) and [OAuth](/concepts/oauth).
|
|
670
675
|
|
|
671
676
|
### Is AWS Bedrock supported
|
|
@@ -674,28 +679,29 @@ Yes - via pi‑ai’s **Amazon Bedrock (Converse)** provider with **manual confi
|
|
|
674
679
|
|
|
675
680
|
### How does Codex auth work
|
|
676
681
|
|
|
677
|
-
|
|
682
|
+
Clawdbot supports **OpenAI Code (Codex)** via OAuth or by reusing your Codex CLI login (`~/.codex/auth.json`). The wizard can import the CLI login or run the OAuth flow and will set the default model to `openai-codex/gpt-5.2` when appropriate. See [Model providers](/concepts/model-providers) and [Wizard](/start/wizard).
|
|
678
683
|
|
|
679
684
|
### Do you support OpenAI subscription auth Codex OAuth
|
|
680
685
|
|
|
681
|
-
Yes.
|
|
682
|
-
|
|
686
|
+
Yes. Clawdbot fully supports **OpenAI Code (Codex) subscription OAuth** and can also reuse an
|
|
687
|
+
existing Codex CLI login (`~/.codex/auth.json`) on the gateway host. The onboarding wizard
|
|
688
|
+
can import the CLI login or run the OAuth flow for you.
|
|
683
689
|
|
|
684
690
|
See [OAuth](/concepts/oauth), [Model providers](/concepts/model-providers), and [Wizard](/start/wizard).
|
|
685
691
|
|
|
686
692
|
### How do I set up Gemini CLI OAuth
|
|
687
693
|
|
|
688
|
-
Gemini CLI uses a **plugin auth flow**, not a client id or secret in `
|
|
694
|
+
Gemini CLI uses a **plugin auth flow**, not a client id or secret in `clawdbot.json`.
|
|
689
695
|
|
|
690
696
|
Steps:
|
|
691
|
-
1) Enable the plugin: `
|
|
692
|
-
2) Login: `
|
|
697
|
+
1) Enable the plugin: `clawdbot plugins enable google-gemini-cli-auth`
|
|
698
|
+
2) Login: `clawdbot models auth login --provider google-gemini-cli --set-default`
|
|
693
699
|
|
|
694
700
|
This stores OAuth tokens in auth profiles on the gateway host. Details: [Model providers](/concepts/model-providers).
|
|
695
701
|
|
|
696
702
|
### Is a local model OK for casual chats
|
|
697
703
|
|
|
698
|
-
Usually no.
|
|
704
|
+
Usually no. Clawdbot needs large context + strong safety; small cards truncate and leak. If you must, run the **largest** MiniMax M2.1 build you can locally (LM Studio) and see [/gateway/local-models](/gateway/local-models). Smaller/quantized models increase prompt-injection risk - see [Security](/gateway/security).
|
|
699
705
|
|
|
700
706
|
### How do I keep hosted model traffic in a specific region
|
|
701
707
|
|
|
@@ -703,7 +709,7 @@ Pick region-pinned endpoints. OpenRouter exposes US-hosted options for MiniMax,
|
|
|
703
709
|
|
|
704
710
|
### Do I have to buy a Mac Mini to install this
|
|
705
711
|
|
|
706
|
-
No.
|
|
712
|
+
No. Clawdbot runs on macOS or Linux (Windows via WSL2). A Mac mini is optional - some people
|
|
707
713
|
buy one as an always‑on host, but a small VPS, home server, or Raspberry Pi‑class box works too.
|
|
708
714
|
|
|
709
715
|
You only need a Mac **for macOS‑only tools**. For iMessage, you can keep the Gateway on Linux
|
|
@@ -715,7 +721,7 @@ Docs: [iMessage](/channels/imessage), [Nodes](/nodes), [Mac remote mode](/platfo
|
|
|
715
721
|
### Do I need a Mac mini for iMessage support
|
|
716
722
|
|
|
717
723
|
You need **some macOS device** signed into Messages. It does **not** have to be a Mac mini -
|
|
718
|
-
any Mac works.
|
|
724
|
+
any Mac works. Clawdbot’s iMessage integrations run on macOS (BlueBubbles or `imsg`), while
|
|
719
725
|
the Gateway can run elsewhere.
|
|
720
726
|
|
|
721
727
|
Common setups:
|
|
@@ -726,7 +732,7 @@ Common setups:
|
|
|
726
732
|
Docs: [iMessage](/channels/imessage), [BlueBubbles](/channels/bluebubbles),
|
|
727
733
|
[Mac remote mode](/platforms/mac/remote).
|
|
728
734
|
|
|
729
|
-
### If I buy a Mac mini to run
|
|
735
|
+
### If I buy a Mac mini to run Clawdbot can I connect it to my MacBook Pro
|
|
730
736
|
|
|
731
737
|
Yes. The **Mac mini can run the Gateway**, and your MacBook Pro can connect as a
|
|
732
738
|
**node** (companion device). Nodes don’t run the Gateway - they provide extra
|
|
@@ -735,7 +741,7 @@ capabilities like screen/camera/canvas and `system.run` on that device.
|
|
|
735
741
|
Common pattern:
|
|
736
742
|
- Gateway on the Mac mini (always‑on).
|
|
737
743
|
- MacBook Pro runs the macOS app or a node host and pairs to the Gateway.
|
|
738
|
-
- Use `
|
|
744
|
+
- Use `clawdbot nodes status` / `clawdbot nodes list` to see it.
|
|
739
745
|
|
|
740
746
|
Docs: [Nodes](/nodes), [Nodes CLI](/cli/nodes).
|
|
741
747
|
|
|
@@ -752,7 +758,7 @@ without WhatsApp/Telegram.
|
|
|
752
758
|
`channels.telegram.allowFrom` is **the human sender’s Telegram user ID** (numeric, recommended) or `@username`. It is not the bot username.
|
|
753
759
|
|
|
754
760
|
Safer (no third-party bot):
|
|
755
|
-
- DM your bot, then run `
|
|
761
|
+
- DM your bot, then run `clawdbot logs --follow` and read `from.id`.
|
|
756
762
|
|
|
757
763
|
Official Bot API:
|
|
758
764
|
- DM your bot, then call `https://api.telegram.org/bot<bot_token>/getUpdates` and read `message.from.id`.
|
|
@@ -762,7 +768,7 @@ Third-party (less private):
|
|
|
762
768
|
|
|
763
769
|
See [/channels/telegram](/channels/telegram#access-control-dms--groups).
|
|
764
770
|
|
|
765
|
-
### Can multiple people use one WhatsApp number with different
|
|
771
|
+
### Can multiple people use one WhatsApp number with different Clawdbots
|
|
766
772
|
|
|
767
773
|
Yes, via **multi‑agent routing**. Bind each sender’s WhatsApp **DM** (peer `kind: "dm"`, sender E.164 like `+15551234567`) to a different `agentId`, so each person gets their own workspace and session store. Replies still come from the **same WhatsApp account**, and DM access control (`channels.whatsapp.dmPolicy` / `channels.whatsapp.allowFrom`) is global per WhatsApp account. See [Multi-Agent Routing](/concepts/multi-agent) and [WhatsApp](/channels/whatsapp).
|
|
768
774
|
|
|
@@ -781,7 +787,7 @@ eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"
|
|
|
781
787
|
brew install <formula>
|
|
782
788
|
```
|
|
783
789
|
|
|
784
|
-
If you run
|
|
790
|
+
If you run Clawdbot via systemd, ensure the service PATH includes `/home/linuxbrew/.linuxbrew/bin` (or your brew prefix) so `brew`-installed tools resolve in non‑login shells.
|
|
785
791
|
Recent builds also prepend common user bin dirs on Linux systemd services (for example `~/.local/bin`, `~/.npm-global/bin`, `~/.local/share/pnpm`, `~/.bun/bin`) and honor `PNPM_HOME`, `NPM_CONFIG_PREFIX`, `BUN_INSTALL`, `VOLTA_HOME`, `ASDF_DATA_DIR`, `NVM_DIR`, and `FNM_DIR` when set.
|
|
786
792
|
|
|
787
793
|
### Whats the difference between the hackable git install and npm install
|
|
@@ -796,26 +802,26 @@ Docs: [Getting started](/start/getting-started), [Updating](/install/updating).
|
|
|
796
802
|
### Can I switch between npm and git installs later
|
|
797
803
|
|
|
798
804
|
Yes. Install the other flavor, then run Doctor so the gateway service points at the new entrypoint.
|
|
799
|
-
This **does not delete your data** - it only changes the
|
|
805
|
+
This **does not delete your data** - it only changes the Clawdbot code install. Your state
|
|
800
806
|
(`~/.clawdbot`) and workspace (`~/clawd`) stay untouched.
|
|
801
807
|
|
|
802
808
|
From npm → git:
|
|
803
809
|
|
|
804
810
|
```bash
|
|
805
|
-
git clone https://github.com/
|
|
806
|
-
cd
|
|
811
|
+
git clone https://github.com/clawdbot/clawdbot.git
|
|
812
|
+
cd clawdbot
|
|
807
813
|
pnpm install
|
|
808
814
|
pnpm build
|
|
809
|
-
|
|
810
|
-
|
|
815
|
+
clawdbot doctor
|
|
816
|
+
clawdbot gateway restart
|
|
811
817
|
```
|
|
812
818
|
|
|
813
819
|
From git → npm:
|
|
814
820
|
|
|
815
821
|
```bash
|
|
816
|
-
npm install -g
|
|
817
|
-
|
|
818
|
-
|
|
822
|
+
npm install -g clawdbot@latest
|
|
823
|
+
clawdbot doctor
|
|
824
|
+
clawdbot gateway restart
|
|
819
825
|
```
|
|
820
826
|
|
|
821
827
|
Doctor detects a gateway service entrypoint mismatch and offers to rewrite the service config to match the current install (use `--repair` in automation).
|
|
@@ -835,11 +841,11 @@ lowest friction and you’re okay with sleep/restarts, run it locally.
|
|
|
835
841
|
- **Pros:** always‑on, stable network, no laptop sleep issues, easier to keep running.
|
|
836
842
|
- **Cons:** often run headless (use screenshots), remote file access only, you must SSH for updates.
|
|
837
843
|
|
|
838
|
-
**
|
|
844
|
+
**Clawdbot-specific note:** WhatsApp/Telegram/Slack/Mattermost (plugin)/Discord all work fine from a VPS. The only real trade-off is **headless browser** vs a visible window. See [Browser](/tools/browser).
|
|
839
845
|
|
|
840
846
|
**Recommended default:** VPS if you had gateway disconnects before. Local is great when you’re actively using the Mac and want local file access or UI automation with a visible browser.
|
|
841
847
|
|
|
842
|
-
### How important is it to run
|
|
848
|
+
### How important is it to run Clawdbot on a dedicated machine
|
|
843
849
|
|
|
844
850
|
Not required, but **recommended for reliability and isolation**.
|
|
845
851
|
|
|
@@ -851,7 +857,7 @@ For security guidance, read [Security](/gateway/security).
|
|
|
851
857
|
|
|
852
858
|
### What are the minimum VPS requirements and recommended OS
|
|
853
859
|
|
|
854
|
-
|
|
860
|
+
Clawdbot is lightweight. For a basic Gateway + one chat channel:
|
|
855
861
|
|
|
856
862
|
- **Absolute minimum:** 1 vCPU, 1GB RAM, ~500MB disk.
|
|
857
863
|
- **Recommended:** 1-2 vCPU, 2GB RAM or more for headroom (logs, media, multiple channels). Node tools and browser automation can be resource hungry.
|
|
@@ -860,7 +866,7 @@ OS: use **Ubuntu LTS** (or any modern Debian/Ubuntu). The Linux install path is
|
|
|
860
866
|
|
|
861
867
|
Docs: [Linux](/platforms/linux), [VPS hosting](/vps).
|
|
862
868
|
|
|
863
|
-
### Can I run
|
|
869
|
+
### Can I run Clawdbot in a VM and what are the requirements
|
|
864
870
|
|
|
865
871
|
Yes. Treat a VM the same as a VPS: it needs to be always on, reachable, and have enough
|
|
866
872
|
RAM for the Gateway and any channels you enable.
|
|
@@ -874,15 +880,15 @@ If you are on Windows, **WSL2 is the easiest VM style setup** and has the best t
|
|
|
874
880
|
compatibility. See [Windows](/platforms/windows), [VPS hosting](/vps).
|
|
875
881
|
If you are running macOS in a VM, see [macOS VM](/platforms/macos-vm).
|
|
876
882
|
|
|
877
|
-
## What is
|
|
883
|
+
## What is Clawdbot?
|
|
878
884
|
|
|
879
|
-
### What is
|
|
885
|
+
### What is Clawdbot in one paragraph
|
|
880
886
|
|
|
881
|
-
|
|
887
|
+
Clawdbot is a personal AI assistant you run on your own devices. It replies on the messaging surfaces you already use (WhatsApp, Telegram, Slack, Mattermost (plugin), Discord, Google Chat, 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.
|
|
882
888
|
|
|
883
889
|
### Whats the value proposition
|
|
884
890
|
|
|
885
|
-
|
|
891
|
+
Clawdbot is not “just a Claude wrapper.” It’s a **local-first control plane** that lets you run a
|
|
886
892
|
capable assistant on **your own hardware**, reachable from the chat apps you already use, with
|
|
887
893
|
stateful sessions, memory, and tools - without handing control of your workflows to a hosted
|
|
888
894
|
SaaS.
|
|
@@ -913,7 +919,7 @@ Good first projects:
|
|
|
913
919
|
It can handle large tasks, but it works best when you split them into phases and
|
|
914
920
|
use sub agents for parallel work.
|
|
915
921
|
|
|
916
|
-
### What are the top five everyday use cases for
|
|
922
|
+
### What are the top five everyday use cases for Clawdbot
|
|
917
923
|
|
|
918
924
|
Everyday wins usually look like:
|
|
919
925
|
- **Personal briefings:** summaries of inbox, calendar, and news you care about.
|
|
@@ -922,21 +928,21 @@ Everyday wins usually look like:
|
|
|
922
928
|
- **Browser automation:** filling forms, collecting data, and repeating web tasks.
|
|
923
929
|
- **Cross device coordination:** send a task from your phone, let the Gateway run it on a server, and get the result back in chat.
|
|
924
930
|
|
|
925
|
-
### Can
|
|
931
|
+
### Can Clawdbot help with lead gen outreach ads and blogs for a SaaS
|
|
926
932
|
|
|
927
933
|
Yes for **research, qualification, and drafting**. It can scan sites, build shortlists,
|
|
928
934
|
summarize prospects, and write outreach or ad copy drafts.
|
|
929
935
|
|
|
930
936
|
For **outreach or ad runs**, keep a human in the loop. Avoid spam, follow local laws and
|
|
931
937
|
platform policies, and review anything before it is sent. The safest pattern is to let
|
|
932
|
-
|
|
938
|
+
Clawdbot draft and you approve.
|
|
933
939
|
|
|
934
940
|
Docs: [Security](/gateway/security).
|
|
935
941
|
|
|
936
942
|
### What are the advantages vs Claude Code for web development
|
|
937
943
|
|
|
938
|
-
|
|
939
|
-
Claude Code or Codex for the fastest direct coding loop inside a repo. Use
|
|
944
|
+
Clawdbot is a **personal assistant** and coordination layer, not an IDE replacement. Use
|
|
945
|
+
Claude Code or Codex for the fastest direct coding loop inside a repo. Use Clawdbot when you
|
|
940
946
|
want durable memory, cross-device access, and tool orchestration.
|
|
941
947
|
|
|
942
948
|
Advantages:
|
|
@@ -946,17 +952,17 @@ Advantages:
|
|
|
946
952
|
- **Always-on Gateway** (run on a VPS, interact from anywhere)
|
|
947
953
|
- **Nodes** for local browser/screen/camera/exec
|
|
948
954
|
|
|
949
|
-
Showcase: https://
|
|
955
|
+
Showcase: https://clawd.bot/showcase
|
|
950
956
|
|
|
951
957
|
## Skills and automation
|
|
952
958
|
|
|
953
959
|
### How do I customize skills without keeping the repo dirty
|
|
954
960
|
|
|
955
|
-
Use managed overrides instead of editing the repo copy. Put your changes in `~/.clawdbot/skills/<name>/SKILL.md` (or add a folder via `skills.load.extraDirs` in `~/.clawdbot/
|
|
961
|
+
Use managed overrides instead of editing the repo copy. Put your changes in `~/.clawdbot/skills/<name>/SKILL.md` (or add a folder via `skills.load.extraDirs` in `~/.clawdbot/clawdbot.json`). Precedence is `<workspace>/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.
|
|
956
962
|
|
|
957
963
|
### Can I load skills from a custom folder
|
|
958
964
|
|
|
959
|
-
Yes. Add extra directories via `skills.load.extraDirs` in `~/.clawdbot/
|
|
965
|
+
Yes. Add extra directories via `skills.load.extraDirs` in `~/.clawdbot/clawdbot.json` (lowest precedence). Default precedence remains: `<workspace>/skills` → `~/.clawdbot/skills` → bundled → `skills.load.extraDirs`. `clawdhub` installs into `./skills` by default, which Clawdbot treats as `<workspace>/skills`.
|
|
960
966
|
|
|
961
967
|
### How can I use different models for different tasks
|
|
962
968
|
|
|
@@ -992,8 +998,8 @@ Checklist:
|
|
|
992
998
|
|
|
993
999
|
Debug:
|
|
994
1000
|
```bash
|
|
995
|
-
|
|
996
|
-
|
|
1001
|
+
clawdbot cron run <jobId> --force
|
|
1002
|
+
clawdbot cron runs --id <jobId> --limit 50
|
|
997
1003
|
```
|
|
998
1004
|
|
|
999
1005
|
Docs: [Cron jobs](/automation/cron-jobs), [Cron vs Heartbeat](/automation/cron-vs-heartbeat).
|
|
@@ -1013,7 +1019,7 @@ npm i -g clawdhub
|
|
|
1013
1019
|
pnpm add -g clawdhub
|
|
1014
1020
|
```
|
|
1015
1021
|
|
|
1016
|
-
### Can
|
|
1022
|
+
### Can Clawdbot run tasks on a schedule or continuously in the background
|
|
1017
1023
|
|
|
1018
1024
|
Yes. Use the Gateway scheduler:
|
|
1019
1025
|
|
|
@@ -1031,10 +1037,10 @@ Not directly. macOS skills are gated by `metadata.clawdbot.os` plus required bin
|
|
|
1031
1037
|
You have three supported patterns:
|
|
1032
1038
|
|
|
1033
1039
|
**Option A - run the Gateway on a Mac (simplest).**
|
|
1034
|
-
Run the Gateway where the macOS binaries exist, then connect from Linux in [remote mode](#how-do-i-run-
|
|
1040
|
+
Run the Gateway where the macOS binaries exist, then connect from Linux in [remote mode](#how-do-i-run-clawdbot-in-remote-mode-client-connects-to-a-gateway-elsewhere) or over Tailscale. The skills load normally because the Gateway host is macOS.
|
|
1035
1041
|
|
|
1036
1042
|
**Option B - use a macOS node (no SSH).**
|
|
1037
|
-
Run the Gateway on Linux, pair a macOS node (menubar app), and set **Node Run Commands** to "Always Ask" or "Always Allow" on the Mac.
|
|
1043
|
+
Run the Gateway on Linux, pair a macOS node (menubar app), and set **Node Run Commands** to "Always Ask" or "Always Allow" on the Mac. Clawdbot can treat macOS-only skills as eligible when the required binaries exist on the node. The agent runs those skills via the `nodes` tool. If you choose "Always Ask", approving "Always Allow" in the prompt adds that command to the allowlist.
|
|
1038
1044
|
|
|
1039
1045
|
**Option C - proxy macOS binaries over SSH (advanced).**
|
|
1040
1046
|
Keep the Gateway on Linux, but make the required CLI binaries resolve to SSH wrappers that run on a Mac. Then override the skill to allow Linux so it stays eligible.
|
|
@@ -1051,12 +1057,12 @@ Keep the Gateway on Linux, but make the required CLI binaries resolve to SSH wra
|
|
|
1051
1057
|
---
|
|
1052
1058
|
name: imsg
|
|
1053
1059
|
description: iMessage/SMS CLI for listing chats, history, watch, and sending.
|
|
1054
|
-
metadata: {"
|
|
1060
|
+
metadata: {"clawdbot":{"os":["darwin","linux"],"requires":{"bins":["imsg"]}}}
|
|
1055
1061
|
---
|
|
1056
1062
|
```
|
|
1057
1063
|
4) Start a new session so the skills snapshot refreshes.
|
|
1058
1064
|
|
|
1059
|
-
For iMessage specifically, you can also point `channels.imessage.cliPath` at an SSH wrapper (
|
|
1065
|
+
For iMessage specifically, you can also point `channels.imessage.cliPath` at an SSH wrapper (Clawdbot only needs stdio). See [iMessage](/channels/imessage).
|
|
1060
1066
|
|
|
1061
1067
|
### Do you have a Notion or HeyGen integration
|
|
1062
1068
|
|
|
@@ -1080,23 +1086,22 @@ clawdhub install <skill-slug>
|
|
|
1080
1086
|
clawdhub update --all
|
|
1081
1087
|
```
|
|
1082
1088
|
|
|
1083
|
-
ClawdHub installs into `./skills` under your current directory (or falls back to your configured
|
|
1089
|
+
ClawdHub installs into `./skills` under your current directory (or falls back to your configured Clawdbot workspace); Clawdbot treats that as `<workspace>/skills` on the next session. For shared skills across agents, place them in `~/.clawdbot/skills/<name>/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).
|
|
1084
1090
|
|
|
1085
1091
|
### How do I install the Chrome extension for browser takeover
|
|
1086
1092
|
|
|
1087
1093
|
Use the built-in installer, then load the unpacked extension in Chrome:
|
|
1088
1094
|
|
|
1089
1095
|
```bash
|
|
1090
|
-
|
|
1091
|
-
|
|
1096
|
+
clawdbot browser extension install
|
|
1097
|
+
clawdbot browser extension path
|
|
1092
1098
|
```
|
|
1093
1099
|
|
|
1094
1100
|
Then Chrome → `chrome://extensions` → enable “Developer mode” → “Load unpacked” → pick that folder.
|
|
1095
1101
|
|
|
1096
|
-
Full guide (including remote Gateway + security notes): [Chrome extension](/tools/chrome-extension)
|
|
1102
|
+
Full guide (including remote Gateway via Tailscale + security notes): [Chrome extension](/tools/chrome-extension)
|
|
1097
1103
|
|
|
1098
|
-
If the Gateway runs on the same machine as Chrome (default setup), you usually **do not** need
|
|
1099
|
-
If the Gateway runs elsewhere, run a node host on the browser machine so the Gateway can proxy browser actions.
|
|
1104
|
+
If the Gateway runs on the same machine as Chrome (default setup), you usually **do not** need `clawdbot browser serve`.
|
|
1100
1105
|
You still need to click the extension button on the tab you want to control (it doesn’t auto-attach).
|
|
1101
1106
|
|
|
1102
1107
|
## Sandboxing and memory
|
|
@@ -1121,11 +1126,11 @@ Set `agents.defaults.sandbox.docker.binds` to `["host:path:mode"]` (e.g., `"/hom
|
|
|
1121
1126
|
|
|
1122
1127
|
### How does memory work
|
|
1123
1128
|
|
|
1124
|
-
|
|
1129
|
+
Clawdbot memory is just Markdown files in the agent workspace:
|
|
1125
1130
|
- Daily notes in `memory/YYYY-MM-DD.md`
|
|
1126
1131
|
- Curated long-term notes in `MEMORY.md` (main/private sessions only)
|
|
1127
1132
|
|
|
1128
|
-
|
|
1133
|
+
Clawdbot also runs a **silent pre-compaction memory flush** to remind the model
|
|
1129
1134
|
to write durable notes before auto-compaction. This only runs when the workspace
|
|
1130
1135
|
is writable (read-only sandboxes skip it). See [Memory](/concepts/memory).
|
|
1131
1136
|
|
|
@@ -1147,11 +1152,11 @@ does **not** grant embeddings access, so **signing in with Codex (OAuth or the
|
|
|
1147
1152
|
Codex CLI login)** does not help for semantic memory search. OpenAI embeddings
|
|
1148
1153
|
still need a real API key (`OPENAI_API_KEY` or `models.providers.openai.apiKey`).
|
|
1149
1154
|
|
|
1150
|
-
If you don’t set a provider explicitly,
|
|
1155
|
+
If you don’t set a provider explicitly, Clawdbot auto-selects a provider when it
|
|
1151
1156
|
can resolve an API key (auth profiles, `models.providers.*.apiKey`, or env vars).
|
|
1152
1157
|
It prefers OpenAI if an OpenAI key resolves, otherwise Gemini if a Gemini key
|
|
1153
1158
|
resolves. If neither key is available, memory search stays disabled until you
|
|
1154
|
-
configure it. If you have a local model path configured and present,
|
|
1159
|
+
configure it. If you have a local model path configured and present, Clawdbot
|
|
1155
1160
|
prefers `local`.
|
|
1156
1161
|
|
|
1157
1162
|
If you’d rather stay local, set `memorySearch.provider = "local"` (and optionally
|
|
@@ -1171,9 +1176,9 @@ Docs: [Memory](/concepts/memory), [Context](/concepts/context).
|
|
|
1171
1176
|
|
|
1172
1177
|
## Where things live on disk
|
|
1173
1178
|
|
|
1174
|
-
### Is all data used with
|
|
1179
|
+
### Is all data used with Clawdbot saved locally
|
|
1175
1180
|
|
|
1176
|
-
No - **
|
|
1181
|
+
No - **Clawdbot’s state is local**, but **external services still see what you send them**.
|
|
1177
1182
|
|
|
1178
1183
|
- **Local by default:** sessions, memory files, config, and workspace live on the Gateway host
|
|
1179
1184
|
(`~/.clawdbot` + your workspace directory).
|
|
@@ -1185,13 +1190,13 @@ No - **Pool Bot’s state is local**, but **external services still see what you
|
|
|
1185
1190
|
|
|
1186
1191
|
Related: [Agent workspace](/concepts/agent-workspace), [Memory](/concepts/memory).
|
|
1187
1192
|
|
|
1188
|
-
### Where does
|
|
1193
|
+
### Where does Clawdbot store its data
|
|
1189
1194
|
|
|
1190
1195
|
Everything lives under `$CLAWDBOT_STATE_DIR` (default: `~/.clawdbot`):
|
|
1191
1196
|
|
|
1192
1197
|
| Path | Purpose |
|
|
1193
1198
|
|------|---------|
|
|
1194
|
-
| `$CLAWDBOT_STATE_DIR/
|
|
1199
|
+
| `$CLAWDBOT_STATE_DIR/clawdbot.json` | Main config (JSON5) |
|
|
1195
1200
|
| `$CLAWDBOT_STATE_DIR/credentials/oauth.json` | Legacy OAuth import (copied into auth profiles on first use) |
|
|
1196
1201
|
| `$CLAWDBOT_STATE_DIR/agents/<agentId>/agent/auth-profiles.json` | Auth profiles (OAuth + API keys) |
|
|
1197
1202
|
| `$CLAWDBOT_STATE_DIR/agents/<agentId>/agent/auth.json` | Runtime auth cache (managed automatically) |
|
|
@@ -1200,7 +1205,7 @@ Everything lives under `$CLAWDBOT_STATE_DIR` (default: `~/.clawdbot`):
|
|
|
1200
1205
|
| `$CLAWDBOT_STATE_DIR/agents/<agentId>/sessions/` | Conversation history & state (per agent) |
|
|
1201
1206
|
| `$CLAWDBOT_STATE_DIR/agents/<agentId>/sessions/sessions.json` | Session metadata (per agent) |
|
|
1202
1207
|
|
|
1203
|
-
Legacy single‑agent path: `~/.clawdbot/agent/*` (migrated by `
|
|
1208
|
+
Legacy single‑agent path: `~/.clawdbot/agent/*` (migrated by `clawdbot doctor`).
|
|
1204
1209
|
|
|
1205
1210
|
Your **workspace** (AGENTS.md, memory files, skills, etc.) is separate and configured via `agents.defaults.workspace` (default: `~/clawd`).
|
|
1206
1211
|
|
|
@@ -1242,7 +1247,7 @@ separately (see the migration question above).
|
|
|
1242
1247
|
|
|
1243
1248
|
Docs: [Agent workspace](/concepts/agent-workspace).
|
|
1244
1249
|
|
|
1245
|
-
### How do I completely uninstall
|
|
1250
|
+
### How do I completely uninstall Clawdbot
|
|
1246
1251
|
|
|
1247
1252
|
See the dedicated guide: [Uninstall](/install/uninstall).
|
|
1248
1253
|
|
|
@@ -1253,7 +1258,7 @@ Relative paths resolve inside the workspace, but absolute paths can access other
|
|
|
1253
1258
|
host locations unless sandboxing is enabled. If you need isolation, use
|
|
1254
1259
|
[`agents.defaults.sandbox`](/gateway/sandboxing) or per‑agent sandbox settings. If you
|
|
1255
1260
|
want a repo to be the default working directory, point that agent’s
|
|
1256
|
-
`workspace` to the repo root. The
|
|
1261
|
+
`workspace` to the repo root. The Clawdbot repo is just source code; keep the
|
|
1257
1262
|
workspace separate unless you intentionally want the agent to work inside it.
|
|
1258
1263
|
|
|
1259
1264
|
Example (repo as default cwd):
|
|
@@ -1276,7 +1281,7 @@ Session state is owned by the **gateway host**. If you’re in remote mode, the
|
|
|
1276
1281
|
|
|
1277
1282
|
### What format is the config Where is it
|
|
1278
1283
|
|
|
1279
|
-
|
|
1284
|
+
Clawdbot reads an optional **JSON5** config from `$CLAWDBOT_CONFIG_PATH` (default: `~/.clawdbot/clawdbot.json`):
|
|
1280
1285
|
|
|
1281
1286
|
```
|
|
1282
1287
|
$CLAWDBOT_CONFIG_PATH
|
|
@@ -1308,7 +1313,7 @@ Notes:
|
|
|
1308
1313
|
|
|
1309
1314
|
The wizard generates a gateway token by default (even on loopback) so **local WS clients must authenticate**. This blocks other local processes from calling the Gateway. Paste the token into the Control UI settings (or your client config) to connect.
|
|
1310
1315
|
|
|
1311
|
-
If you **really** want open loopback, remove `gateway.auth` from your config. Doctor can generate a token for you any time: `
|
|
1316
|
+
If you **really** want open loopback, remove `gateway.auth` from your config. Doctor can generate a token for you any time: `clawdbot doctor --generate-gateway-token`.
|
|
1312
1317
|
|
|
1313
1318
|
### Do I have to restart after changing config
|
|
1314
1319
|
|
|
@@ -1320,7 +1325,7 @@ The Gateway watches the config and supports hot‑reload:
|
|
|
1320
1325
|
### How do I enable web search and web fetch
|
|
1321
1326
|
|
|
1322
1327
|
`web_fetch` works without an API key. `web_search` requires a Brave Search API
|
|
1323
|
-
key. **Recommended:** run `
|
|
1328
|
+
key. **Recommended:** run `clawdbot configure --section web` to store it in
|
|
1324
1329
|
`tools.web.search.apiKey`. Environment alternative: set `BRAVE_API_KEY` for the
|
|
1325
1330
|
Gateway process.
|
|
1326
1331
|
|
|
@@ -1360,7 +1365,7 @@ The common pattern is **one Gateway** (e.g. Raspberry Pi) plus **nodes** and **a
|
|
|
1360
1365
|
|
|
1361
1366
|
Docs: [Nodes](/nodes), [Remote access](/gateway/remote), [Multi-Agent Routing](/concepts/multi-agent), [Sub-agents](/tools/subagents), [TUI](/tui).
|
|
1362
1367
|
|
|
1363
|
-
### Can the
|
|
1368
|
+
### Can the Clawdbot browser run headless
|
|
1364
1369
|
|
|
1365
1370
|
Yes. It’s a config option:
|
|
1366
1371
|
|
|
@@ -1411,8 +1416,8 @@ Typical setup:
|
|
|
1411
1416
|
so it can register as a node.
|
|
1412
1417
|
5) Approve the node on the Gateway:
|
|
1413
1418
|
```bash
|
|
1414
|
-
|
|
1415
|
-
|
|
1419
|
+
clawdbot nodes pending
|
|
1420
|
+
clawdbot nodes approve <requestId>
|
|
1416
1421
|
```
|
|
1417
1422
|
|
|
1418
1423
|
No separate TCP bridge is required; nodes connect over the Gateway WebSocket.
|
|
@@ -1425,9 +1430,9 @@ Docs: [Nodes](/nodes), [Gateway protocol](/gateway/protocol), [macOS remote mode
|
|
|
1425
1430
|
### Tailscale is connected but I get no replies What now
|
|
1426
1431
|
|
|
1427
1432
|
Check the basics:
|
|
1428
|
-
- Gateway is running: `
|
|
1429
|
-
- Gateway health: `
|
|
1430
|
-
- Channel health: `
|
|
1433
|
+
- Gateway is running: `clawdbot gateway status`
|
|
1434
|
+
- Gateway health: `clawdbot status`
|
|
1435
|
+
- Channel health: `clawdbot channels status`
|
|
1431
1436
|
|
|
1432
1437
|
Then verify auth and routing:
|
|
1433
1438
|
- If you use Tailscale Serve, make sure `gateway.auth.allowTailscale` is set correctly.
|
|
@@ -1436,7 +1441,7 @@ Then verify auth and routing:
|
|
|
1436
1441
|
|
|
1437
1442
|
Docs: [Tailscale](/gateway/tailscale), [Remote access](/gateway/remote), [Channels](/channels).
|
|
1438
1443
|
|
|
1439
|
-
### Can two
|
|
1444
|
+
### Can two Clawdbots talk to each other local VPS
|
|
1440
1445
|
|
|
1441
1446
|
Yes. There is no built-in "bot-to-bot" bridge, but you can wire it up in a few
|
|
1442
1447
|
reliable ways:
|
|
@@ -1445,13 +1450,13 @@ reliable ways:
|
|
|
1445
1450
|
Have Bot A send a message to Bot B, then let Bot B reply as usual.
|
|
1446
1451
|
|
|
1447
1452
|
**CLI bridge (generic):** run a script that calls the other Gateway with
|
|
1448
|
-
`
|
|
1449
|
-
listens. If one bot is on
|
|
1453
|
+
`clawdbot agent --message ... --deliver`, targeting a chat where the other bot
|
|
1454
|
+
listens. If one bot is on Railway/VPS, point your CLI at that remote Gateway
|
|
1450
1455
|
via SSH/Tailscale (see [Remote access](/gateway/remote)).
|
|
1451
1456
|
|
|
1452
1457
|
Example pattern (run from a machine that can reach the target Gateway):
|
|
1453
1458
|
```bash
|
|
1454
|
-
|
|
1459
|
+
clawdbot agent --message "Hello from local bot" --deliver --channel telegram --reply-to <chat-id>
|
|
1455
1460
|
```
|
|
1456
1461
|
|
|
1457
1462
|
Tip: add a guardrail so the two bots do not loop endlessly (mention-only, channel
|
|
@@ -1480,7 +1485,7 @@ setup is an always‑on host plus your laptop as a node.
|
|
|
1480
1485
|
- **Safer execution controls.** `system.run` is gated by node allowlists/approvals on that laptop.
|
|
1481
1486
|
- **More device tools.** Nodes expose `canvas`, `camera`, and `screen` in addition to `system.run`.
|
|
1482
1487
|
- **Local browser automation.** Keep the Gateway on a VPS, but run Chrome locally and relay control
|
|
1483
|
-
with the Chrome extension +
|
|
1488
|
+
with the Chrome extension + `clawdbot browser serve`.
|
|
1484
1489
|
|
|
1485
1490
|
SSH is fine for ad‑hoc shell access, but nodes are simpler for ongoing agent workflows and
|
|
1486
1491
|
device automation.
|
|
@@ -1515,14 +1520,14 @@ Yes. `config.apply` validates + writes the full config and restarts the Gateway
|
|
|
1515
1520
|
else is removed.
|
|
1516
1521
|
|
|
1517
1522
|
Recover:
|
|
1518
|
-
- Restore from backup (git or a copied `~/.clawdbot/
|
|
1519
|
-
- If you have no backup, re-run `
|
|
1523
|
+
- Restore from backup (git or a copied `~/.clawdbot/clawdbot.json`).
|
|
1524
|
+
- If you have no backup, re-run `clawdbot doctor` and reconfigure channels/models.
|
|
1520
1525
|
- If this was unexpected, file a bug and include your last known config or any backup.
|
|
1521
1526
|
- A local coding agent can often reconstruct a working config from logs or history.
|
|
1522
1527
|
|
|
1523
1528
|
Avoid it:
|
|
1524
|
-
- Use `
|
|
1525
|
-
- Use `
|
|
1529
|
+
- Use `clawdbot config set` for small changes.
|
|
1530
|
+
- Use `clawdbot configure` for interactive edits.
|
|
1526
1531
|
|
|
1527
1532
|
Docs: [Config](/cli/config), [Configure](/cli/configure), [Doctor](/gateway/doctor).
|
|
1528
1533
|
|
|
@@ -1556,7 +1561,7 @@ Minimal steps:
|
|
|
1556
1561
|
|
|
1557
1562
|
If you want the Control UI without SSH, use Tailscale Serve on the VPS:
|
|
1558
1563
|
```bash
|
|
1559
|
-
|
|
1564
|
+
clawdbot gateway --tailscale serve
|
|
1560
1565
|
```
|
|
1561
1566
|
This keeps the gateway bound to loopback and exposes HTTPS via Tailscale. See [Tailscale](/gateway/tailscale).
|
|
1562
1567
|
|
|
@@ -1570,17 +1575,17 @@ Recommended setup:
|
|
|
1570
1575
|
The app will tunnel the Gateway port and connect as a node.
|
|
1571
1576
|
3) **Approve the node** on the gateway:
|
|
1572
1577
|
```bash
|
|
1573
|
-
|
|
1574
|
-
|
|
1578
|
+
clawdbot nodes pending
|
|
1579
|
+
clawdbot nodes approve <requestId>
|
|
1575
1580
|
```
|
|
1576
1581
|
|
|
1577
1582
|
Docs: [Gateway protocol](/gateway/protocol), [Discovery](/gateway/discovery), [macOS remote mode](/platforms/mac/remote).
|
|
1578
1583
|
|
|
1579
1584
|
## Env vars and .env loading
|
|
1580
1585
|
|
|
1581
|
-
### How does
|
|
1586
|
+
### How does Clawdbot load environment variables
|
|
1582
1587
|
|
|
1583
|
-
|
|
1588
|
+
Clawdbot reads env vars from the parent process (shell, launchd/systemd, CI, etc.) and additionally loads:
|
|
1584
1589
|
|
|
1585
1590
|
- `.env` from the current working directory
|
|
1586
1591
|
- a global fallback `.env` from `~/.clawdbot/.env` (aka `$CLAWDBOT_STATE_DIR/.env`)
|
|
@@ -1623,8 +1628,8 @@ This runs your login shell and imports only missing expected keys (never overrid
|
|
|
1623
1628
|
|
|
1624
1629
|
### I set COPILOTGITHUBTOKEN but models status shows Shell env off Why
|
|
1625
1630
|
|
|
1626
|
-
`
|
|
1627
|
-
does **not** mean your env vars are missing - it just means
|
|
1631
|
+
`clawdbot models status` reports whether **shell env import** is enabled. “Shell env: off”
|
|
1632
|
+
does **not** mean your env vars are missing - it just means Clawdbot won’t load
|
|
1628
1633
|
your login shell automatically.
|
|
1629
1634
|
|
|
1630
1635
|
If the Gateway runs as a service (launchd/systemd), it won’t inherit your shell
|
|
@@ -1639,7 +1644,7 @@ environment. Fix by doing one of these:
|
|
|
1639
1644
|
|
|
1640
1645
|
Then restart the gateway and recheck:
|
|
1641
1646
|
```bash
|
|
1642
|
-
|
|
1647
|
+
clawdbot models status
|
|
1643
1648
|
```
|
|
1644
1649
|
|
|
1645
1650
|
Copilot tokens are read from `COPILOT_GITHUB_TOKEN` (also `GH_TOKEN` / `GITHUB_TOKEN`).
|
|
@@ -1665,7 +1670,7 @@ transcripts - it just starts a new session.
|
|
|
1665
1670
|
}
|
|
1666
1671
|
```
|
|
1667
1672
|
|
|
1668
|
-
### Is there a way to make a team of
|
|
1673
|
+
### Is there a way to make a team of Clawdbots one CEO and many agents
|
|
1669
1674
|
|
|
1670
1675
|
Yes, via **multi-agent routing** and **sub-agents**. You can create one coordinator
|
|
1671
1676
|
agent and several worker agents with their own workspaces and models.
|
|
@@ -1689,30 +1694,30 @@ What helps:
|
|
|
1689
1694
|
- Use sub-agents for long or parallel work so the main chat stays smaller.
|
|
1690
1695
|
- Pick a model with a larger context window if this happens often.
|
|
1691
1696
|
|
|
1692
|
-
### How do I completely reset
|
|
1697
|
+
### How do I completely reset Clawdbot but keep it installed
|
|
1693
1698
|
|
|
1694
1699
|
Use the reset command:
|
|
1695
1700
|
|
|
1696
1701
|
```bash
|
|
1697
|
-
|
|
1702
|
+
clawdbot reset
|
|
1698
1703
|
```
|
|
1699
1704
|
|
|
1700
1705
|
Non-interactive full reset:
|
|
1701
1706
|
|
|
1702
1707
|
```bash
|
|
1703
|
-
|
|
1708
|
+
clawdbot reset --scope full --yes --non-interactive
|
|
1704
1709
|
```
|
|
1705
1710
|
|
|
1706
1711
|
Then re-run onboarding:
|
|
1707
1712
|
|
|
1708
1713
|
```bash
|
|
1709
|
-
|
|
1714
|
+
clawdbot onboard --install-daemon
|
|
1710
1715
|
```
|
|
1711
1716
|
|
|
1712
1717
|
Notes:
|
|
1713
1718
|
- The onboarding wizard also offers **Reset** if it sees an existing config. See [Wizard](/start/wizard).
|
|
1714
1719
|
- If you used profiles (`--profile` / `CLAWDBOT_PROFILE`), reset each state dir (defaults are `~/.clawdbot-<profile>`).
|
|
1715
|
-
- Dev reset: `
|
|
1720
|
+
- Dev reset: `clawdbot gateway --dev --reset` (dev-only; wipes dev config + credentials + sessions + workspace).
|
|
1716
1721
|
|
|
1717
1722
|
### Im getting context too large errors how do I reset or compact
|
|
1718
1723
|
|
|
@@ -1761,14 +1766,14 @@ Heartbeats run every **30m** by default. Tune or disable them:
|
|
|
1761
1766
|
```
|
|
1762
1767
|
|
|
1763
1768
|
If `HEARTBEAT.md` exists but is effectively empty (only blank lines and markdown
|
|
1764
|
-
headers like `# Heading`),
|
|
1769
|
+
headers like `# Heading`), Clawdbot skips the heartbeat run to save API calls.
|
|
1765
1770
|
If the file is missing, the heartbeat still runs and the model decides what to do.
|
|
1766
1771
|
|
|
1767
1772
|
Per-agent overrides use `agents.list[].heartbeat`. Docs: [Heartbeat](/gateway/heartbeat).
|
|
1768
1773
|
|
|
1769
1774
|
### Do I need to add a bot account to a WhatsApp group
|
|
1770
1775
|
|
|
1771
|
-
No.
|
|
1776
|
+
No. Clawdbot runs on **your own account**, so if you’re in the group, Clawdbot can see it.
|
|
1772
1777
|
By default, group replies are blocked until you allow senders (`groupPolicy: "allowlist"`).
|
|
1773
1778
|
|
|
1774
1779
|
If you want only **you** to be able to trigger group replies:
|
|
@@ -1789,7 +1794,7 @@ If you want only **you** to be able to trigger group replies:
|
|
|
1789
1794
|
Option 1 (fastest): tail logs and send a test message in the group:
|
|
1790
1795
|
|
|
1791
1796
|
```bash
|
|
1792
|
-
|
|
1797
|
+
clawdbot logs --follow --json
|
|
1793
1798
|
```
|
|
1794
1799
|
|
|
1795
1800
|
Look for `chatId` (or `from`) ending in `@g.us`, like:
|
|
@@ -1798,12 +1803,12 @@ Look for `chatId` (or `from`) ending in `@g.us`, like:
|
|
|
1798
1803
|
Option 2 (if already configured/allowlisted): list groups from config:
|
|
1799
1804
|
|
|
1800
1805
|
```bash
|
|
1801
|
-
|
|
1806
|
+
clawdbot directory groups list --channel whatsapp
|
|
1802
1807
|
```
|
|
1803
1808
|
|
|
1804
1809
|
Docs: [WhatsApp](/channels/whatsapp), [Directory](/cli/directory), [Logs](/cli/logs).
|
|
1805
1810
|
|
|
1806
|
-
### Why doesnt
|
|
1811
|
+
### Why doesnt Clawdbot reply in a group
|
|
1807
1812
|
|
|
1808
1813
|
Two common causes:
|
|
1809
1814
|
- Mention gating is on (default). You must @mention the bot (or match `mentionPatterns`).
|
|
@@ -1826,7 +1831,7 @@ No hard limits. Dozens (even hundreds) are fine, but watch for:
|
|
|
1826
1831
|
Tips:
|
|
1827
1832
|
- Keep one **active** workspace per agent (`agents.defaults.workspace`).
|
|
1828
1833
|
- Prune old sessions (delete JSONL or store entries) if disk grows.
|
|
1829
|
-
- Use `
|
|
1834
|
+
- Use `clawdbot doctor` to spot stray workspaces and profile mismatches.
|
|
1830
1835
|
|
|
1831
1836
|
### Can I run multiple bots or chats at the same time Slack and how should I set that up
|
|
1832
1837
|
|
|
@@ -1850,13 +1855,13 @@ Docs: [Multi‑Agent Routing](/concepts/multi-agent), [Slack](/channels/slack),
|
|
|
1850
1855
|
|
|
1851
1856
|
### What is the default model
|
|
1852
1857
|
|
|
1853
|
-
|
|
1858
|
+
Clawdbot’s default model is whatever you set as:
|
|
1854
1859
|
|
|
1855
1860
|
```
|
|
1856
1861
|
agents.defaults.model.primary
|
|
1857
1862
|
```
|
|
1858
1863
|
|
|
1859
|
-
Models are referenced as `provider/model` (example: `anthropic/claude-opus-4-5`). If you omit the provider,
|
|
1864
|
+
Models are referenced as `provider/model` (example: `anthropic/claude-opus-4-5`). If you omit the provider, Clawdbot currently assumes `anthropic` as a temporary deprecation fallback - but you should still **explicitly** set `provider/model`.
|
|
1860
1865
|
|
|
1861
1866
|
### What model do you recommend
|
|
1862
1867
|
|
|
@@ -1897,12 +1902,12 @@ Use **model commands** or edit only the **model** fields. Avoid full config repl
|
|
|
1897
1902
|
|
|
1898
1903
|
Safe options:
|
|
1899
1904
|
- `/model` in chat (quick, per-session)
|
|
1900
|
-
- `
|
|
1901
|
-
- `
|
|
1902
|
-
- edit `agents.defaults.model` in `~/.clawdbot/
|
|
1905
|
+
- `clawdbot models set ...` (updates just model config)
|
|
1906
|
+
- `clawdbot configure --section models` (interactive)
|
|
1907
|
+
- edit `agents.defaults.model` in `~/.clawdbot/clawdbot.json`
|
|
1903
1908
|
|
|
1904
1909
|
Avoid `config.apply` with a partial object unless you intend to replace the whole config.
|
|
1905
|
-
If you did overwrite config, restore from backup or re-run `
|
|
1910
|
+
If you did overwrite config, restore from backup or re-run `clawdbot doctor` to repair.
|
|
1906
1911
|
|
|
1907
1912
|
Docs: [Models](/concepts/models), [Configure](/cli/configure), [Config](/cli/config), [Doctor](/gateway/doctor).
|
|
1908
1913
|
|
|
@@ -1936,8 +1941,8 @@ You can list available models with `/model`, `/model list`, or `/model status`.
|
|
|
1936
1941
|
You can also force a specific auth profile for the provider (per session):
|
|
1937
1942
|
|
|
1938
1943
|
```
|
|
1944
|
+
/model opus@anthropic:claude-cli
|
|
1939
1945
|
/model opus@anthropic:default
|
|
1940
|
-
/model opus@anthropic:work
|
|
1941
1946
|
```
|
|
1942
1947
|
|
|
1943
1948
|
Tip: `/model status` shows which agent is active, which `auth-profiles.json` file is being used, and which auth profile will be tried next.
|
|
@@ -1990,7 +1995,7 @@ Fix checklist:
|
|
|
1990
1995
|
`minimax/MiniMax-M2.1-lightning`.
|
|
1991
1996
|
4) Run:
|
|
1992
1997
|
```bash
|
|
1993
|
-
|
|
1998
|
+
clawdbot models list
|
|
1994
1999
|
```
|
|
1995
2000
|
and pick from the list (or `/model list` in chat).
|
|
1996
2001
|
|
|
@@ -2031,7 +2036,7 @@ Docs: [Models](/concepts/models), [Multi-Agent Routing](/concepts/multi-agent),
|
|
|
2031
2036
|
|
|
2032
2037
|
### Are opus sonnet gpt builtin shortcuts
|
|
2033
2038
|
|
|
2034
|
-
Yes.
|
|
2039
|
+
Yes. Clawdbot ships a few default shorthands (only applied when the model exists in `agents.defaults.models`):
|
|
2035
2040
|
|
|
2036
2041
|
- `opus` → `anthropic/claude-opus-4-5`
|
|
2037
2042
|
- `sonnet` → `anthropic/claude-sonnet-4-5`
|
|
@@ -2105,7 +2110,7 @@ stored in:
|
|
|
2105
2110
|
```
|
|
2106
2111
|
|
|
2107
2112
|
Fix options:
|
|
2108
|
-
- Run `
|
|
2113
|
+
- Run `clawdbot agents add <id>` and configure auth during the wizard.
|
|
2109
2114
|
- Or copy `auth-profiles.json` from the main agent’s `agentDir` into the new agent’s `agentDir`.
|
|
2110
2115
|
|
|
2111
2116
|
Do **not** reuse `agentDir` across agents; it causes auth/session collisions.
|
|
@@ -2119,7 +2124,7 @@ Failover happens in two stages:
|
|
|
2119
2124
|
1) **Auth profile rotation** within the same provider.
|
|
2120
2125
|
2) **Model fallback** to the next model in `agents.defaults.model.fallbacks`.
|
|
2121
2126
|
|
|
2122
|
-
Cooldowns apply to failing profiles (exponential backoff), so
|
|
2127
|
+
Cooldowns apply to failing profiles (exponential backoff), so Clawdbot can keep responding even when a provider is rate‑limited or temporarily failing.
|
|
2123
2128
|
|
|
2124
2129
|
### What does this error mean
|
|
2125
2130
|
|
|
@@ -2133,34 +2138,38 @@ It means the system attempted to use the auth profile ID `anthropic:default`, bu
|
|
|
2133
2138
|
|
|
2134
2139
|
- **Confirm where auth profiles live** (new vs legacy paths)
|
|
2135
2140
|
- Current: `~/.clawdbot/agents/<agentId>/agent/auth-profiles.json`
|
|
2136
|
-
- Legacy: `~/.clawdbot/agent/*` (migrated by `
|
|
2141
|
+
- Legacy: `~/.clawdbot/agent/*` (migrated by `clawdbot doctor`)
|
|
2137
2142
|
- **Confirm your env var is loaded by the Gateway**
|
|
2138
2143
|
- If you set `ANTHROPIC_API_KEY` in your shell but run the Gateway via systemd/launchd, it may not inherit it. Put it in `~/.clawdbot/.env` or enable `env.shellEnv`.
|
|
2139
2144
|
- **Make sure you’re editing the correct agent**
|
|
2140
2145
|
- Multi‑agent setups mean there can be multiple `auth-profiles.json` files.
|
|
2141
2146
|
- **Sanity‑check model/auth status**
|
|
2142
|
-
- Use `
|
|
2147
|
+
- Use `clawdbot models status` to see configured models and whether providers are authenticated.
|
|
2143
2148
|
|
|
2144
|
-
**Fix checklist for No credentials found for profile anthropic**
|
|
2149
|
+
**Fix checklist for No credentials found for profile anthropic claude cli**
|
|
2145
2150
|
|
|
2146
|
-
This means the run is pinned to
|
|
2147
|
-
can’t find
|
|
2151
|
+
This means the run is pinned to the **Claude Code CLI** profile, but the Gateway
|
|
2152
|
+
can’t find that profile in its auth store.
|
|
2148
2153
|
|
|
2149
|
-
- **
|
|
2150
|
-
- Run `
|
|
2151
|
-
- If
|
|
2154
|
+
- **Sync the Claude Code CLI token on the gateway host**
|
|
2155
|
+
- Run `clawdbot models status` (it loads + syncs Claude Code CLI credentials).
|
|
2156
|
+
- If it still says missing: run `claude setup-token` (or `clawdbot models auth setup-token --provider anthropic`) and retry.
|
|
2157
|
+
- **If the token was created on another machine**
|
|
2158
|
+
- Paste it into the gateway host with `clawdbot models auth paste-token --provider anthropic`.
|
|
2159
|
+
- **Check the profile mode**
|
|
2160
|
+
- `auth.profiles["anthropic:claude-cli"].mode` must be `"oauth"` (token mode rejects OAuth credentials).
|
|
2152
2161
|
- **If you want to use an API key instead**
|
|
2153
2162
|
- Put `ANTHROPIC_API_KEY` in `~/.clawdbot/.env` on the **gateway host**.
|
|
2154
|
-
- Clear any pinned order that forces
|
|
2163
|
+
- Clear any pinned order that forces `anthropic:claude-cli`:
|
|
2155
2164
|
```bash
|
|
2156
|
-
|
|
2165
|
+
clawdbot models auth order clear --provider anthropic
|
|
2157
2166
|
```
|
|
2158
2167
|
- **Confirm you’re running commands on the gateway host**
|
|
2159
2168
|
- In remote mode, auth profiles live on the gateway machine, not your laptop.
|
|
2160
2169
|
|
|
2161
2170
|
### Why did it also try Google Gemini and fail
|
|
2162
2171
|
|
|
2163
|
-
If your model config includes Google Gemini as a fallback (or you switched to a Gemini shorthand),
|
|
2172
|
+
If your model config includes Google Gemini as a fallback (or you switched to a Gemini shorthand), Clawdbot will try it during model fallback. If you haven’t configured Google credentials, you’ll see `No API key found for provider "google"`.
|
|
2164
2173
|
|
|
2165
2174
|
Fix: either provide Google auth, or remove/avoid Google models in `agents.defaults.model.fallbacks` / aliases so fallback doesn’t route there.
|
|
2166
2175
|
|
|
@@ -2169,11 +2178,11 @@ Fix: either provide Google auth, or remove/avoid Google models in `agents.defaul
|
|
|
2169
2178
|
Cause: the session history contains **thinking blocks without signatures** (often from
|
|
2170
2179
|
an aborted/partial stream). Google Antigravity requires signatures for thinking blocks.
|
|
2171
2180
|
|
|
2172
|
-
Fix:
|
|
2181
|
+
Fix: Clawdbot now strips unsigned thinking blocks for Google Antigravity Claude. If it still appears, start a **new session** or set `/thinking off` for that agent.
|
|
2173
2182
|
|
|
2174
2183
|
## Auth profiles: what they are and how to manage them
|
|
2175
2184
|
|
|
2176
|
-
Related: [/concepts/oauth](/concepts/oauth) (OAuth flows, token storage, multi-account patterns)
|
|
2185
|
+
Related: [/concepts/oauth](/concepts/oauth) (OAuth flows, token storage, multi-account patterns, CLI sync)
|
|
2177
2186
|
|
|
2178
2187
|
### What is an auth profile
|
|
2179
2188
|
|
|
@@ -2185,7 +2194,7 @@ An auth profile is a named credential record (OAuth or API key) tied to a provid
|
|
|
2185
2194
|
|
|
2186
2195
|
### What are typical profile IDs
|
|
2187
2196
|
|
|
2188
|
-
|
|
2197
|
+
Clawdbot uses provider‑prefixed IDs like:
|
|
2189
2198
|
|
|
2190
2199
|
- `anthropic:default` (common when no email identity exists)
|
|
2191
2200
|
- `anthropic:<email>` for OAuth identities
|
|
@@ -2195,38 +2204,38 @@ Pool Bot uses provider‑prefixed IDs like:
|
|
|
2195
2204
|
|
|
2196
2205
|
Yes. Config supports optional metadata for profiles and an ordering per provider (`auth.order.<provider>`). This does **not** store secrets; it maps IDs to provider/mode and sets rotation order.
|
|
2197
2206
|
|
|
2198
|
-
|
|
2207
|
+
Clawdbot may temporarily skip a profile if it’s in a short **cooldown** (rate limits/timeouts/auth failures) or a longer **disabled** state (billing/insufficient credits). To inspect this, run `clawdbot models status --json` and check `auth.unusableProfiles`. Tuning: `auth.cooldowns.billingBackoffHours*`.
|
|
2199
2208
|
|
|
2200
2209
|
You can also set a **per-agent** order override (stored in that agent’s `auth-profiles.json`) via the CLI:
|
|
2201
2210
|
|
|
2202
2211
|
```bash
|
|
2203
2212
|
# Defaults to the configured default agent (omit --agent)
|
|
2204
|
-
|
|
2213
|
+
clawdbot models auth order get --provider anthropic
|
|
2205
2214
|
|
|
2206
2215
|
# Lock rotation to a single profile (only try this one)
|
|
2207
|
-
|
|
2216
|
+
clawdbot models auth order set --provider anthropic anthropic:claude-cli
|
|
2208
2217
|
|
|
2209
2218
|
# Or set an explicit order (fallback within provider)
|
|
2210
|
-
|
|
2219
|
+
clawdbot models auth order set --provider anthropic anthropic:claude-cli anthropic:default
|
|
2211
2220
|
|
|
2212
2221
|
# Clear override (fall back to config auth.order / round-robin)
|
|
2213
|
-
|
|
2222
|
+
clawdbot models auth order clear --provider anthropic
|
|
2214
2223
|
```
|
|
2215
2224
|
|
|
2216
2225
|
To target a specific agent:
|
|
2217
2226
|
|
|
2218
2227
|
```bash
|
|
2219
|
-
|
|
2228
|
+
clawdbot models auth order set --provider anthropic --agent main anthropic:claude-cli
|
|
2220
2229
|
```
|
|
2221
2230
|
|
|
2222
2231
|
### OAuth vs API key whats the difference
|
|
2223
2232
|
|
|
2224
|
-
|
|
2233
|
+
Clawdbot supports both:
|
|
2225
2234
|
|
|
2226
2235
|
- **OAuth** often leverages subscription access (where applicable).
|
|
2227
2236
|
- **API keys** use pay‑per‑token billing.
|
|
2228
2237
|
|
|
2229
|
-
The wizard explicitly supports Anthropic
|
|
2238
|
+
The wizard explicitly supports Anthropic OAuth and OpenAI Codex OAuth and can store API keys for you.
|
|
2230
2239
|
|
|
2231
2240
|
## Gateway: ports, “already running”, and remote mode
|
|
2232
2241
|
|
|
@@ -2240,32 +2249,32 @@ Precedence:
|
|
|
2240
2249
|
--port > CLAWDBOT_GATEWAY_PORT > gateway.port > default 18789
|
|
2241
2250
|
```
|
|
2242
2251
|
|
|
2243
|
-
### Why does
|
|
2252
|
+
### Why does clawdbot gateway status say Runtime running but RPC probe failed
|
|
2244
2253
|
|
|
2245
2254
|
Because “running” is the **supervisor’s** view (launchd/systemd/schtasks). The RPC probe is the CLI actually connecting to the gateway WebSocket and calling `status`.
|
|
2246
2255
|
|
|
2247
|
-
Use `
|
|
2256
|
+
Use `clawdbot gateway status` and trust these lines:
|
|
2248
2257
|
- `Probe target:` (the URL the probe actually used)
|
|
2249
2258
|
- `Listening:` (what’s actually bound on the port)
|
|
2250
2259
|
- `Last gateway error:` (common root cause when the process is alive but the port isn’t listening)
|
|
2251
2260
|
|
|
2252
|
-
### Why does
|
|
2261
|
+
### Why does clawdbot gateway status show Config cli and Config service different
|
|
2253
2262
|
|
|
2254
2263
|
You’re editing one config file while the service is running another (often a `--profile` / `CLAWDBOT_STATE_DIR` mismatch).
|
|
2255
2264
|
|
|
2256
2265
|
Fix:
|
|
2257
2266
|
```bash
|
|
2258
|
-
|
|
2267
|
+
clawdbot gateway install --force
|
|
2259
2268
|
```
|
|
2260
2269
|
Run that from the same `--profile` / environment you want the service to use.
|
|
2261
2270
|
|
|
2262
2271
|
### What does another gateway instance is already listening mean
|
|
2263
2272
|
|
|
2264
|
-
|
|
2273
|
+
Clawdbot enforces a runtime lock by binding the WebSocket listener immediately on startup (default `ws://127.0.0.1:18789`). If the bind fails with `EADDRINUSE`, it throws `GatewayLockError` indicating another instance is already listening.
|
|
2265
2274
|
|
|
2266
|
-
Fix: stop the other instance, free the port, or run with `
|
|
2275
|
+
Fix: stop the other instance, free the port, or run with `clawdbot gateway --port <port>`.
|
|
2267
2276
|
|
|
2268
|
-
### How do I run
|
|
2277
|
+
### How do I run Clawdbot in remote mode client connects to a Gateway elsewhere
|
|
2269
2278
|
|
|
2270
2279
|
Set `gateway.mode: "remote"` and point to a remote WebSocket URL, optionally with a token/password:
|
|
2271
2280
|
|
|
@@ -2283,7 +2292,7 @@ Set `gateway.mode: "remote"` and point to a remote WebSocket URL, optionally wit
|
|
|
2283
2292
|
```
|
|
2284
2293
|
|
|
2285
2294
|
Notes:
|
|
2286
|
-
- `
|
|
2295
|
+
- `clawdbot gateway` only starts when `gateway.mode` is `local` (or you pass the override flag).
|
|
2287
2296
|
- The macOS app watches the config file and switches modes live when these values change.
|
|
2288
2297
|
|
|
2289
2298
|
### The Control UI says unauthorized or keeps reconnecting What now
|
|
@@ -2291,16 +2300,16 @@ Notes:
|
|
|
2291
2300
|
Your gateway is running with auth enabled (`gateway.auth.*`), but the UI is not sending the matching token/password.
|
|
2292
2301
|
|
|
2293
2302
|
Facts (from code):
|
|
2294
|
-
- The Control UI stores the token in browser localStorage key `
|
|
2303
|
+
- The Control UI stores the token in browser localStorage key `clawdbot.control.settings.v1`.
|
|
2295
2304
|
- The UI can import `?token=...` (and/or `?password=...`) once, then strips it from the URL.
|
|
2296
2305
|
|
|
2297
2306
|
Fix:
|
|
2298
|
-
- Fastest: `
|
|
2299
|
-
- If you don’t have a token yet: `
|
|
2307
|
+
- Fastest: `clawdbot dashboard` (prints + copies tokenized link, tries to open; shows SSH hint if headless).
|
|
2308
|
+
- If you don’t have a token yet: `clawdbot doctor --generate-gateway-token`.
|
|
2300
2309
|
- If remote, tunnel first: `ssh -N -L 18789:127.0.0.1:18789 user@host` then open `http://127.0.0.1:18789/?token=...`.
|
|
2301
2310
|
- Set `gateway.auth.token` (or `CLAWDBOT_GATEWAY_TOKEN`) on the gateway host.
|
|
2302
2311
|
- In the Control UI settings, paste the same token (or refresh with a one-time `?token=...` link).
|
|
2303
|
-
- Still stuck? Run `
|
|
2312
|
+
- Still stuck? Run `clawdbot status --all` and follow [Troubleshooting](/gateway/troubleshooting). See [Dashboard](/web/dashboard) for auth details.
|
|
2304
2313
|
|
|
2305
2314
|
### I set gatewaybind tailnet but it cant bind nothing listens
|
|
2306
2315
|
|
|
@@ -2324,11 +2333,11 @@ Yes, but you must isolate:
|
|
|
2324
2333
|
- `gateway.port` (unique ports)
|
|
2325
2334
|
|
|
2326
2335
|
Quick setup (recommended):
|
|
2327
|
-
- Use `
|
|
2336
|
+
- Use `clawdbot --profile <name> …` per instance (auto-creates `~/.clawdbot-<name>`).
|
|
2328
2337
|
- Set a unique `gateway.port` in each profile config (or pass `--port` for manual runs).
|
|
2329
|
-
- Install a per-profile service: `
|
|
2338
|
+
- Install a per-profile service: `clawdbot --profile <name> gateway install`.
|
|
2330
2339
|
|
|
2331
|
-
Profiles also suffix service names (`com.clawdbot.<profile>`, `
|
|
2340
|
+
Profiles also suffix service names (`com.clawdbot.<profile>`, `clawdbot-gateway-<profile>.service`, `Clawdbot Gateway (<profile>)`).
|
|
2332
2341
|
Full guide: [Multiple gateways](/gateway/multiple-gateways).
|
|
2333
2342
|
|
|
2334
2343
|
### What does invalid handshake code 1008 mean
|
|
@@ -2349,7 +2358,7 @@ Quick fixes:
|
|
|
2349
2358
|
|
|
2350
2359
|
If you’re using the CLI or TUI, the URL should look like:
|
|
2351
2360
|
```
|
|
2352
|
-
|
|
2361
|
+
clawdbot tui --url ws://<host>:18789 --token <token>
|
|
2353
2362
|
```
|
|
2354
2363
|
|
|
2355
2364
|
Protocol details: [Gateway protocol](/gateway/protocol).
|
|
@@ -2361,7 +2370,7 @@ Protocol details: [Gateway protocol](/gateway/protocol).
|
|
|
2361
2370
|
File logs (structured):
|
|
2362
2371
|
|
|
2363
2372
|
```
|
|
2364
|
-
/tmp/
|
|
2373
|
+
/tmp/clawdbot/clawdbot-YYYY-MM-DD.log
|
|
2365
2374
|
```
|
|
2366
2375
|
|
|
2367
2376
|
You can set a stable path via `logging.file`. File log level is controlled by `logging.level`. Console verbosity is controlled by `--verbose` and `logging.consoleLevel`.
|
|
@@ -2369,13 +2378,13 @@ You can set a stable path via `logging.file`. File log level is controlled by `l
|
|
|
2369
2378
|
Fastest log tail:
|
|
2370
2379
|
|
|
2371
2380
|
```bash
|
|
2372
|
-
|
|
2381
|
+
clawdbot logs --follow
|
|
2373
2382
|
```
|
|
2374
2383
|
|
|
2375
2384
|
Service/supervisor logs (when the gateway runs via launchd/systemd):
|
|
2376
2385
|
- macOS: `$CLAWDBOT_STATE_DIR/logs/gateway.log` and `gateway.err.log` (default: `~/.clawdbot/logs/...`; profiles use `~/.clawdbot-<profile>/logs/...`)
|
|
2377
|
-
- Linux: `journalctl --user -u
|
|
2378
|
-
- Windows: `schtasks /Query /TN "
|
|
2386
|
+
- Linux: `journalctl --user -u clawdbot-gateway[-<profile>].service -n 200 --no-pager`
|
|
2387
|
+
- Windows: `schtasks /Query /TN "Clawdbot Gateway (<profile>)" /V /FO LIST`
|
|
2379
2388
|
|
|
2380
2389
|
See [Troubleshooting](/gateway/troubleshooting#log-locations) for more.
|
|
2381
2390
|
|
|
@@ -2384,13 +2393,13 @@ See [Troubleshooting](/gateway/troubleshooting#log-locations) for more.
|
|
|
2384
2393
|
Use the gateway helpers:
|
|
2385
2394
|
|
|
2386
2395
|
```bash
|
|
2387
|
-
|
|
2388
|
-
|
|
2396
|
+
clawdbot gateway status
|
|
2397
|
+
clawdbot gateway restart
|
|
2389
2398
|
```
|
|
2390
2399
|
|
|
2391
|
-
If you run the gateway manually, `
|
|
2400
|
+
If you run the gateway manually, `clawdbot gateway --force` can reclaim the port. See [Gateway](/gateway).
|
|
2392
2401
|
|
|
2393
|
-
### I closed my terminal on Windows how do I restart
|
|
2402
|
+
### I closed my terminal on Windows how do I restart Clawdbot
|
|
2394
2403
|
|
|
2395
2404
|
There are **two Windows install modes**:
|
|
2396
2405
|
|
|
@@ -2400,14 +2409,14 @@ Open PowerShell, enter WSL, then restart:
|
|
|
2400
2409
|
|
|
2401
2410
|
```powershell
|
|
2402
2411
|
wsl
|
|
2403
|
-
|
|
2404
|
-
|
|
2412
|
+
clawdbot gateway status
|
|
2413
|
+
clawdbot gateway restart
|
|
2405
2414
|
```
|
|
2406
2415
|
|
|
2407
2416
|
If you never installed the service, start it in the foreground:
|
|
2408
2417
|
|
|
2409
2418
|
```bash
|
|
2410
|
-
|
|
2419
|
+
clawdbot gateway run
|
|
2411
2420
|
```
|
|
2412
2421
|
|
|
2413
2422
|
**2) Native Windows (not recommended):** the Gateway runs directly in Windows.
|
|
@@ -2415,14 +2424,14 @@ moltbot gateway run
|
|
|
2415
2424
|
Open PowerShell and run:
|
|
2416
2425
|
|
|
2417
2426
|
```powershell
|
|
2418
|
-
|
|
2419
|
-
|
|
2427
|
+
clawdbot gateway status
|
|
2428
|
+
clawdbot gateway restart
|
|
2420
2429
|
```
|
|
2421
2430
|
|
|
2422
2431
|
If you run it manually (no service), use:
|
|
2423
2432
|
|
|
2424
2433
|
```powershell
|
|
2425
|
-
|
|
2434
|
+
clawdbot gateway run
|
|
2426
2435
|
```
|
|
2427
2436
|
|
|
2428
2437
|
Docs: [Windows (WSL2)](/platforms/windows), [Gateway service runbook](/gateway).
|
|
@@ -2432,10 +2441,10 @@ Docs: [Windows (WSL2)](/platforms/windows), [Gateway service runbook](/gateway).
|
|
|
2432
2441
|
Start with a quick health sweep:
|
|
2433
2442
|
|
|
2434
2443
|
```bash
|
|
2435
|
-
|
|
2436
|
-
|
|
2437
|
-
|
|
2438
|
-
|
|
2444
|
+
clawdbot status
|
|
2445
|
+
clawdbot models status
|
|
2446
|
+
clawdbot channels status
|
|
2447
|
+
clawdbot logs --follow
|
|
2439
2448
|
```
|
|
2440
2449
|
|
|
2441
2450
|
Common causes:
|
|
@@ -2452,15 +2461,15 @@ Docs: [Channels](/channels), [Troubleshooting](/gateway/troubleshooting), [Remot
|
|
|
2452
2461
|
|
|
2453
2462
|
This usually means the UI lost the WebSocket connection. Check:
|
|
2454
2463
|
|
|
2455
|
-
1) Is the Gateway running? `
|
|
2456
|
-
2) Is the Gateway healthy? `
|
|
2457
|
-
3) Does the UI have the right token? `
|
|
2464
|
+
1) Is the Gateway running? `clawdbot gateway status`
|
|
2465
|
+
2) Is the Gateway healthy? `clawdbot status`
|
|
2466
|
+
3) Does the UI have the right token? `clawdbot dashboard`
|
|
2458
2467
|
4) If remote, is the tunnel/Tailscale link up?
|
|
2459
2468
|
|
|
2460
2469
|
Then tail logs:
|
|
2461
2470
|
|
|
2462
2471
|
```bash
|
|
2463
|
-
|
|
2472
|
+
clawdbot logs --follow
|
|
2464
2473
|
```
|
|
2465
2474
|
|
|
2466
2475
|
Docs: [Dashboard](/web/dashboard), [Remote access](/gateway/remote), [Troubleshooting](/gateway/troubleshooting).
|
|
@@ -2470,8 +2479,8 @@ Docs: [Dashboard](/web/dashboard), [Remote access](/gateway/remote), [Troublesho
|
|
|
2470
2479
|
Start with logs and channel status:
|
|
2471
2480
|
|
|
2472
2481
|
```bash
|
|
2473
|
-
|
|
2474
|
-
|
|
2482
|
+
clawdbot channels status
|
|
2483
|
+
clawdbot channels logs --channel telegram
|
|
2475
2484
|
```
|
|
2476
2485
|
|
|
2477
2486
|
If you are on a VPS or behind a proxy, confirm outbound HTTPS is allowed and DNS works.
|
|
@@ -2484,9 +2493,9 @@ Docs: [Telegram](/channels/telegram), [Channel troubleshooting](/channels/troubl
|
|
|
2484
2493
|
First confirm the Gateway is reachable and the agent can run:
|
|
2485
2494
|
|
|
2486
2495
|
```bash
|
|
2487
|
-
|
|
2488
|
-
|
|
2489
|
-
|
|
2496
|
+
clawdbot status
|
|
2497
|
+
clawdbot models status
|
|
2498
|
+
clawdbot logs --follow
|
|
2490
2499
|
```
|
|
2491
2500
|
|
|
2492
2501
|
In the TUI, use `/status` to see the current state. If you expect replies in a chat
|
|
@@ -2499,8 +2508,8 @@ Docs: [TUI](/tui), [Slash commands](/tools/slash-commands).
|
|
|
2499
2508
|
If you installed the service:
|
|
2500
2509
|
|
|
2501
2510
|
```bash
|
|
2502
|
-
|
|
2503
|
-
|
|
2511
|
+
clawdbot gateway stop
|
|
2512
|
+
clawdbot gateway start
|
|
2504
2513
|
```
|
|
2505
2514
|
|
|
2506
2515
|
This stops/starts the **supervised service** (launchd on macOS, systemd on Linux).
|
|
@@ -2509,17 +2518,17 @@ Use this when the Gateway runs in the background as a daemon.
|
|
|
2509
2518
|
If you’re running in the foreground, stop with Ctrl‑C, then:
|
|
2510
2519
|
|
|
2511
2520
|
```bash
|
|
2512
|
-
|
|
2521
|
+
clawdbot gateway run
|
|
2513
2522
|
```
|
|
2514
2523
|
|
|
2515
2524
|
Docs: [Gateway service runbook](/gateway).
|
|
2516
2525
|
|
|
2517
|
-
### ELI5
|
|
2526
|
+
### ELI5 clawdbot gateway restart vs clawdbot gateway
|
|
2518
2527
|
|
|
2519
|
-
- `
|
|
2520
|
-
- `
|
|
2528
|
+
- `clawdbot gateway restart`: restarts the **background service** (launchd/systemd).
|
|
2529
|
+
- `clawdbot gateway`: runs the gateway **in the foreground** for this terminal session.
|
|
2521
2530
|
|
|
2522
|
-
If you installed the service, use the gateway commands. Use `
|
|
2531
|
+
If you installed the service, use the gateway commands. Use `clawdbot gateway` when
|
|
2523
2532
|
you want a one-off, foreground run.
|
|
2524
2533
|
|
|
2525
2534
|
### Whats the fastest way to get more details when something fails
|
|
@@ -2530,12 +2539,12 @@ Start the Gateway with `--verbose` to get more console detail. Then inspect the
|
|
|
2530
2539
|
|
|
2531
2540
|
### My skill generated an imagePDF but nothing was sent
|
|
2532
2541
|
|
|
2533
|
-
Outbound attachments from the agent must include a `MEDIA:<path-or-url>` line (on its own line). See [
|
|
2542
|
+
Outbound attachments from the agent must include a `MEDIA:<path-or-url>` line (on its own line). See [Clawdbot assistant setup](/start/clawd) and [Agent send](/tools/agent-send).
|
|
2534
2543
|
|
|
2535
2544
|
CLI sending:
|
|
2536
2545
|
|
|
2537
2546
|
```bash
|
|
2538
|
-
|
|
2547
|
+
clawdbot message send --target +15555550123 --message "Here you go" --media /path/to/file.png
|
|
2539
2548
|
```
|
|
2540
2549
|
|
|
2541
2550
|
Also check:
|
|
@@ -2546,17 +2555,17 @@ See [Images](/nodes/images).
|
|
|
2546
2555
|
|
|
2547
2556
|
## Security and access control
|
|
2548
2557
|
|
|
2549
|
-
### Is it safe to expose
|
|
2558
|
+
### Is it safe to expose Clawdbot to inbound DMs
|
|
2550
2559
|
|
|
2551
2560
|
Treat inbound DMs as untrusted input. Defaults are designed to reduce risk:
|
|
2552
2561
|
|
|
2553
2562
|
- Default behavior on DM‑capable channels is **pairing**:
|
|
2554
2563
|
- Unknown senders receive a pairing code; the bot does not process their message.
|
|
2555
|
-
- Approve with: `
|
|
2556
|
-
- Pending requests are capped at **3 per channel**; check `
|
|
2564
|
+
- Approve with: `clawdbot pairing approve <channel> <code>`
|
|
2565
|
+
- Pending requests are capped at **3 per channel**; check `clawdbot pairing list <channel>` if a code didn’t arrive.
|
|
2557
2566
|
- Opening DMs publicly requires explicit opt‑in (`dmPolicy: "open"` and allowlist `"*"`).
|
|
2558
2567
|
|
|
2559
|
-
Run `
|
|
2568
|
+
Run `clawdbot doctor` to surface risky DM policies.
|
|
2560
2569
|
|
|
2561
2570
|
### Is prompt injection only a concern for public bots
|
|
2562
2571
|
|
|
@@ -2608,7 +2617,7 @@ Pairing codes are sent **only** when an unknown sender messages the bot and
|
|
|
2608
2617
|
|
|
2609
2618
|
Check pending requests:
|
|
2610
2619
|
```bash
|
|
2611
|
-
|
|
2620
|
+
clawdbot pairing list telegram
|
|
2612
2621
|
```
|
|
2613
2622
|
|
|
2614
2623
|
If you want immediate access, allowlist your sender id or set `dmPolicy: "open"`
|
|
@@ -2616,18 +2625,18 @@ for that account.
|
|
|
2616
2625
|
|
|
2617
2626
|
### WhatsApp will it message my contacts How does pairing work
|
|
2618
2627
|
|
|
2619
|
-
No. Default WhatsApp DM policy is **pairing**. Unknown senders only get a pairing code and their message is **not processed**.
|
|
2628
|
+
No. Default WhatsApp DM policy is **pairing**. Unknown senders only get a pairing code and their message is **not processed**. Clawdbot only replies to chats it receives or to explicit sends you trigger.
|
|
2620
2629
|
|
|
2621
2630
|
Approve pairing with:
|
|
2622
2631
|
|
|
2623
2632
|
```bash
|
|
2624
|
-
|
|
2633
|
+
clawdbot pairing approve whatsapp <code>
|
|
2625
2634
|
```
|
|
2626
2635
|
|
|
2627
2636
|
List pending requests:
|
|
2628
2637
|
|
|
2629
2638
|
```bash
|
|
2630
|
-
|
|
2639
|
+
clawdbot pairing list whatsapp
|
|
2631
2640
|
```
|
|
2632
2641
|
|
|
2633
2642
|
Wizard phone number prompt: it’s used to set your **allowlist/owner** so your own DMs are permitted. It’s not used for auto-sending. If you run on your personal WhatsApp number, use that number and enable `channels.whatsapp.selfChatMode`.
|
|
@@ -2678,7 +2687,7 @@ Most commands must be sent as a **standalone** message that starts with `/`, but
|
|
|
2678
2687
|
|
|
2679
2688
|
### How do I send a Discord message from Telegram Crosscontext messaging denied
|
|
2680
2689
|
|
|
2681
|
-
|
|
2690
|
+
Clawdbot blocks **cross‑provider** messaging by default. If a tool call is bound
|
|
2682
2691
|
to Telegram, it won’t send to Discord unless you explicitly allow it.
|
|
2683
2692
|
|
|
2684
2693
|
Enable cross‑provider messaging for the agent:
|
|
@@ -2719,8 +2728,8 @@ You can add options like `debounce:2s cap:25 drop:summarize` for followup modes.
|
|
|
2719
2728
|
|
|
2720
2729
|
**Q: “What’s the default model for Anthropic with an API key?”**
|
|
2721
2730
|
|
|
2722
|
-
**A:** In
|
|
2731
|
+
**A:** In Clawdbot, credentials and model selection are separate. Setting `ANTHROPIC_API_KEY` (or storing an Anthropic API key in auth profiles) enables authentication, but the actual default model is whatever you configure in `agents.defaults.model.primary` (for example, `anthropic/claude-sonnet-4-5` or `anthropic/claude-opus-4-5`). If you see `No credentials found for profile "anthropic:default"`, it means the Gateway couldn’t find Anthropic credentials in the expected `auth-profiles.json` for the agent that’s running.
|
|
2723
2732
|
|
|
2724
2733
|
---
|
|
2725
2734
|
|
|
2726
|
-
Still stuck? Ask in [Discord](https://discord.com/invite/clawd) or open a [GitHub discussion](https://github.com/
|
|
2735
|
+
Still stuck? Ask in [Discord](https://discord.com/invite/clawd) or open a [GitHub discussion](https://github.com/clawdbot/clawdbot/discussions).
|