Tool System
A source-aligned map of built-in tools, conditional tools, desktop automation, MCP tools, and permission boundaries.
Where tools come from
CrabCode assembles the tool pool at runtime. The current source tree confirms these sources:
| Source | Description |
|---|---|
| Built-ins | File read/write/edit, shell, web, todos, planning, skills, tasks, MCP resources |
| Conditional tools | Feature-flagged, platform-specific, or mode-specific tools such as LSP, worktree, desktop automation, cron, PowerShell |
| MCP tools | Tools and resources exposed by configured MCP servers |
| Plugins / skills | Plugins can ship MCP servers, slash commands, hooks, and skills |
| GUI / App Server capabilities | Browser, cron, plugin, account, memory, local model and other local methods used by the desktop app |
Default built-ins
| Tool | Purpose |
|---|---|
Agent / TaskOutput | Start sub-agents and read task output |
Bash | Run shell commands |
Read / Edit / Write | Read, patch, and create files |
NotebookEdit | Edit notebook cells |
WebFetch / WebSearch | Fetch URLs and search the web |
TodoWrite | Maintain the active task list |
EnterPlanMode / ExitPlanMode | Move between planning and execution |
AskUserQuestion | Ask the user for required input |
Skill | Discover and invoke local skills |
TaskStop | Stop tasks |
ListMcpResources / ReadMcpResource | Browse and read MCP resources |
If embedded search is not available, Glob and Grep are added as fallback file-search tools.
Conditional groups
| Group | Purpose |
|---|---|
ToolSearch | Search a large tool set |
TerminalCapture | Read current terminal output |
LSP | Language-server-backed diagnostics and symbols |
EnterWorktree / ExitWorktree | Isolated worktree flows |
| Collaboration tools | Messages, peers, teams, agent swarms |
| Cron tools | Create, list, and delete scheduled jobs when enabled |
| Remote / monitor / notification tools | Remote triggers, monitors, push notifications, PR subscriptions |
PowerShell | Windows PowerShell execution |
| Debug/context tools | Context inspection and snippets |
Desktop automation
When desktop automation is enabled, the pool can include ComputerObserve, ComputerPermissions, ComputerMove, ComputerClick, ComputerDoubleClick, ComputerDrag, ComputerScroll, ComputerKey, ComputerHotkey, and ComputerTypeText.
These tools operate real local apps, so approval and operating-system permissions matter more than with plain text tools.
Minimal mode
--bare skips hooks, LSP, plugin sync, automatic memory, and other extras. Normal bare sessions keep a minimal file/command tool set, typically Bash, Read, and Edit; REPL mode swaps in the REPL tool.
Permission boundary
Tool execution is constrained by sandboxing, permission mode, allowlists/denylists, explicit --tools, MCP config, and plugin loading. Start with Sandbox and permissions, Permission modes, MCP, and Plugins and skills.