Tools
Learn how Bob uses specialized tools to read files, edit code, run commands, spawn subagents, use MCP integrations, and switch modes to streamline your coding workflow.
Tool workflow
When you work with Bob, it determines the appropriate actions. For each step, Bob will:
- Select the appropriate tool based on your request
- Present the tool with its parameters for your review
- Run the approved tool and show you the results
- Continue this process until your task is complete
Tool categories
Bob's tools are grouped by their primary function. Understanding these categories helps you see how Bob performs different tasks.
Read tools
Read tools let Bob access file content and understand code structure without making changes.
| Tool | Purpose | Example use |
|---|---|---|
read_file | Read the contents of a file, with optional line ranges | View configuration files, examine source code |
glob | Find files by name pattern (e.g. **/*.ts) | Locate test files, find all components |
grep | Search file content using regex patterns | Find function definitions, locate TODOs |
list_files | List files and directories | Browse a single directory's structure |
GetSymbolsOverview | Get top-level symbols in a file | Understand file structure before diving in |
FindSymbol | Look up a symbol by name path with optional depth | Navigate to a class, method, or function |
FindReferencingSymbols | Find all references to a symbol | Understand where a function or type is used |
Bob uses read tools when your request involves reviewing code, searching for patterns, or examining project structure.
Write tools
Write tools let Bob create new files or modify existing code.
| Tool | Purpose | Example use |
|---|---|---|
write_file | Create a new file or fully rewrite an existing one | Generate new components, create configuration files |
apply_diff | Apply precise, targeted changes to specific parts of a file | Update function logic, fix bugs, refactor code |
insert_content | Insert new lines at a specific position in a file | Add imports, insert new functions |
search_and_replace | Find and replace text or regex patterns across a file | Rename variables, update repeated patterns |
Bob uses write tools when your request involves creating files, implementing features, fixing bugs, or refactoring code.
Command tools
Command tools let Bob run commands and perform system operations.
| Tool | Purpose | Example use |
|---|---|---|
execute_command | Run CLI commands in your workspace | Install dependencies, run tests, build projects |
Bob uses command tools when your request involves running commands, installing packages, running scripts, or performing system operations.
Subagent tools
Subagent tools let Bob spawn an independent agent to handle focused, self-contained work in its own isolated context.
| Tool | Purpose | Example use |
|---|---|---|
spawn_subagent | Create an independent agent with its own context window | Research a codebase section, gather information without polluting the main context |
How subagents work
A subagent runs independently from the main conversation. It has its own context window, executes its assigned task, and returns a summary of results back to Bob. This makes subagents useful for work that would otherwise add large amounts of irrelevant content to the main conversation.
Bob uses subagents sparingly. The default is always to do the work directly. A subagent is only considered when all of the following are true:
- The task is clearly self-contained and only a summary is needed back
- It would add significant irrelevant content to the main context
- It cannot be accomplished with one or two direct tool calls
There are two subagent types:
| Type | Description |
|---|---|
explore | Read-only codebase exploration, runs on a lighter model |
general | Full tool access, runs on the default model |
By default, a subagent does not see the parent conversation history. Setting fork_context: true passes the conversation history into the subagent when it needs to understand prior decisions, constraints, or user preferences.
Bob does not use subagents for simple file reads, quick searches, single-tool operations, or tasks where it already has the relevant context.
Subtask tools
Subtask tools let Bob create a new, named task instance that runs as its own dedicated conversation in the UI.
| Tool | Purpose | Example use |
|---|---|---|
start_subtask | Create a new task with a title, instructions, and optional todo list | Break a large request into a tracked subtask with its own conversation thread |
How subtasks work
A subtask is a fully independent task that appears in the UI with its own breadcrumb and conversation history. Unlike a subagent — which runs silently in the background and only returns a summary — a subtask is visible and interactive. You can follow its progress, review its output, and continue the conversation within it.
Bob uses subtasks when a request is complex enough to benefit from dedicated tracking and a separate conversation thread. A subtask can be given:
- A title shown in the UI breadcrumb
- A message with detailed instructions
- An initial todo list to track steps
- An optional mode to start it in (for example, Plan mode for design work)
MCP tools
MCP tools let Bob extend its capabilities through connected Model Context Protocol (MCP) servers.
| Tool | Purpose | Example use |
|---|---|---|
| MCP server tools | Access tools provided by connected MCP servers | Query databases, interact with APIs, access external services |
Bob uses MCP tools when your request involves capabilities provided by configured MCP servers, such as monday.com, product knowledge bases, or custom integrations.
Mode tools
Mode tools let Bob switch between different modes for specialized tasks.
| Tool | Purpose | Example use |
|---|---|---|
switch_mode | Change to a different mode (Agent, Plan, Ask, etc.) | Switch to Plan mode for architecture design, Agent mode for implementation |
Bob uses mode tools when your request is better handled by a different mode and its specialized capabilities.
Skill tools
Skill tools let Bob activate specialized instruction sets for specific domains and tasks.
| Tool | Purpose | Example use |
|---|---|---|
use_skill | Load detailed instructions for a named skill into the current context | Activate the Carbon builder skill, load Jira workflow guidance |
Skills extend Bob's built-in knowledge with curated, domain-specific instructions. When a request matches a skill — such as working with Carbon Design System components, writing DITA documentation, or managing Jira sprints — Bob activates the relevant skill once per conversation to load its full guidance before proceeding.
Workflow tools
Workflow tools let Bob launch pre-defined, multi-step processes designed for specific recurring tasks.
| Tool | Purpose | Example use |
|---|---|---|
start_workflow | Launch a named workflow with its own structured steps | Create a pull request, run a code review |
Workflows are curated step-by-step processes for common tasks. Bob uses them when a request clearly matches a workflow's purpose — for example, generating a PR description from a git diff or reviewing code changes against a base branch.
Todo tools
Todo tools let Bob track progress through multi-step tasks using a visible checklist.
| Tool | Purpose | Example use |
|---|---|---|
update_todo_list | Create or update a markdown checklist of task steps | Track implementation steps, mark completed items, add newly discovered tasks |
Bob uses todo tracking for complex tasks with multiple steps. The list is updated as work progresses — marking items complete, adding newly discovered steps, and keeping one item in progress at a time. This gives you a clear view of what has been done and what remains.
Question tools
Question tools let Bob gather additional information needed to complete tasks.
| Tool | Purpose | Example use |
|---|---|---|
ask_followup_question | Request clarification or additional detail | Ask about preferred implementation approach, request missing information |
Bob uses question tools when your request requires more information or clarification before Bob can proceed.
Create a new context window
Manage Bob's context window to preserve memory, control cost, and maintain output quality during complex or long-running conversations.
Context window management
Learn how Bob's 270,000-token context window works, how each category contributes to token usage, and best practices for keeping tasks focused and cost-efficient.