Critical Risk

execute_command

Execute VSCode commands with arguments **Common Use Cases:** - Format code: 'editor.action.formatDocument' with args: '[]' - Open files: 'vscode.open' with args: '["file:///absolute/path/to/file.ts"]' - Save all files: 'workbench.action.files.saveAll' with args: '[]' - Auto-fix issues: 'editor.ac...

Accepts freeform code/query input (command); Bulk/mass operation — affects multiple targets

Part of the Vscode MCP server. Enforce policies on this tool with Intercept, the open-source MCP proxy.

@vscode-mcp/vscode-mcp-server Destructive Risk 5/5

AI agents may call execute_command to permanently remove or destroy resources in Vscode. Without a policy, an autonomous agent could delete critical data in a loop with no way to undo the damage. Intercept blocks destructive tools by default and requires explicit human approval before enabling them.

Without a policy, an AI agent could call execute_command in a loop, permanently destroying resources in Vscode. There is no undo for destructive operations. Intercept blocks this tool by default and only allows it when a human explicitly approves the action.

Destructive tools permanently remove data. Block by default. Only enable with explicit approval workflows.

vscode.yaml
tools:
  execute_command:
    rules:
      - action: deny
        reason: "Blocked by default — enable with approval"

See the full Vscode policy for all 8 tools.

Tool Name execute_command
Category Destructive
MCP Server Vscode MCP Server
Risk Level Critical
What does the execute_command tool do? +

Execute VSCode commands with arguments **Common Use Cases:** - Format code: 'editor.action.formatDocument' with args: '[]' - Open files: 'vscode.open' with args: '["file:///absolute/path/to/file.ts"]' - Save all files: 'workbench.action.files.saveAll' with args: '[]' - Auto-fix issues: 'editor.action.fixAll' with args: '[]' - Restart TypeScript: 'typescript.restartTsServer' with args: '[]' - Restart ESLint: 'eslint.restart' with args: '[]' **Important Notes:** - Commands and arguments may change with VSCode updates, it's recommended to search in the VSCode official repository to confirm the command and arguments are correct before use - Commands like 'reloadWindow', 'reloadExtensionHost' will interrupt conversation - ⚠️ WARNING: May cause irreversible changes, use with caution . It is categorised as a Destructive tool in the Vscode MCP Server, which means it can permanently delete or destroy data. Block by default and require explicit approval.

How do I enforce a policy on execute_command? +

Add a rule in your Intercept YAML policy under the tools section for execute_command. You can allow, deny, rate-limit, or validate arguments. Then run Intercept as a proxy in front of the Vscode MCP server.

What risk level is execute_command? +

execute_command is a Destructive tool with critical risk. Critical-risk tools should be blocked by default and only enabled with explicit human approval.

Can I rate-limit execute_command? +

Yes. Add a rate_limit block to the execute_command rule in your Intercept policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.

How do I block execute_command completely? +

Set action: deny in the Intercept policy for execute_command. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.

What MCP server provides execute_command? +

execute_command is provided by the Vscode MCP server (@vscode-mcp/vscode-mcp-server). Intercept sits as a proxy in front of this server to enforce policies before tool calls reach the server.

Enforce policies on Vscode

Open source. One binary. Zero dependencies.

npx -y @policylayer/intercept
github.com/policylayer/intercept →
// GET IN TOUCH

Have a question or want to learn more? Send us a message.

Message sent.

We'll get back to you soon.