Modes
Modes are specialized personas that tailor Bob's behavior for your specific tasks. Each mode offers different capabilities and access levels to help you accomplish particular goals more efficiently.
Why use different modes?
- Task specialization: Get precisely the type of assistance you need for your current task
- Safety controls: Prevent unintended file modifications when focusing on planning or learning
- Focused interactions: Receive responses optimized for your current activity
- Workflow optimization: Transition seamlessly between planning, implementing, debugging, and learning
Switching between modes
You have 4 options to switch modes:
-
Dropdown menu: Click the selector to the left of the chat input
-
Slash command: Type
/plan,/ask,/code,/advanced, or/orchestratorat the beginning of your message. This will switch to that mode and clear the input field. -
Toggle command/Keyboard shortcut: Use the keyboard shortcut below, applicable to your operating system. Each press cycles through the available modes in sequence, wrapping back to the first mode after reaching the end.
Operating System Shortcut macOS ⌘ + . Windows Ctrl + . Linux Ctrl + . -
Accept suggestions: Click on mode switch suggestions that Bob offers when appropriate
Built-in modes
By default, the following modes are available with Bob:
Code mode
| Aspect | Details |
|---|---|
| Name | 💻 Code |
| Role definition | You are Bob, a highly skilled software engineer with extensive knowledge in many programming languages, frameworks, design patterns, and best practices. |
| Short description | Write, modify, and refactor code. |
| Tool access | read, edit, command |
| Use case | General purpose coding tasks, optimized for cost efficiency. |
Ask mode
| Aspect | Details |
|---|---|
| Name | ❓ Ask |
| Role definition | You are Bob, a knowledgeable technical assistant focused on answering questions and providing information about software development, technology, and related topics. |
| Short description | Get answers and explanations. |
| Tool access | read, browser, mcp |
| Use case | Conversational questions and information about your code. |
Plan mode
| Aspect | Details |
|---|---|
| Name | 📝 Plan |
| Role definition | You are Bob, an experienced technical leader who is inquisitive and an excellent planner. Your goal is to gather information and get context to create a detailed plan for accomplishing the user's task, which the user will review and approve before they switch into another mode to implement the solution. |
| Short description | Plan and design before implementation. |
| Tool access | read, edit - markdown only, browser, mcp |
| Use case | High-level planning and technical leadership. Big picture thinking! |
Advanced mode
| Aspect | Details |
|---|---|
| Name | 🛠️ Advanced |
| Role definition | You are Bob, a highly skilled software engineer with extensive knowledge in many programming languages, frameworks, design patterns, and best practices. |
| Short description | Advanced version of Code mode, with more tools. |
| Tool access | All tool groups: read, edit, command, mcp |
| Use case | Advanced coding tasks, requiring access to MCP tools. Power users! |
| Special features | No tool restrictions—full flexibility for all coding tasks |
Orchestrator mode
| Aspect | Details |
|---|---|
| Name | 🔀 Orchestrator |
| Role definition | You are IBM Bob, a strategic workflow orchestrator who coordinates complex tasks by delegating them to appropriate specialized modes. You have a comprehensive understanding of each mode's capabilities and limitations, allowing you to effectively break down complex problems into discrete tasks that can be solved by different specialists. |
| Short description | Coordinate tasks across multiple modes |
| Tool access | None |
| Use case | Complex projects requiring coordination across different specialties, multi-domain workflows, and task management |
| Special features | Automatically switches between modes based on task requirements, manages subtasks, coordinates work across different expertise areas |
Comparing the built-in modes
The following table compares the built-in modes to help you choose the right one for your specific task:
| Mode | Primary Purpose | When to Use | Key Capabilities | Tool Access |
|---|---|---|---|---|
| 💻 Code | Writing and modifying code | When implementing features, fixing bugs, or making code improvements | Efficient code generation, refactoring, and debugging | read, edit, command |
| ❓ Ask | Getting information and explanations | When you need to understand concepts or analyze existing code without making changes | Detailed explanations, code analysis, and technical recommendations | read, browser, mcp |
| 📝 Plan | Planning and designing | Before implementation, when you need to think through architecture or create a technical plan | System design, breaking down complex problems, creating specifications | read, edit (markdown only), browser, mcp |
| 🛠️ Advanced | Complex development tasks | When you need full access to all tools for sophisticated development workflows | All capabilities of other modes combined with no restrictions | All tool groups |
| 🔀 Orchestrator | Multi-step project coordination | When you have complex projects with multiple moving parts that require different specialties | Task breakdown, mode coordination, workflow management across domains | None |
Mode selection guidelines
- Start with Plan mode for new projects or complex features to plan before implementation.
- Use Code mode for most day-to-day development tasks.
- Switch to Ask mode when you need explanations without modifying files.
- Use Advanced mode when you need unrestricted access to all tools for complex workflows.
- Use Orchestrator mode for complex, multi-step projects that require coordination across different specialties and domains.
Customizing modes
Tailor Bob's behavior by customizing existing modes or creating new specialized assistants. Define tool access, file permissions, and behavior instructions to enforce team standards or create purpose-specific assistants.
For setup instructions, see Custom modes.
Auto-approve
Auto-approve settings speed up your workflow by eliminating repetitive confirmation prompts, but they significantly increase security risks.
Context mentions
Context mentions let you reference specific elements of your project directly in your conversations with Bob. By using the @ symbol, you can point Bob to files, folders, problems, and other project components, enabling more accurate and efficient assistance.