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.

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

Agents calling destructive-class tools like execute_command have been implicated in these attack patterns. Read the full case and prevention policy for each:

Browse the full MCP Attack Database →

Other tools in the Destructive risk category across the catalogue. The same policy patterns (deny, require_approval) apply to each.

execute_command is one of the critical-risk operations in Vscode. For the full severity-focused view — only the critical-risk tools with their recommended policies — see the breakdown for this server, or browse all critical-risk tools across every MCP server.

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.

Let agents act without letting them run wild.

Deterministic policy on every MCP tool call. Per-identity grants. Full audit log.

// GET IN TOUCH

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

Message sent.

We'll get back to you soon.