blueclaw

What is not enforced

blueclaw has no executable allowlist, no denied command list, no denied path prefix, and no prompt instruction telling the model what it may not touch.

A command the requester may not run fails at the kernel, as it would for that person at a shell. Every such list would be a second copy of permissions the kernel already enforces, and it would go stale and block work the person is entitled to do. Inside the requester's permissions the agent may install a package, walk the filesystem or run a build without asking.

TerminalConfiguration has nine fields: mode, the sandbox provider, workspaceRootPath, posixHelperPath, timeoutSecond, outputMaxBytes, sessionMaxCount, allowNetwork and allowInteractiveShell. None is a list. The guardrail's checks are structural:

CheckWhere
refuses to execute when the daemon is effectively rootBuildCommandPlan
resolves the working directory against the workspace rootresolveWorkingDirectoryPath
builds the environment from the identity and forces a canonical PATHsanitizeEnvironmentVariables, applyPOSIXEnvironment
caps the timeouttimeoutSecond
requires bubblewrap when terminal.mode is sandboxBuildCommandPlan

Two things in this path look like string filters and decide nothing: shell argument quoting is serialization, and matching stderr classifies a command that has already failed into a diagnostic code.

Effects that leave the machine, such as sending a message or publishing a site, are judged by a person at the approval gate.