-
-
Notifications
You must be signed in to change notification settings - Fork 79.1k
sandbox: keep workspaceAccess none workspaces writable #37634
Copy link
Copy link
Open
Labels
P1High-priority user-facing bug, regression, or broken workflow.High-priority user-facing bug, regression, or broken workflow.clawsweeper:fix-shape-clearClawSweeper found a clear likely implementation shape for this issue.ClawSweeper found a clear likely implementation shape for this issue.clawsweeper:needs-maintainer-reviewClawSweeper marked this issue as needing maintainer review before automation.ClawSweeper marked this issue as needing maintainer review before automation.clawsweeper:needs-product-decisionClawSweeper marked this issue as needing a product or behavior decision.ClawSweeper marked this issue as needing a product or behavior decision.clawsweeper:needs-security-reviewClawSweeper marked this issue as needing security-sensitive review.ClawSweeper marked this issue as needing security-sensitive review.clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.ClawSweeper does not recommend queueing a new automated fix PR for this issue.clawsweeper:source-reproClawSweeper found a high-confidence source-level issue reproduction.ClawSweeper found a high-confidence source-level issue reproduction.impact:securitySecurity boundary, credential, authz, sandbox, or sensitive-data risk.Security boundary, credential, authz, sandbox, or sensitive-data risk.impact:session-stateSession, memory, transcript, context, or agent state can drift or corrupt.Session, memory, transcript, context, or agent state can drift or corrupt.issue-rating: 🦞 diamond lobsterVery strong issue quality with high-confidence source-level or clear reproduction.Very strong issue quality with high-confidence source-level or clear reproduction.
Metadata
Metadata
Assignees
Labels
P1High-priority user-facing bug, regression, or broken workflow.High-priority user-facing bug, regression, or broken workflow.clawsweeper:fix-shape-clearClawSweeper found a clear likely implementation shape for this issue.ClawSweeper found a clear likely implementation shape for this issue.clawsweeper:needs-maintainer-reviewClawSweeper marked this issue as needing maintainer review before automation.ClawSweeper marked this issue as needing maintainer review before automation.clawsweeper:needs-product-decisionClawSweeper marked this issue as needing a product or behavior decision.ClawSweeper marked this issue as needing a product or behavior decision.clawsweeper:needs-security-reviewClawSweeper marked this issue as needing security-sensitive review.ClawSweeper marked this issue as needing security-sensitive review.clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.ClawSweeper does not recommend queueing a new automated fix PR for this issue.clawsweeper:source-reproClawSweeper found a high-confidence source-level issue reproduction.ClawSweeper found a high-confidence source-level issue reproduction.impact:securitySecurity boundary, credential, authz, sandbox, or sensitive-data risk.Security boundary, credential, authz, sandbox, or sensitive-data risk.impact:session-stateSession, memory, transcript, context, or agent state can drift or corrupt.Session, memory, transcript, context, or agent state can drift or corrupt.issue-rating: 🦞 diamond lobsterVery strong issue quality with high-confidence source-level or clear reproduction.Very strong issue quality with high-confidence source-level or clear reproduction.
Type
Fields
Give feedbackNo fields configured for issues without a type.
Summary
When
agents.defaults.sandbox.workspaceAccessis set to"none", OpenClaw gives each sandboxed session its own isolated workspace under~/.openclaw/sandboxes/..., which matches the expected isolation model. However, that isolated/workspaceends up mounted read-only, so tools that need to write inside the sandbox workspace stop working.This makes
"none"behave closer to"ro"in practice, even though the agent workspace is still intentionally hidden.Expected behavior
workspaceAccess: "none"should mean:~/.openclaw/sandboxes/...Actual behavior
Inside the sandbox,
/workspaceis mounted from the per-session sandbox workspace, but it is read-only:As a result, many tools that rely on writing into the sandbox workspace cannot be used when
workspaceAccessis"none".Why this seems like a regression
This appears related to commit
903e4dff3(fix(sandbox): make /workspace bind mount read-only when workspaceAccess is not rw).That change made
/workspaceread-only for both"ro"and"none":rw:/workspacewritablero:/workspaceread-onlynone:/workspaceread-onlyBut for
"none",/workspacepoints at the isolated sandbox workspace rather than the main agent workspace, so making it read-only breaks the expected isolated-but-writable workflow.Reproduction
workspaceAccessis"none"/workspace/workspaceis backed by~/.openclaw/sandboxes/...but is read-onlySuggested direction
Keep
workspaceAccess: "none"isolated from the main agent workspace, but make the isolated sandbox/workspacewritable. OnlyworkspaceAccess: "ro"should force/workspaceread-only.Related fix PR: #37276