-
Notifications
You must be signed in to change notification settings - Fork 3k
Description
Problem (one or two sentences)
Approving commands by prefix is useful, but doesn't provide a high degree of network or filesystem isolation. Ideally, agents would be given the ability to run any command they want, while providing assurances to the user that they cannot execute anything that is unduly risky.
Context (who is affected and when)
Users who want to allow agents to run in the background with little intervention, but desire some control over their behaviour, to an extent not enforceable via prompting.
Desired behavior (conceptual, not technical)
Commands executed via run_command can be run in a configurable, isolated environment, in a way that does not trivially permit escapes.
Constraints / preferences (optional)
No response
Request checklist
- I've searched existing Issues and Discussions for duplicates
- This describes a specific problem with clear context and impact
Roo Code Task Links (optional)
No response
Acceptance criteria (optional)
No response
Proposed approach (optional)
I propose using Anthropic's sandbox-runtime to wrap all commands which are sent to the VS Code Terminal, or via execa.
Trade-offs / risks (optional)
Alternatives considered:
- Use an MCP server for executing commands. This fails pretty often, as LLMs can't remember to use the MCP server, and will often try to call execute_command anyways.
- Isolate all of Roo Code, in Visual Studio Code, inside a bubblewrap'd environment. This is a miserable working experience, as VS Code configs are difficult to import, and many pieces of VS Code functionality (e.g. SCM operations, extension updates, etc.) require network access, which violates that isolation requirement.