Skip to content

feat(sandbox): auto-approve permissions inside sandboxes - #210

Merged
quickbeard merged 1 commit into
mainfrom
feat/sandbox-auto-permissions
Aug 13, 2026
Merged

quickbeard merged 1 commit into
mainfrom
feat/sandbox-auto-permissions

Conversation

@quickbeard

Copy link
Copy Markdown
Owner

Phase 4b, item 1 — the CoWork "hand it a task and walk away" default.

How

No new UI or permission code: the guest config injected via CODEV_CONFIG (from #209) now always carries top-level "permission": "allow", and is injected even when there's no gateway login (providers start a broker only when the route table is non-empty). That one field does the whole job on both sides:

  • Server-side: the guest server normalizes "allow" to {"*": "allow"} and stops asking — enforcement, not UI sugar.
  • App-side: the existing enableConfiguredDirectory seam sees permission: "allow" on the sandbox server's directories and switches on directory-level auto-accept in the UI, exactly as it already does for any server so configured — and it respects prior manual state, so the user's per-directory toggle still wins.
  • Escape hatches: toggling auto-accept off per directory, or a stricter permission block in the workspace's own project config (project config merges after CODEV_CONFIG).

Safety framing: inside a sandbox the blast radius is the VM plus the one mounted project folder, which is what makes auto-allow the right default there and nowhere else.

Tests

  • New WSL provider test: routeless egress injects the config (mount + CODEV_CONFIG + host-side file) and starts no broker (no socat line).
  • Sandbox suite 76 pass / 2 skip; desktop 76 pass; typecheck green.
  • CHANGELOG entry added. Fork-only files throughout, no DIVERGENCES change.

Note for the next in-app run: a fresh sandbox session should execute shell/edit tools without a single permission dialog, and the directory row should show auto-accept enabled.

🤖 Generated with Claude Code

The injected guest config now always carries permission: "allow" (and
is injected even without a gateway login — providers skip the broker
when the route table is empty). Everything the agent does is confined
to the VM and the one mounted project folder, so prompts buy nothing
there; the server stops asking, and the app's existing
enableConfiguredDirectory seam surfaces it as directory auto-accept,
which the user can still toggle off and a project config can override
(project merges after CODEV_CONFIG).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@quickbeard
quickbeard merged commit ec36d86 into main Aug 13, 2026
0 of 5 checks passed
@quickbeard
quickbeard deleted the feat/sandbox-auto-permissions branch August 13, 2026 03:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant