microsoft / microsoft/vscode

Agents Window does not forward Copilot CLI experiment settings (chat.agentHost.copilot.*, chat.copilot.*) into the local agent host root config

Open
#332,241 0 comments 0 reactions 1 assignee Claimed by @bhavyaus View on GitHub
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

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.