Summary
Add first-class Bubblewrap execution to /run-prompt so Linux users can run prompts with one flag instead of writing custom bwrap wrappers.
Proposed UX
/run-prompt <id> --sandbox bubblewrap
- Optional:
--sandbox-profile strict|balanced|dev
- Optional:
--sandbox-workspace <path>
- Optional:
--sandbox-net on|off
Why
Linux users need a lightweight sandbox path comparable to seatbelt-style workflows on macOS, without forcing Docker/Podman. Bubblewrap works well but policy setup is error-prone when done manually.
Behavior expectations
- Auto-detect
bwrap and run prompt in a generated policy wrapper
- Safe defaults by profile:
strict: minimal RW mounts, no net by default
balanced: project RW + required cache/config/state dirs, net enabled
dev: wider compatibility for plugin-heavy/dev workflows
- Include
--new-session and secure defaults around terminal injection concerns
- Clear warnings for high-risk mounts (broad HOME, D-Bus sockets, etc.)
Failure handling
- If
bwrap is missing, show install hint and fail with actionable guidance
- Optional explicit fallback flag if user wants to run unsandboxed
Acceptance criteria
References
Summary
Add first-class Bubblewrap execution to
/run-promptso Linux users can run prompts with one flag instead of writing custom bwrap wrappers.Proposed UX
/run-prompt <id> --sandbox bubblewrap--sandbox-profile strict|balanced|dev--sandbox-workspace <path>--sandbox-net on|offWhy
Linux users need a lightweight sandbox path comparable to seatbelt-style workflows on macOS, without forcing Docker/Podman. Bubblewrap works well but policy setup is error-prone when done manually.
Behavior expectations
bwrapand run prompt in a generated policy wrapperstrict: minimal RW mounts, no net by defaultbalanced: project RW + required cache/config/state dirs, net enableddev: wider compatibility for plugin-heavy/dev workflows--new-sessionand secure defaults around terminal injection concernsFailure handling
bwrapis missing, show install hint and fail with actionable guidanceAcceptance criteria
/run-prompt <id> --sandbox bubblewrapwithout manual script authoringReferences