End-User Model Selection for Agentic Chat in the IDE
This epic is to capture work by the Custom Models and Duo Chat team to enable end-user model selection for Agentic Chat in the IDE.
This epic builds off of [previous work](https://gitlab.com/groups/gitlab-org/-/epics/18818) to enable Model Selection controls for top-level administrators at:
* Namespace-level admin on GitLab.com
* Instance-level admins on Self-Managed and Dedicated accessing Duo features via the GitLab.com AIG/WFS
As well as [previous work](https://gitlab.com/groups/gitlab-org/-/epics/19251) to enable end-user model selection for GitLab.com users for Agentic Chat in the GitLab UI, and [work](https://gitlab.com/groups/gitlab-org/-/epics/19344) to enable end-user model selection for Self-Managed and Dedicated users accessing Duo via the Gitlab.com AI Gateway.
**In Scope**
This epic focuses on the next iteration to enable end-user model selection for customers. As such, this epic will focus on:
* End-user model selection in the IDE (VSCode plus any others identified by the Chat team) for all customers accessing Agentic Chat via the GitLab hosted AI Gateway
* a limited scope of supported models - Claude 3.5 Sonnet, Claude 3.7 Sonnet, and Claude 4 Sonnet
**Out of Scope**
* model selection for Code Suggestions agents in the IDE
* admin-defined allowable models
* new UI side panel integration
* additional model family support (i.e. OpenAI GPTs or Google Gemini)
### Definition of Done
* If the instance owner on Self-Managed or Dedicated OR the namespace owner on GitLab.com has pinned a specific model for use with that instance, there is no action or model choice for the end user within that instance/namespace (pinned model is enforced)
* end-user can see the chosen model set in the model drop down, but cannot change
* If the instance administrator had NOT pinned a specific model for use with that instance, then the end-user can choose from among the available Gitlab AI Vendor models
* for this first iteration, those models are restricted to Claude 3.5 Sonnet, Claude 3.7 Sonnet, and Claude 4 Sonnet
* if the end-user changes their model choice, the conversation does not persist
* user model preferences do not persist from the IDE to the GitLab UI
epic