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