#Unable to execute on node when host set to auto

1 messages · Page 1 of 1 (latest)

hidden hamlet
#

The documentation states that gateway + node should be allowed when tools.exec.host is set to auto. However, when my openclaw attempts to do so, it gets the following error:

exec host not allowed (requested node; configure tools.exec.host=node to allow).

autumn eagleBOT
#

To help others find answers, you can mark your question as solved via Right click solution message -> Apps -> ✅ Mark Solution

pure pumiceBOT
#

Can you paste openclaw --version first? (This behavior changed over time, so version matters.)

What you’re seeing is expected on current versions:

  • tools.exec.host=auto = routing only: sandbox if available, otherwise gateway
  • It is not a wildcard that allows host=node per tool call
  • So a call that explicitly requests host=node will fail with exactly that error unless host is set to node

Use one of these:

# Global default to node
openclaw config set tools.exec.host node
openclaw config set tools.exec.node "<node-id-or-name>"
openclaw gateway restart
hidden hamlet
#

OpenClaw 2026.4.2 (d74a122)

auto is the default routing strategy, not a wildcard. Per-call host=node is allowed from auto; per-call host=gateway is only allowed when no sandbox runtime is active.
pure pumiceBOT
#

Yep — thanks, that confirms it.

On 2026.4.2, your runtime behavior is correct, and that quoted sentence is incorrect/outdated.

In this version, auto is strictly routing (sandbox -> gateway fallback) and does not permit per-call host=node override. The code path explicitly rejects it with the exact error you got.

So today your options are:

  1. Set node as host (global/per-agent/per-session), then run exec with host=node, or
  2. Keep auto, but don’t request host=node in the tool call.

Quick commands:

openclaw config get tools.exec.host
openclaw config set tools.exec.host node
hidden hamlet
pure pumiceBOT
#

You’re 100% right — that line on <https://docs.openclaw.ai/tools/exec> is currently misleading.

For 2026.4.2 (and current code), behavior is:

  • tools.exec.host=auto is routing only
  • per-call host=node from auto is rejected (exactly the error you saw)

So this is a docs/runtime mismatch.

Practical workaround:

  • if you want node exec, set it explicitly (tools.exec.host=node or /exec host=node ...)
  • keep auto only when you want sandbox→gateway routing without node override

If you can, please report this as a docs bug so it gets fixed:
https://github.com/openclaw/openclaw/issues

Suggested issue title:

#

docs/tools/exec says host=node override is allowed from auto, but runtime rejects it

If this fixed your confusion, please mark the solution in-thread (right-click message → Apps → ✅ Mark Solution) so Answer Overflow can index it.