SIGN IN SIGN UP

Don't emit empty <customizationsUpdate> on terminal steering turns (#318128)

Don't emit empty <customizationsUpdate> on steering turns

Fixes #317763

Terminal steering requests sent from runInTerminalTool.ts don't forward an
instructionContext, so chatServiceImpl short-circuits collectInstructions()
to [] and the vscode.customizations.index variable is absent for those turns.

The old freeze/drift consumer in agentPrompt.tsx treated that absence as
'all customizations removed' via 'effectiveCurrent = currentValue ?? ''',
emitting an empty <customizationsUpdate> block whose own text says it
'supersedes the system prompt' — falsely telling the model that all
skills/instructions/agents had been wiped mid-task and churning the cache
tail.

Gate drift emission on 'currentValue !== undefined' so an absent variable
preserves the frozen system-prompt listing instead of falsely signalling
removal. Also graduates the experimental
'github.copilot.chat.freezeCustomizationsIndex' setting (it was already
default true on onExp).
B
Bhavya U committed
7d45e9906edb29546335e8af5fbb669b280c1cd9
Parent: 8e2b261
Committed by GitHub <noreply@github.com> on 5/24/2026, 1:45:49 AM