This feature is only available in Visual Studio Code.
Modes in Code Assistant are specialized personas that tailor the assistant's behavior to your current task. Each mode comes with distinct features, expertise, and access levels to help you achieve your specific goals.
Modes remember the model you used in the last interaction. When you switch modes, Code Assistant will automatically select that model, i.e., you do not need to set it manually. You can assign different models to different modes (e.g., Gemini 2.5 Preview for the Architect mode and Claude Sonnet 3.7 for the Code mode), and Code Assistant will seamlessly switch models when you change modes.
Additionally, your selected mode persists across sessions: Code Assistant remembers which mode you were using when you return.
Advantages:
Task specialization: You get precisely the help you need for your current activity.
Security control: Prevent unintended file modifications when focused on planning or training.
Focused interactions: Get responses optimized for your current workflow stage.
Workflow optimization: Seamlessly transition between planning, implementation, debugging, and training.
Switching between modes
You can switch modes by doing one of the following:
In the chat interface, click the selector below the input field and choose the preferred mode.
In the chat input field, type /architect, /ask, /debug, /code, or /orchestrator at the beginning of your message. This will switch the mode and clear the input field.
Use a keyboard shortcut. Each press cycles through the available modes.
Operating system
Shortcut
macOS
Cmd + .
Windows
Ctrl + .
Linux
Ctrl + .
Click mode-switching suggestions that Code Assistant proactively offers when contextually appropriate.
Built-in modes
Code mode (default)
Parameter
Description
Name
Code
Description
Experienced software engineer with deep expertise in programming languages, design patterns, and best practices
Available tools
Full access to all tool groups: read, edit, browser, command, mcp.
Focus
Writing code, implementing features, debugging, and general development
Features
No restrictions on tools: complete flexibility for all coding-related tasks
Ask mode
Parameter
Description
Name
Ask
Description
Knowledgeable technical assistant focused on providing thorough, detailed responses. Less likely to switch to code implementation unless explicitly requested and may use diagrams to clarify concepts.
Available tools
Limited access: read, browser, or mcp only. Cannot edit files or run commands.
Focus
Explaining code, clarifying concepts, and offering technical expertise
Features
Optimized for rich, informative responses, often enhanced with diagrams for clarity, without making changes to your project
Architect mode
Parameter
Description
Name
Architect
Description
Experienced technical leader and planner helping you design systems and create implementation roadmaps
Available tools
Access to read, browser, mcp and limited access to edit (Markdown files only)
Focus
System design, high-level planning, and architectural discussions
Features
Follows a structured approach from information gathering to detailed planning.
Debug mode
Parameter
Description
Name
Debug
Description
Problem-solving expert specializing in systematic debugging and diagnostics
Available tools
Full access to all tool groups: read, edit, browser, command, mcp.
Focus
Identifying bugs, diagnosing issues, and resolving complex problems
Features
Adopts a structured approach to analysis, narrowing down possibilities, and troubleshooting. Includes custom instructions for reasoning, clarifying hypotheses, adding logs, and confirming changes before applying fixes.
Orchestrator mode (boomerang)
Parameter
Description
Name
Orchestrator
Description
Strategic workflow orchestrator (boomerang) that breaks down complex tasks and delegates them to specialized modes.
Available tools
No direct access to tools. Leverages the new_task tool to delegate work to other modes.
Focus
Managing multi-step projects, coordinating between different modes, and automating complex workflows.
Features
Leverages the new_task tool to assign subtasks to other modes.
Configuring modes
Customize Code Assistant behavior by modifying existing modes or creating new ones. Define tool access, file permissions, and behavioral instructions to enforce team standards or build assistants tailored to specific objectives.
Each group of tools grants specific capabilities to a mode:
read: Reading and searching files and file lists.
edit: Modifying and creating files.
browser: Performing web browsing and searches.
command: Running commands in the terminal.
mcp: Interacting with MCP servers.
For detailed information about available tools, see this guide.