microsoft / microsoft/vscode

Add setting to disable automatic AI terminal profile grouping in the terminal dropdown

Open
#332,673 1 comment 0 reactions 1 assignee Claimed by @meganrogge View on GitHub
feature-request terminal-profiles
Dominant language
TypeScript
Stars
193k
Forks
42.4k
PR merge metrics
PR metrics pending

Description

### Problem

The terminal panel dropdown automatically groups terminal profiles whose **name** contains `claude` or `copilot` (case-insensitive) into a separate "AI" section at the top, split off from the rest by a divider. This is done solely based on the profile name, with no way to opt out.

The logic is hardcoded in `src/vs/workbench/contrib/terminal/browser/terminalMenus.ts`:
```js
function isAiProfileName(name: string): boolean {
const lowerCaseName = name.toLowerCase();
return lowerCaseName.includes('copilot') || lowerCaseName.includes('claude');
}
```
and fed by `getTerminalActionBarArgs()` → `splitProfiles()` / `splitContributedProfiles()`.

Users who define custom terminal profiles named after their AI coding agents (e.g. `Claude Code`) get them automatically pulled into this AI group and separated from structurally identical profiles — with no setting to disable it. The only workaround is to rename the profile, which changes the display name the user actually wants.

### Steps to reproduce

1. In `settings.json`, add a terminal profile whose name contains "claude" or "copilot", e.g.:
```json
"terminal.integrated.profiles.windows": {
"Claude Code": {
"path": "C:\\Program Files\\Git\\bin\\bash.exe",
"args": ["--init-file", "C:/leeyi/config/vscode-cc.sh"]
},
"PowerShell": { "source": "PowerShell" }
}
```
2. Open the terminal panel and click the `+` dropdown (the terminal "Launch Profile" dropdown).
3. Observe the `Claude Code` profile is placed at the top in its own group, separated from other profiles (which are structurally identical) by a divider.

### Expected

Structurally-identical custom profiles should stay in the main profile group, or at minimum the user should be able to opt out of the AI grouping.

### Suggested solution

Make the AI-profile grouping configurable. Options:
- A global setting, e.g. `terminal.integrated.profiles.aiGrouping` = `"auto" | "always" | "never"` (default `"auto"`), where `"never"` disables the name-based grouping.
- Or a per-profile flag in the profile schema, e.g. `"aiGroup": false`.

### Notes

The name-string heuristic is fragile — profiles named `my-claude-shell`, `claude-code-custom`, etc. would also be grouped unexpectedly even if they are not AI agents. `isAiContributedProfile()` additionally special-cases the `github.copilot-chat` and `anthropic.claude-code` extension ids.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.