---
metadata:
  - name: generator
    content: Diplodoc Platform v5.50.6
alternate:
  - https://sourcecraft.dev/portal/docs/en/code-assistant/operations/chat-prompts.md
  - https://sourcecraft.dev/portal/docs/ru/code-assistant/operations/chat-prompts.md
title: Using modes in SourceCraft Code Assistant
description: How to use modes in SourceCraft Code Assistant to tailor the assistant's behavior to different tasks.
---
> **Documentation Index:** Fetch the complete configuration index at https://sourcecraft.dev/portal/docs/en/llms.txt


# Using modes in SourceCraft Code Assistant

<!-- source: en/_includes/code-assistant/only-in-vscode.md -->
{% note warning %}

This feature is only available in Visual Studio Code.

{% endnote %}
<!-- endsource: en/_includes/code-assistant/only-in-vscode.md -->

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 {#switching-modes}

You can switch modes by doing one of the following:
* In the chat interface, click the <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16"><path fill="currentColor" fill-rule="evenodd" d="M13.03 10.53a.75.75 0 0 1-1.06 0L8 6.56l-3.97 3.97a.75.75 0 1 1-1.06-1.06l4.5-4.5a.75.75 0 0 1 1.06 0l4.5 4.5a.75.75 0 0 1 0 1.06" clip-rule="evenodd"/></svg> 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 {#built-in-modes}

### Code mode (default) {#code-mode}

| 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`, and `mcp`. |
| Focus | Writing code, implementing features, debugging, and general development |
| Features | No restrictions on tools: complete flexibility for all coding-related tasks |

### Ask mode {#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: only `read`, `browser`, and `mcp`. 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 {#architect-mode}

| Parameter | Description |
| --- | --- |
| Name | `Architect` |
| Description | Experienced technical leader and planner helping you design systems and create implementation roadmaps |
| Tool access | 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 {#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`, and `mcp`. |
| Focus | Identifying bugs, diagnosing issues, and resolving complex problems |
| Features | Adopts a structured approach to analysis, narrowing down possibilities, and troubleshooting. Includes user instructions for reasoning, clarifying hypotheses, adding logs, and confirming changes before applying fixes. |

### Orchestrator mode (boomerang) {#orchestrator-mode}

| 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 {#configure-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 more on available tools, see [this article](https://sourcecraft.dev/portal/docs/en/code-assistant/operations/agent/how-tools-work.md).

#### Useful links {#see-also}

* [Skills in SourceCraft Code Assistant](https://sourcecraft.dev/portal/docs/en/code-assistant/operations/agent/skills.md)
* [Slash (/) commands in SourceCraft Code Assistant](https://sourcecraft.dev/portal/docs/en/code-assistant/operations/agent/slash-commands.md)
* [Custom rules in SourceCraft Code Assistant](https://sourcecraft.dev/portal/docs/en/code-assistant/operations/chat-rules.md)

