Skip to content

Tools

Reference for all 42+ built-in tools across 11 categories.

Tools

Brainstorm ships with 42+ built-in tools organized into 11 categories. Each tool has a defined permission level (read, write, or admin) and integrates with the checkpoint system for safe rollbacks.

Filesystem (4 tools)

| Tool | Permission | Description |

|------|-----------|-------------|

| file_read | read | Read file contents with optional line range |

| file_write | write | Create or overwrite a file |

| file_edit | write | Apply targeted edits with search/replace |

| list_dir | read | List directory contents with filtering |

Multi-file (4 tools)

| Tool | Permission | Description |

|------|-----------|-------------|

| glob | read | Find files matching glob patterns |

| grep | read | Search file contents with regex |

| batch_edit | write | Apply the same edit across multiple files |

| multi_edit | write | Apply different edits to multiple files in one operation |

Shell (3 tools)

| Tool | Permission | Description |

|------|-----------|-------------|

| shell | admin | Execute shell commands with timeout and sandboxing |

| process_spawn | admin | Start a long-running background process |

| process_kill | admin | Terminate a running process |

Shell commands run inside a configurable sandbox. By default, Brainstorm uses restricted mode which limits filesystem access and network calls. Docker sandbox mode is available for full isolation.

Git (6 tools)

| Tool | Permission | Description |

|------|-----------|-------------|

| git_status | read | Show working tree status |

| git_diff | read | Show staged and unstaged changes |

| git_log | read | View commit history with filtering |

| git_commit | write | Create commits with generated messages |

| git_branch | write | Create, switch, or delete branches |

| git_stash | write | Stash and restore changes |

GitHub (2 tools)

| Tool | Permission | Description |

|------|-----------|-------------|

| gh_issue | write | Create, read, and manage GitHub issues |

| gh_pr | write | Create and manage pull requests |

Web (2 tools)

| Tool | Permission | Description |

|------|-----------|-------------|

| web_search | read | Search the web for documentation and answers |

| web_fetch | read | Fetch and parse a URL |

Tasks (3 tools)

| Tool | Permission | Description |

|------|-----------|-------------|

| task_create | write | Create a new task in the queue |

| task_update | write | Update task status or details |

| task_list | read | List tasks with filtering |

Memory (auto-managed)

Memory tools handle cross-session persistence. The auto-extraction middleware captures important context automatically, while explicit memory tools let you save and search manually.

Transactions (3 tools)

| Tool | Permission | Description |

|------|-----------|-------------|

| checkpoint_create | write | Save a filesystem snapshot |

| checkpoint_restore | write | Roll back to a previous checkpoint |

| checkpoint_list | read | View available checkpoints |

Checkpoints capture the state of modified files before risky operations, enabling safe rollback if something goes wrong.

BR Intelligence (8 tools)

These tools connect to BrainstormRouter's intelligence APIs for routing insights and cost management.

| Tool | Permission | Description |

|------|-----------|-------------|

| br_status | read | Current routing status and active model |

| br_budget | read | Cost tracking and budget remaining |

| br_models | read | Available models with scores |

| br_rankings | read | Model rankings by task type |

| br_recommendations | read | Get model recommendations for a task |

| br_memory_search | read | Search across persistent memory |

| br_memory_save | write | Save context to persistent memory |

| br_health | read | Provider health and latency status |

Planning (1 tool)

| Tool | Permission | Description |

|------|-----------|-------------|

| plan | read | Create and manage implementation plans with step tracking |

Tool Permissions

Tools are gated by three permission levels:

  • read -- Always allowed, no confirmation needed
  • write -- Requires confirmation unless in unattended mode
  • admin -- Requires explicit approval, even in unattended mode (configurable)

Override permissions in your config:

``toml

[tools.permissions]

shell = "write" # downgrade shell from admin to write

``