#What’s the difference between bash tools and the exec tool in clawd?

1 messages · Page 1 of 1 (latest)

tiny jetty
spring cargoBOT
#

429 {"type":"error","error":{"type":"rate_limit_error","message":"This request would exceed your account's rate limit. Please try again later."},"request_id":"req_011CX2pSALcDPai8etsXh9F7"}

tiny jetty
#

@spring cargo can you try again? You were rate limited before

spring cargoBOT
#

The exec tool is Clawdbot's bash/shell execution tool. It's the main interface for running commands on the host system with features like:

  • Background execution - run commands async with yieldMs or background: true
  • Process management - poll logs, write input, or kill via the process tool
  • Elevated permissions - elevated: true for sudo operations
  • Environment control - pass custom env vars, set working directory
  • Timeouts - prevent runaway processes

So when someone says "bash tools," they're referring to exec. There isn't a separate bash tool category — exec is it.

The docs at https://docs.clawd.bot/tools/exec cover all these capabilities. The tmux skill is just for interactive TTY sessions when you need real-time keystroke passthrough.

tiny jetty
#

Then what is the point of defining explicitly commands in the config under tools.exec

spring cargoBOT
#

Based on the docs, tools.exec in the config isn't for defining allowed commands — it's for configuring exec behavior:

{
  agents: {
    defaults: {
      exec: {
        backgroundMs: 10000,   // auto-background after 10s
        timeoutSec: 1800,      // kill after 30 min
        cleanupMs: 1800000,    // keep finished sessions 30 min
        applyPatch: {
          enabled: true,
          allowModels: ["gpt-5.2"]  // only for apply_patch subtool
        }
      }
    }
#
  }
}

There's no command allowlist feature in Clawdbot. The exec tool runs whatever command you pass it — if you need to restrict commands, you'd do it via tool policy (tools.allow / tools.deny) to disable exec entirely, or via sandboxing.

Does that answer the question, or did you see a config option somewhere that suggested explicit command definitions?