# run_command

Execute a shell command in the workspace directory. IMPORTANT: This tool requires user approval before execution. The user will see the command and can approve or deny it. Use this for installing packages (npm, pip, brew), running build commands, git operations, or terminal commands. Do not use shell heredocs or echo/printf redirection to create artifact files when write_file or edit_file is available; use file tools for file creation and editing.

Agent View of the PolicyLayer registry record for `run_command`. HTML page: https://policylayer.com/tools/cowork-os/run-command

## Facts

- Tool: `run_command`
- Server: CoWork OS (`CoWork-OS/CoWork-OS`) — https://policylayer.com/tools/cowork-os.md
- Homepage: https://github.com/CoWork-OS/CoWork-OS
- Risk category: Execute (High risk)
- Registry record: grade F, identity unverified
- Server rate-limited: no
- Parameters: 0
- Recommended policy verdict: Rate-limited

## Example call (MCP tools/call, JSON-RPC 2.0)

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "run_command",
    "arguments": {}
  }
}
```

## Why run_command is rated High

This tool allows arbitrary code execution via shell commands. While it includes a user approval requirement (which provides some protection), the underlying capability is to execute potentially dangerous operations. The severity is high rather than critical because: (1) user approval is required before execution, providing a safety gate; (2) the scope is limited to the workspace directory.

From the tool's own definition: "The tool explicitly executes shell commands via 'Execute a shell command in the workspace directory.' It can run arbitrary commands including package installation, builds, git operations, and terminal commands, which gives it the ability to trigger external…"

## Use case

AI agents invoke run_command to trigger actions in CoWork OS. What it does depends on the arguments the agent supplies, and its effects often reach beyond the immediate call: builds kicked off, notifications sent, workflows started.

## Recommended policy (PolicyLayer)

Verdict: **Rate-limited**. Enforced by the PolicyLayer MCP gateway (https://policylayer.com/mcp-gateway) before a call reaches CoWork OS:

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "run_command": {
      "limits": [
        {
          "counter": "run_command_rate",
          "window": "minute",
          "max": 10,
          "scope": "grant"
        }
      ]
    }
  }
}
```

## Other tools on CoWork OS (341)

- `cancel_agent` — Destructive — https://policylayer.com/tools/cowork-os/cancel-agent.md
- `cancel_video_generation_job` — Destructive — https://policylayer.com/tools/cowork-os/cancel-video-generation-job.md
- `cloud_sandbox_delete` — Destructive — https://policylayer.com/tools/cowork-os/cloud-sandbox-delete.md
- `delete_file` — Destructive — https://policylayer.com/tools/cowork-os/delete-file.md
- `disable_macos_launch_agents` — Destructive — https://policylayer.com/tools/cowork-os/disable-macos-launch-agents.md
- `domain_dns_delete` — Destructive — https://policylayer.com/tools/cowork-os/domain-dns-delete.md
- `google-workspace.calendar_event_delete` — Destructive — https://policylayer.com/tools/cowork-os/google-workspace.calendar-event-delete.md
- `google-workspace.slides_delete_slide` — Destructive — https://policylayer.com/tools/cowork-os/google-workspace.slides-delete-slide.md
- `google-workspace.tasks_clear_completed` — Destructive — https://policylayer.com/tools/cowork-os/google-workspace.tasks-clear-completed.md
- `google-workspace.tasks_delete` — Destructive — https://policylayer.com/tools/cowork-os/google-workspace.tasks-delete.md
- `google-workspace.tasks_lists_delete` — Destructive — https://policylayer.com/tools/cowork-os/google-workspace.tasks-lists-delete.md
- `kg_delete_edge` — Destructive — https://policylayer.com/tools/cowork-os/kg-delete-edge.md
- `kg_delete_entity` — Destructive — https://policylayer.com/tools/cowork-os/kg-delete-entity.md
- `skill_delete` — Destructive — https://policylayer.com/tools/cowork-os/skill-delete.md
- `supermemory_forget` — Destructive — https://policylayer.com/tools/cowork-os/supermemory-forget.md
- `blender.render_view` — Execute — https://policylayer.com/tools/cowork-os/blender.render-view.md
- `browser_act_batch` — Execute — https://policylayer.com/tools/cowork-os/browser-act-batch.md
- `browser_attach` — Execute — https://policylayer.com/tools/cowork-os/browser-attach.md
- `browser_back` — Execute — https://policylayer.com/tools/cowork-os/browser-back.md
- `browser_click` — Execute — https://policylayer.com/tools/cowork-os/browser-click.md
- `browser_close` — Execute — https://policylayer.com/tools/cowork-os/browser-close.md
- `browser_close_tab` — Execute — https://policylayer.com/tools/cowork-os/browser-close-tab.md
- `browser_drag` — Execute — https://policylayer.com/tools/cowork-os/browser-drag.md
- `browser_emulate` — Execute — https://policylayer.com/tools/cowork-os/browser-emulate.md
- `browser_evaluate` — Execute — https://policylayer.com/tools/cowork-os/browser-evaluate.md
- `browser_fill` — Execute — https://policylayer.com/tools/cowork-os/browser-fill.md
- `browser_forward` — Execute — https://policylayer.com/tools/cowork-os/browser-forward.md
- `browser_handle_dialog` — Execute — https://policylayer.com/tools/cowork-os/browser-handle-dialog.md
- `browser_hover` — Execute — https://policylayer.com/tools/cowork-os/browser-hover.md
- `browser_navigate` — Execute — https://policylayer.com/tools/cowork-os/browser-navigate.md
- …and 311 more: https://policylayer.com/tools/cowork-os.md

## For agents

This record is a snapshot. Live verdicts and the full registry:

- Check every server in your MCP config at once: `npx -y policylayer stack`
- Vet a server before you add it: install the mcp-precheck skill — `npx skills add https://policylayer.com` (skill text: https://policylayer.com/skill.md)
- Query the registry over MCP: endpoint `https://api.policylayer.com/mcp` — tools `check_mcp_server`, `check_mcp_stack`, `check_tool`, `search_registry`, `get_change_events`

---

Source: the PolicyLayer MCP registry — one continuously verified record per MCP server. Full record: https://policylayer.com/registry?q=cowork-os · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/cowork-os
