diff --git a/CHANGELOG.md b/CHANGELOG.md index 3826968bb..299d1bb6b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,7 @@ - WhatsApp: suppress typing indicator during heartbeat background tasks. (#190) — thanks @mcinteerj - Onboarding: when running from source, auto-build missing Control UI assets (`pnpm ui:build`). - Discord/Slack: route reaction + system notifications to the correct session (no main-session bleed). +- Agent tools: honor `agent.tools` allow/deny policy even when sandbox is off. ## 2026.1.5 diff --git a/docs/configuration.md b/docs/configuration.md index 337516c03..56ca4246f 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -508,6 +508,20 @@ Z.AI models are available as `zai/` (e.g. `zai/glm-4.7`) and require - `timeoutSec`: auto-kill after this runtime (seconds, default 1800) - `cleanupMs`: how long to keep finished sessions in memory (ms, default 1800000) +`agent.tools` configures a global tool allow/deny policy (deny wins). +This is applied even when the Docker sandbox is **off**. + +Example (disable browser/canvas everywhere): +```json5 +{ + agent: { + tools: { + deny: ["browser", "canvas"] + } + } +} +``` + `agent.elevated` controls elevated (host) bash access: - `enabled`: allow elevated mode (default true) - `allowFrom`: per-surface allowlists (empty = disabled) diff --git a/docs/tools.md b/docs/tools.md index 292be960e..9cbbdc218 100644 --- a/docs/tools.md +++ b/docs/tools.md @@ -11,6 +11,21 @@ Clawdbot exposes **first-class agent tools** for browser, canvas, nodes, and cro These replace the old `clawdbot-*` skills: the tools are typed, no shelling, and the agent should rely on them directly. +## Disabling tools + +You can globally allow/deny tools via `agent.tools` in `clawdbot.json` +(deny wins). This prevents disallowed tools from being sent to providers. + +```json5 +{ + agent: { + tools: { + deny: ["browser"] + } + } +} +``` + ## Tool inventory ### `bash`