doc/user/duo_agent_platform/model_selection.md
{{< details >}}
{{< /details >}}
Every GitLab Duo feature uses a default model. GitLab might update default models to optimize performance. For some features, you can select a different model, which persists until you change it.
This table lists the default model for each feature in the Agent Platform.
| Feature | Model |
|---|---|
| GitLab Duo Agentic Chat | Claude Sonnet 4.6 Vertex |
| Code Review Flow | Claude Sonnet 4.6 Vertex |
| All other agents | Claude Sonnet 4.6 Vertex |
This table lists the models you can select for features in the Agent Platform.
| Model | GitLab Duo Agentic Chat | Code Review Flow | All other agents |
|---|---|---|---|
| Claude Fable 5 <sup>1</sup> | {{< yes >}} | {{< no >}} | {{< yes >}} |
| Claude Sonnet 4.5 | {{< yes >}} | {{< yes >}} | {{< yes >}} |
| Claude Sonnet 4.6 | {{< yes >}} | {{< yes >}} | {{< yes >}} |
| Claude Haiku 4.5 | {{< yes >}} | {{< no >}} | {{< yes >}} |
| Claude Opus 4.5 | {{< yes >}} | {{< no >}} | {{< yes >}} |
| Claude Opus 4.6 | {{< yes >}} | {{< no >}} | {{< yes >}} |
| Claude Opus 4.7 | {{< yes >}} | {{< no >}} | {{< yes >}} |
| Claude Opus 4.8 | {{< yes >}} | {{< no >}} | {{< yes >}} |
| Gemini 3.5 Flash | {{< yes >}} | {{< no >}} | {{< yes >}} |
| GPT-5 | {{< yes >}} | {{< no >}} | {{< yes >}} |
| GPT-5.1 | {{< yes >}} | {{< no >}} | {{< yes >}} |
| GPT-5.2 | {{< yes >}} | {{< yes >}} | {{< yes >}} |
| GPT-5.5 <sup>1</sup> | {{< yes >}} | {{< no >}} | {{< yes >}} |
| GPT-5 Codex | {{< yes >}} | {{< no >}} | {{< yes >}} |
| GPT-5.2 Codex | {{< yes >}} | {{< no >}} | {{< yes >}} |
| GPT-5.3 Codex | {{< yes >}} | {{< yes >}} | {{< yes >}} |
| GPT-5 Mini | {{< yes >}} | {{< no >}} | {{< yes >}} |
| GPT-5.4 Mini | {{< yes >}} | {{< no >}} | {{< yes >}} |
| GPT-5.4 Nano | {{< yes >}} | {{< no >}} | {{< yes >}} |
Footnotes:
{{< details >}}
{{< /details >}}
{{< history >}}
ai_model_switching. Disabled by default.duo_agent_platform_model_selection. Disabled by default.ai_model_switching enabled.duo_agent_platform_model_selection enabled in GitLab 18.6.ai_model_switching removed in GitLab 18.7.duo_agent_platform_model_selection removed in GitLab 18.9.{{< /history >}}
You can select a model to be the default model for a feature in a top-level group. The model that you select applies to that feature for all child groups and projects.
Prerequisites:
To select a model for Agentic Chat:
In the top bar, select Search or go to and find your group.
In the left sidebar, select Settings > GitLab Duo.
Select Configure features.
Go to the GitLab Duo Agentic Chat section.
Select a model from the dropdown list to set as the default model.
Optional. To restrict what other models users can select for Agentic Chat:
[!note] If you do not restrict Agentic Chat to specific models, users can choose from all GitLab-managed models.
To select a model for a non-Agentic Chat feature:
To specify a model for the GitLab Duo CLI, see select a model.
For many use cases, starting with a faster, more cost-effective model like Claude Haiku 4.5 or GPT-5.4 Mini can be the optimal approach. For this approach:
You can use this approach for the following:
When selecting models other than the default, you might encounter the following issues.
If you are using the default GitLab model for a GitLab Duo AI-native feature, GitLab might change the default model without notifying the user to maintain optimal performance and reliability.
If you have selected a specific model for a GitLab Duo AI-native feature, and that model is not available, there is no automatic fallback. The feature that uses this model is unavailable.
When using a GitLab Duo feature with a selected model, you might get an error that indicates that you need to set a default GitLab Duo namespace.
This issue occurs when you belong to multiple GitLab Duo namespaces or work on a project locally that does not have a GitLab remote configured.
To resolve this, set a default GitLab Duo namespace.
When selecting a model for Agentic Chat in your IDE, you might find that model selection does not work.
To resolve this: