Skip to content

[ENHANCEMENT] Support configurable command sandboxing #11771

@kamelkace

Description

@kamelkace

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    EnhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions