Bug
write tool fails with "Sandbox boundary checks failed; cannot create directories: /workspace/memory/kemik" even though:
- The directory exists on the host workspace
- The directory exists inside the container (
docker exec ... ls confirms)
- The container user can write to it (
docker exec ... touch succeeds)
workspaceAccess is "rw"
Regression
Worked on 2026-02-20, broke after updating to 2026.2.26. Likely caused by the security hardening in 2026.2.26:
- "Security/Sandbox path alias guard: reject broken symlink targets by resolving through existing ancestors and failing closed on out-of-root targets"
- "Security/Workspace FS boundary aliases: harden canonical boundary resolution for non-existent-leaf symlink aliases"
The new boundary checks appear to reject mkdir -p (or equivalent pre-write directory creation) for subdirectories that already exist within the workspace mount.
Config
{
"sandbox": {
"mode": "all",
"workspaceAccess": "rw",
"scope": "agent",
"docker": {
"network": "bridge"
}
}
}
Steps to Reproduce
- Create an agent with sandbox
mode: "all", workspaceAccess: "rw"
- Ensure workspace has a subdirectory structure (e.g.
memory/group-name/)
- Use the
write tool to create a file in that subdirectory
- Observe:
"Sandbox boundary checks failed; cannot create directories: /workspace/memory/group-name"
Expected
Write succeeds — the directory is within the workspace boundary and already exists.
Actual
Write rejected by sandbox boundary check before reaching the filesystem.
Environment
- OpenClaw
2026.2.26
- macOS (arm64)
- Docker (Colima)
Bug
writetool fails with"Sandbox boundary checks failed; cannot create directories: /workspace/memory/kemik"even though:docker exec ... lsconfirms)docker exec ... touchsucceeds)workspaceAccessis"rw"Regression
Worked on 2026-02-20, broke after updating to
2026.2.26. Likely caused by the security hardening in 2026.2.26:The new boundary checks appear to reject
mkdir -p(or equivalent pre-write directory creation) for subdirectories that already exist within the workspace mount.Config
{ "sandbox": { "mode": "all", "workspaceAccess": "rw", "scope": "agent", "docker": { "network": "bridge" } } }Steps to Reproduce
mode: "all",workspaceAccess: "rw"memory/group-name/)writetool to create a file in that subdirectory"Sandbox boundary checks failed; cannot create directories: /workspace/memory/group-name"Expected
Write succeeds — the directory is within the workspace boundary and already exists.
Actual
Write rejected by sandbox boundary check before reaching the filesystem.
Environment
2026.2.26