Summary
When running in sandbox mode (agents.defaults.sandbox.mode: "non-main"), OpenClaw resolves skill paths to ~/.openclaw/skills/<name>/SKILL.md (the global location) instead of the sandbox-local copy. The sandbox boundary blocks reading the global path, causing the skill to fail.
Steps to Reproduce
- Install a skill (e.g.
smaug) at ~/.openclaw/skills/smaug/SKILL.md
- Set
agents.defaults.sandbox.mode: "non-main" in openclaw.json
- Invoke the skill via cron or non-main session
- Observe: sandbox blocks read of
~/.openclaw/skills/smaug/SKILL.md
- Agent falls back to guessing
smaug as a bare command (not found)
Expected Behavior
Skills should resolve paths relative to the sandbox root, or the sandbox should allowlist ~/.openclaw/skills/ for read access.
Actual Behavior
Error: sandbox blocked read of /Users/jasper/.openclaw/skills/smaug/SKILL.md
The agent then tries to run smaug as a shell command, which also fails.
Attempted Workarounds
permissions.json in the skill directory — no effect
sessionTarget configuration — no effect
- Copying SKILL.md into the sandbox — agent still reads from global path
Environment
- OpenClaw: latest (as of March 2026)
- macOS 15 (Tahoe), M3 Mac Mini
- Sandbox mode:
non-main
Summary
When running in sandbox mode (
agents.defaults.sandbox.mode: "non-main"), OpenClaw resolves skill paths to~/.openclaw/skills/<name>/SKILL.md(the global location) instead of the sandbox-local copy. The sandbox boundary blocks reading the global path, causing the skill to fail.Steps to Reproduce
smaug) at~/.openclaw/skills/smaug/SKILL.mdagents.defaults.sandbox.mode: "non-main"inopenclaw.json~/.openclaw/skills/smaug/SKILL.mdsmaugas a bare command (not found)Expected Behavior
Skills should resolve paths relative to the sandbox root, or the sandbox should allowlist
~/.openclaw/skills/for read access.Actual Behavior
The agent then tries to run
smaugas a shell command, which also fails.Attempted Workarounds
permissions.jsonin the skill directory — no effectsessionTargetconfiguration — no effectEnvironment
non-main