Agents Window does not forward Copilot CLI experiment settings (chat.agentHost.copilot.*, chat.copilot.*) into the local agent host root config
- Dominant language
- TypeScript
- Stars
- 193k
- Forks
- 42.4k
- PR merge metrics
- PR metrics pending
Description
## Problem
`AgentHostCopilotCliSettingsContribution` is the only thing that forwards the Copilot CLI experiment settings from VS Code configuration into the local agent host's root config (`AgentHostRootConfigForwarder`). It is registered solely by the workbench:
- `src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHost.contribution.ts:38`
(imported via `src/vs/workbench/workbench.common.main.ts`)
The standalone Agents Window (`src/vs/sessions`) has its own local-agent-host contribution module and does **not** register it:
- `src/vs/sessions/sessions.desktop.main.ts:247-255` imports `./contrib/providers/agentHost/browser/localAgentHost.contribution.js`
- `src/vs/sessions/contrib/providers/agentHost/browser/localAgentHost.contribution.ts:89-94` registers `AgentHostContribution`, `AgentHostTerminalContribution`, `AgentHostAllowSignedOutWhenUsableContribution`, the notification contributions, and `LocalAgentHostContribution` — but not `AgentHostCopilotCliSettingsContribution`.
## Effect
In the Agents Window, toggling any of the following has no effect on the local agent host — the host stays at the schema default for each root-config key:
| Setting | Root-config key |
|---|---|
| `chat.agentHost.copilotSdk.logLevel` | `copilotSdkLogLevel` |
| `chat.agentHost.opus48Prompt.enabled` | `opus48Prompt` |
| `chat.agentHost.copilot.toolSearch.enabled` | `toolSearchEnabled` |
| `chat.agentHost.copilot.toolSearch.deferThreshold` | `toolSearchDeferThreshold` |
| `chat.agentHost.copilot.reasoningSummary.enabled` | `reasoningSummary` |
| `chat.agentHost.copilot.multiTurnContextRouting.enabled` | `multiTurnContextRouting` |
| `chat.copilot.subagentModelGuidance.enabled` (#332089) | `subagentModelGuidance` |
| `chat.agentHost.copilot.modelCapabilityOverrides` | `modelCapabilityOverrides` |
Notably `toolSearchEnabled` defaults to `true` in the schema, so tool search cannot be turned *off* from the Agents Window; the experiment-gated keys default to `false` and cannot be turned *on*.
`AgentHostTerminalContribution` (which forwards `enableCustomTerminalTool` via the same forwarder) *is* registered in the sessions path, so the forwarder machinery itself works there — only the Copilot CLI settings contribution is missing.
## Context
Surfaced during review of #332089. Not introduced by that PR — the gap predates it and applies to every key above.
Contributor guide
Assessment
This issue has not been assessed yet.