Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
661 commits
Select commit Hold shift + click to select a range
ff7190a
agentHost: link workspace references in responses (#324326)
roblourens Jul 4, 2026
5f595ae
Cache local agent host sessions for instant startup display (#324328)
roblourens Jul 4, 2026
c815614
agentHost: fix stalled completion duration (#324337)
roblourens Jul 5, 2026
5cfa715
sessions: refine the single-pane detail-panel layout (#324348)
sandy081 Jul 5, 2026
4f5e1a3
sessions: address CCR feedback on single-pane detail panel (#324349)
sandy081 Jul 5, 2026
0514584
Agent host: show tool intention on terminal tool cards (#324347)
roblourens Jul 5, 2026
e21571c
Agents - fix issue with reviewed/unreviewed state detection (#324400)
lszomoru Jul 5, 2026
f282fac
Merge branch 'main' into agents/unified-model-picker-implementation-6…
vritant24 Jul 5, 2026
02cf79c
Merge pull request #324127 from microsoft/agents/unified-model-picker…
vritant24 Jul 5, 2026
d53a614
sessions: only show blocked sessions in non-stable builds (#324411)
benibenj Jul 5, 2026
3379a34
Automations: Wire into customizations UI (#324167)
benvillalobos Jul 5, 2026
94c155c
sessions: single-pane layout controller cleanup (#324410)
sandy081 Jul 5, 2026
e6ab937
chat: add turn status pills for agent sessions (#324413)
benibenj Jul 5, 2026
eddcc76
Remove toggle automations command (#324415)
benvillalobos Jul 6, 2026
bbefcbd
fix: improve user prompt handling by ignoring non-text content and ad…
DonJayamanne Jul 6, 2026
79eaefd
Fix codeblock spacing when it follows a list in chat (#324340)
roblourens Jul 6, 2026
86df0e5
Fix multiple askQuestions in Agent Host (#323943)
jruales Jul 6, 2026
9e11dcb
fix: hide hover when mouse down not on hover (#324233)
aiday-mar Jul 6, 2026
f4f16f1
Fix flaky Copilot customizations integration test (settle-aware notif…
alexdima Jul 6, 2026
ac68c0f
Update endgame notebook milestones to 1.128.0 (#324432)
vs-code-engineering[bot] Jul 6, 2026
7bbfe96
Bump version to 1.129.0 (#324433)
vs-code-engineering[bot] Jul 6, 2026
46e3371
remove padding from changed view to make it aligned with rest of chat…
justschen Jul 6, 2026
25d59f1
fix: checking position is valid before accessing line content (#324235)
aiday-mar Jul 6, 2026
f239f20
Merge pull request #324255 from microsoft/guard-agent-sdk-native-deps
Giuspepe Jul 6, 2026
8471afa
Revert "a11y: Update placeholder foreground colors in input fields fo…
mrleemurray Jul 6, 2026
baf7e19
Only show completion feedback command for paid users (#324469)
ulugbekna Jul 6, 2026
e29d580
Merge branch 'main' into mrleemurray/obliged-plum-stork
mrleemurray Jul 6, 2026
c85ed68
add exp prop
Giuspepe Jul 6, 2026
7d68636
Merge pull request #324479 from microsoft/agents/add-chat-automations…
Giuspepe Jul 6, 2026
ef9a352
Style overrides: Improve bottom panel layout and margin behavior (#32…
mrleemurray Jul 6, 2026
cacf666
fix: update activity bar dimensions for consistency across layouts
mrleemurray Jul 6, 2026
e9e2511
fix: update activity bar indicator description and adjust test case f…
mrleemurray Jul 6, 2026
8816abd
fix: update activity bar dimensions for floating panels support
mrleemurray Jul 6, 2026
c9f573f
Style overrides: Remove unused scroll shadow styles for lists and tre…
mrleemurray Jul 6, 2026
2fe88e4
fix: deleting whitespace (#324211)
aiday-mar Jul 6, 2026
d2fa20b
Fix chat persistence issue on session restart in Agents Window (#324456)
sandy081 Jul 6, 2026
8bdc1ff
Fix agent host SDK download progress notification (#324455, #324461)
Giuspepe Jul 6, 2026
f3e6c09
Fix subagent display in chat transcript by synthesizing chatResource …
sandy081 Jul 6, 2026
e1f9e64
nes: dedupe NextEditProvider streamed-edit handling into shared helpe…
ulugbekna Jul 6, 2026
419579c
Potential fix for pull request finding
mrleemurray Jul 6, 2026
f72a7ea
fix #324470
vritant24 Jul 6, 2026
fcad864
Style overrides: Add border-radius and box-shadow for terminal resize…
mrleemurray Jul 6, 2026
7d90ed6
address comment
vritant24 Jul 6, 2026
425c1cb
fix: refactor action height calculation and add test for floating mod…
mrleemurray Jul 6, 2026
26c6c30
add test
vritant24 Jul 6, 2026
fd6127c
Agent Host changes for vritant24/324466
vritant24 Jul 6, 2026
707e5ea
Remove unused import in chatModelPicker test file
vritant24 Jul 6, 2026
27a9737
Merge branch 'main' into dev/vritant24/settingDesc
vritant24 Jul 6, 2026
546f314
add comment
vritant24 Jul 6, 2026
0d6f515
AgentHost - exclude changes to the `.git` file/folder (#324506)
lszomoru Jul 6, 2026
0557399
sessions: single-pane add-tab tweaks and tab-bar border (#324514)
sandy081 Jul 6, 2026
bacbfc3
Style overrides: Adjust padding and margin for SCM, search, and exten…
mrleemurray Jul 6, 2026
83436e1
Merge pull request #324532 from microsoft/dev/vritant24/settingDesc
vritant24 Jul 6, 2026
6996127
Style overrides: Add rounded corners for split buttons in action drop…
mrleemurray Jul 6, 2026
7b0eba2
Merge pull request #324535 from microsoft/vritant24/324466
vritant24 Jul 6, 2026
658b4ce
Style override: Add style override class for Modern UI Update experim…
mrleemurray Jul 6, 2026
3b37c12
Codex: create a managed temp folder when no working directory is supp…
Giuspepe Jul 6, 2026
32f1721
add setting to use te main BYOK model as the default copilot utility …
vritant24 Jul 6, 2026
f3bad4b
Refactor BYOK utility model settings to use a unified default configu…
vritant24 Jul 6, 2026
956399c
Potential fix for pull request finding
vritant24 Jul 6, 2026
641ff5d
Merge branch 'main' into agents/add-setting-use-main-agent-byok
vritant24 Jul 6, 2026
ad60482
Skip prompt categorization for BYOK models in PromptCategorizerService
vritant24 Jul 6, 2026
cb03bb1
Add unit tests for PromptCategorizerService to handle BYOK and non-BY…
vritant24 Jul 6, 2026
eb7c3a3
build(deps-dev): bump tmp from 0.2.6 to 0.2.7 in /test/integration/br…
dependabot[bot] Jul 6, 2026
66a3964
fix comment
vritant24 Jul 6, 2026
bf3ef3c
feat(agentHost): enable BYOK models by default in agent host configur…
vritant24 Jul 6, 2026
3115ec3
Fix managed-settings model key and make enabledPlugins additive (#324…
joshspicer Jul 6, 2026
17ba44d
Merge pull request #324570 from microsoft/agents/add-setting-use-main…
vritant24 Jul 6, 2026
682a758
Merge pull request #324576 from microsoft/agents/prevent-prop-categor…
vritant24 Jul 6, 2026
ae8bc5c
docs(agentHost): reflect BYOK on-by-default in JSDoc and runtime fall…
Copilot Jul 6, 2026
e11a344
build(deps-dev): bump tar from 7.5.11 to 7.5.19 in /build/npm/gyp (#3…
dependabot[bot] Jul 6, 2026
e8abd58
agentPlugins: align plugin MCP root handling (#324603)
connor4312 Jul 6, 2026
91190ee
Improve file list handling and UI elements (#324496)
benibenj Jul 6, 2026
4919fdd
Copilot CLI agent-host: experimentation overrides + config split (#32…
bhavyaus Jul 6, 2026
4895ba3
Merge pull request #324580 from microsoft/dev/vritant24/enableByokAh
vritant24 Jul 6, 2026
7b62f31
show manageModels action in editor window agent host model picker
vritant24 Jul 6, 2026
110ba75
Update Fig spec for Azure Developer CLI (azd) (#321221)
JeffreyCA Jul 6, 2026
4fe0564
Fix second Rerun Last Task failing to launch for reevaluateOnRerun ta…
dobbydobap Jul 6, 2026
4b13341
Update subagent pill click behavior for single subagent case (#324600)
sandy081 Jul 6, 2026
6e1a936
[cherry-pick] [release/1.128] Hide Tools Marketplace in sessions window
vs-code-engineering[bot] Jul 6, 2026
57b52f2
agentHost: handle stale custom agent selections
connor4312 Jul 7, 2026
a888c27
agentHost: fix stale agent resume fallback
connor4312 Jul 7, 2026
35fc2d1
Merge pull request #324654 from microsoft/agents/stale-custom-agent-r…
connor4312 Jul 7, 2026
7c4cdf6
Make localIndex ON by default (#324651)
vijayupadya Jul 7, 2026
e185929
Preserve explicit local chat editor sessions (#324672)
anthonykim1 Jul 7, 2026
f12ddfd
Automations TPI feedback (#324659)
benvillalobos Jul 7, 2026
fa84c09
Bump Copilot npm packages (#324667)
DonJayamanne Jul 7, 2026
facc29a
Optically center chat send button icon (#324634)
hawkticehurst Jul 7, 2026
bbff87c
Remove extra empty space in welcome tab (#324641)
hawkticehurst Jul 7, 2026
62c7ad8
agentHost: route GitHub protected resources through a GitHub Enterpri…
TylerLeonhardt Jul 7, 2026
c9dda3b
feat: restore asar for node_modules (#324084)
deepak1556 Jul 7, 2026
e656eb8
sessions: single-pane layout as a sibling controller with composed st…
sandy081 Jul 7, 2026
642147a
Include request UUID in completion feedback (fix empty telemetry sect…
ulugbekna Jul 7, 2026
47ec968
updates markdown editor and enables comment feature
hediet Jul 6, 2026
93ad71c
Fixes tsconfig
hediet Jul 6, 2026
b3978bb
Use startColumn in growUntilVariableBoundaries (#324523)
yavanosta Jul 7, 2026
16d5afb
Cache assignment filter results per filter in the assignment service …
benibenj Jul 7, 2026
ad53927
Merge pull request #324488 from microsoft/mrleemurray/doubtful-pink-s…
mrleemurray Jul 7, 2026
21bc44a
Agents - fix "Open Changes" alt action (#324713)
lszomoru Jul 7, 2026
3c900ab
Style overrides: Adjust padding and margin for quick input elements i…
mrleemurray Jul 7, 2026
36984a0
Replace hard coded values with dynamic methods (#324709)
dbaeumer Jul 7, 2026
9d65f09
Add defaultMaxResults parameter to FindTextInFilesTool options (#324733)
dbaeumer Jul 7, 2026
4700614
[cherry-pick] Revert placeholder foreground colors in input fields fo…
vs-code-engineering[bot] Jul 7, 2026
03687d9
Refactor gettingStarted.css to use CSS variables (#324729)
mrleemurray Jul 7, 2026
1e486d1
Claude: defer restore-reachable SDK reads until SDK is local
Giuspepe Jul 7, 2026
4e6a20c
Source turn status pills from the session output stream (#324719)
benibenj Jul 7, 2026
dd766a8
Refactor font size and weight tokens for consistency (#324738)
mrleemurray Jul 7, 2026
af65f4c
NES: report per-section token counts in telemetry and log context (#3…
ulugbekna Jul 7, 2026
2ee9d8e
Unstick a pinned tab dragged to the start of the unpinned row (#324734)
dobbydobap Jul 7, 2026
9f5fa1e
Merge pull request #324737 from microsoft/cherry-pick/324735
Giuspepe Jul 7, 2026
f2972e6
Refactor CSS for bookmarks and getting started components (#324747)
mrleemurray Jul 7, 2026
135caaa
Agents - show blocked sessions widget regardless of sidebar and hide …
benibenj Jul 7, 2026
87d66b3
Agent sessions: commit each concurrent new-session send to its own se…
Giuspepe Jul 7, 2026
87b6a1a
feat(chat): Enhance chat session management and user preferences (#32…
DonJayamanne Jul 7, 2026
6a321ce
sessions: default CI checks pane to at most a third of changes view h…
benibenj Jul 7, 2026
3d1ff13
Refactor agent sessions header actions layout (#324761)
mrleemurray Jul 7, 2026
9ec3f79
sessions: hide changes and workspace pills in quick chat session head…
sandy081 Jul 7, 2026
b08e380
fix: make sure register handler when ipc emitter add listener (#323663)
theanarkh Jul 7, 2026
6a2163b
sessions: persist workspaceless tag in agent host session cache (#324…
sandy081 Jul 7, 2026
2368071
Merge pull request #324768 from microsoft/agents/manage-models-agent-…
vritant24 Jul 7, 2026
1418c6b
support top provider context length in open router
vritant24 Jul 7, 2026
4fbcfed
Agents - add Open File action to session changes diff editor (#324771)
sandy081 Jul 7, 2026
1c2dde9
Use AnimatedCounterWidget for the changes pill above chat input (#324…
benibenj Jul 7, 2026
caf9a8d
Voice Mode: warn when microphone is hardware-muted (#324776)
meganrogge Jul 7, 2026
dc051d1
contextWindow for BYOK models
vritant24 Jul 7, 2026
ed41d15
Merge remote-tracking branch 'origin/main' into agents/debug-fix-test…
Giuspepe Jul 7, 2026
0e64743
change the default to open editors to inside editor instead of modal …
sandy081 Jul 7, 2026
6ed31a3
Add validation for deprecated design tokens (#324782)
mrleemurray Jul 7, 2026
0542f07
Merge pull request #324792 from microsoft/agents/debug-fix-test-plan-…
Giuspepe Jul 7, 2026
833244d
Custom editors opt out of diff/merge by default via `never` priority
hediet Jul 7, 2026
5880e4c
fix: handle failed terminal quick fix model request to avoid unhandle…
vs-code-engineering[bot] Jul 7, 2026
5fbe3eb
Address PR review: clamp token limits and require input/context window
vritant24 Jul 7, 2026
4ea4650
Fall back to a custom diff editor for binary content
hediet Jul 7, 2026
275befb
fix: guard notebook sticky-scroll against evicted cell (fixes #324790…
vs-code-engineering[bot] Jul 7, 2026
ac42efa
Merge pull request #324796 from microsoft/agents/issue-fix-plan-and-t…
vritant24 Jul 7, 2026
afcc43c
feat: update Kimi family model capabilities to match BYOK models
vritant24 Jul 7, 2026
278ac59
[Cherry-Pick] Remove IStorageSourceFilter (#323480) (#324810)
benvillalobos Jul 7, 2026
bf3018c
chat: preserve shell intention command height (#324800)
roblourens Jul 7, 2026
bffa61d
Merge pull request #324643 from microsoft/cherry-pick/324636
connor4312 Jul 7, 2026
19568b7
feat(agentHost): emit restricted conversation.messageText trajectory …
zhichli Jul 7, 2026
9b2dd75
chat: keep shell intention chevron adjacent (#324812)
roblourens Jul 7, 2026
debbc28
chat: fix scroll-follow and spacing for queued/steering messages (#32…
connor4312 Jul 7, 2026
4f9cbeb
Merge pull request #324814 from microsoft/dev/vritant24/kimiByokPrompt
vritant24 Jul 7, 2026
5c8dc63
[cherry-pick] [release/1.128] Update GPT-5.6 model family detection (…
vs-code-engineering[bot] Jul 7, 2026
a012939
Preserve browser view attachments in agent sessions (#324630)
dileepyavan Jul 7, 2026
04c9ab5
Prompt timeline rail for the Agents window (#324131)
osortega Jul 7, 2026
e7111dc
Handle file paths with spaces in agent host link instructions (#324829)
roblourens Jul 7, 2026
0e12558
sessions: add Toggle Inline View and Expand/Collapse All to Changes e…
sandy081 Jul 7, 2026
d04a990
Refactor CopilotSlashCommandCompletionProvider to streamline command …
DonJayamanne Jul 7, 2026
66dd55f
sessions: single-pane editor tab bar, menus, and Changes polish (#324…
sandy081 Jul 7, 2026
8fa554d
feat(chat): enhance model selection logic and session handling (#324843)
DonJayamanne Jul 7, 2026
f507e49
Normalize file URIs before the fetch tool's workspace membership chec…
TylerLeonhardt Jul 7, 2026
8c1f068
Add voice client turn config (#324846)
meganrogge Jul 8, 2026
558b75d
Add voice options (#324850)
meganrogge Jul 8, 2026
62784d6
Implement detailed context widget for AHP (#324840)
lramos15 Jul 8, 2026
89bc382
fix: restrict asar esm hook resolution to app resources (#324851)
deepak1556 Jul 8, 2026
dd668b4
Restrict sovereign-cloud config in untrusted workspaces (#324853)
TylerLeonhardt Jul 8, 2026
9cc1676
Show friendly voice names in voice selection setting (#324852)
meganrogge Jul 8, 2026
297ec44
[Cherry-Pick] customization UI: polish source folder pickers (#323527…
benvillalobos Jul 8, 2026
0cd1884
rehaul chat input padding and spacing and icons (#323977)
justschen Jul 8, 2026
5928613
fix: builtin resolution of electron modules via asar hook (#324861)
deepak1556 Jul 8, 2026
7701704
Merge pull request #324807 from microsoft/zhichli/restr2nd
zhichli Jul 8, 2026
af32fc9
Editor - resource label should use test-overflow (#324819)
lszomoru Jul 8, 2026
3c21cc6
Fix client tools hanging after Copilot SDK bump (1.0.6-preview) (#324…
roblourens Jul 8, 2026
7f476f2
Copilot SDK integration pipeline (#324625)
pwang347 Jul 8, 2026
9e31be7
sessions: restore last active editor when switching sessions in singl…
sandy081 Jul 8, 2026
1a91b45
Add Claude Sonnet 5 and Opus 4.8 prompt configurations (#324866)
bhavyaus Jul 8, 2026
9269826
Revert "feat: restore asar for node_modules" (#324875)
deepak1556 Jul 8, 2026
d0a79a8
Agent Host changes for agents/fix-collapsed-view-spacing-issue
benibenj Jul 8, 2026
8c7f8a1
Agents - remove the `'--no-gpg-sign'` flag when committing (#324880)
lszomoru Jul 8, 2026
6d740a9
Add committing instructions (#324881)
alexr00 Jul 8, 2026
9053cb2
sessions: scope last-turn changes pill to the viewed chat (#324788)
benibenj Jul 8, 2026
ba36eed
Add editor type dropdown to the breadcrumbs bar
hediet Jul 7, 2026
4c675b3
add watch client transpile task to agents window (#324885)
sandy081 Jul 8, 2026
9021c1b
editor: fix Agents window multi-diff header overlap (#324889)
sandy081 Jul 8, 2026
be9eada
Merge pull request #324878 from microsoft/agents/fix-collapsed-view-s…
benibenj Jul 8, 2026
b9c7cb0
sessions: scope changes Open File action to single-pane editor (#324891)
sandy081 Jul 8, 2026
92c3301
Fix active item indicator offsets in compact activity bar (#324896)
mrleemurray Jul 8, 2026
e41eb0d
Style overrides: Add border-radius to floating panels content (#324898)
mrleemurray Jul 8, 2026
76819ce
Add terminal test to chat scenario tests (#322940)
alexr00 Jul 8, 2026
a2b5f48
Style overrides: Enhance layout of title actions and labels in Run an…
mrleemurray Jul 8, 2026
8aea5ea
sessions: open changes pill in a live multi-diff editor (#324908)
benibenj Jul 8, 2026
953f1f4
NES: yield additive cursor-line edit first for multi-line patches (#3…
ulugbekna Jul 8, 2026
f7ecca9
Style: Adjust sash positioning for collapsed horizontal panels
mrleemurray Jul 8, 2026
f16275c
Agents - new session should respect `git.branchPrefix` when creating …
lszomoru Jul 8, 2026
76e833e
Potential fix for pull request finding
mrleemurray Jul 8, 2026
f229131
Style overrides: Unify border color for editor and surrounding chrome…
mrleemurray Jul 8, 2026
913d5cc
feat: restore asar for node_modules (#324897)
deepak1556 Jul 8, 2026
82d7e53
Fixes #323297
hediet Jul 8, 2026
8c7ce71
Fixes ci
hediet Jul 8, 2026
b8f0253
Include editor headers in proxy models request (#324928)
ulugbekna Jul 8, 2026
b5f8361
NES: add suggestionLineDistanceToCursor to provideInlineEdit telemetry
ulugbekna Jul 8, 2026
c292a0a
API feedback for chat context proposal (#324913)
alexr00 Jul 8, 2026
7bf3906
workbench: don't animate counter widget on first render (#324934)
benibenj Jul 8, 2026
dec6005
Merge pull request #324240 from microsoft/mrleemurray/obliged-plum-stork
mrleemurray Jul 8, 2026
2971e96
nes: fix: too-narrow NES long-distance hint preview widget (#324930)
ulugbekna Jul 8, 2026
dee4b70
NES: add suggestionLineDistanceToCursor to provideInlineEdit telemetr…
ulugbekna Jul 8, 2026
29a9bd2
sessions: make blocked-sessions dropdown responsive and centered (#32…
benibenj Jul 8, 2026
4d6d755
Style overrides: Update padding and overflow styles in activity bar (…
mrleemurray Jul 8, 2026
97ae143
Merge pull request #324918 from microsoft/mrleemurray/respective-ambe…
mrleemurray Jul 8, 2026
18a1584
Style overrides: Add notifications and dialogs style overrides (#324933)
mrleemurray Jul 8, 2026
1ed41b0
Render chat turn changes as a checkpoint-style summary (#324929)
benibenj Jul 8, 2026
39578f6
NES telemetry: add `isForAnotherDocument` to `inlineCompletion.endOfL…
ulugbekna Jul 8, 2026
2dc13a3
Style overrides: Adjust badge positioning in activity bar for better …
mrleemurray Jul 8, 2026
642e4c0
Add exp-driven config to preview context lines for NES long-distance …
ulugbekna Jul 8, 2026
c8b2401
Add experiment mode to Modern UI Update configuration (#324949)
mrleemurray Jul 8, 2026
aaea536
Don't show comment widget when commenting is not possible
hediet Jul 8, 2026
42a44c0
Fixes ci
hediet Jul 8, 2026
a30f659
sessions: fix blocked-session indicator blinking on session switch (#…
benibenj Jul 8, 2026
b664e8a
Add setting to keep shorter context option for free long-context mode…
bhavyaus Jul 8, 2026
87b58f3
Merge pull request #324474 from microsoft/revert-324183-mrleemurray/a…
mrleemurray Jul 8, 2026
a4048ca
Fetch tool: tighten auto-approval of previously-referenced URLs (#324…
TylerLeonhardt Jul 8, 2026
86dfe76
Fix double microphone entries in Voice: Select Microphone (#324980)
meganrogge Jul 8, 2026
79910b5
Fix folder ThemeIcon causing incorrect tree level inset (#323694)
Copilot Jul 8, 2026
29ebca4
Voice: fix responses not read out with multiple sessions (#324977)
meganrogge Jul 8, 2026
0e66a19
voice: add Escape keybinding to disconnect voice mode (#324975)
meganrogge Jul 8, 2026
a3e9e87
Style overrides: Adjust padding for interactive session input part (#…
mrleemurray Jul 8, 2026
6e28eaf
Style overrides: Adjust vertical alignment for codicons in integrated…
mrleemurray Jul 8, 2026
35b37d9
Voice: allow barge-in over the assistant in hands-free mode (client) …
meganrogge Jul 8, 2026
80a945e
Guide agent away from interactive privilege-escalation commands (#324…
meganrogge Jul 8, 2026
ab80d17
Fix voice mode connecting button spinning its hover background (#324991)
meganrogge Jul 8, 2026
f7ef74d
Make voice transcript per-session (#324997)
meganrogge Jul 8, 2026
e8cda46
agentHost: move IAgentHostEnablementService to platform layer and mak…
sandy081 Jul 8, 2026
bcad787
Add eligibility guard for final background todo pass (#325007)
vritant24 Jul 8, 2026
2754b0b
Style overrides: Add padding to tabs with left positioned action butt…
hawkticehurst Jul 8, 2026
8bed62b
feat(agentHost): emit restricted toolCallDetails per-turn aggregate
zhichli Jul 8, 2026
d8eb388
Catch up to ahp bc084fe (#324954)
anthonykim1 Jul 8, 2026
93e415a
Import local chat history into agent host session as editable turns (…
vijayupadya Jul 8, 2026
f0e6ee1
nes: fix: long-distance hint insertion-overlay negative-height crash …
ulugbekna Jul 8, 2026
420d419
fix(agentHost): address toolCallDetails review feedback
zhichli Jul 8, 2026
c9fc242
Style overrides: Enhance count badge styles for consistency (#324756)
mrleemurray Jul 8, 2026
7be32ce
Voice: default voice to Maya (#325005)
meganrogge Jul 8, 2026
3c97b1c
chore: remove git dep (#325010)
rzhao271 Jul 8, 2026
a95a43d
Make file explorer title respect associated workspace folder capitali…
hawkticehurst Jul 8, 2026
f067a2e
fix(agentHost): restricted telemetry parity for turnIndex and toolCal…
zhichli Jul 8, 2026
01924f8
Add AHP MCP server lifecycle controls
connor4312 Jul 8, 2026
fdc73d2
Merge origin/main into AHP MCP lifecycle branch
connor4312 Jul 8, 2026
234229d
Add credits used to quota snapshot (#325002)
lramos15 Jul 8, 2026
c1be274
sessions: cache configuration default overrides and fix reloadConfigu…
sandy081 Jul 8, 2026
ca74857
Add open/close motion to picker menus in chat input area (#325023)
hawkticehurst Jul 8, 2026
0103557
Chat - do not show a chip for the worktree branch picker configuratio…
lszomoru Jul 8, 2026
f5ce229
enable settings as experiment (#325027)
sandy081 Jul 8, 2026
d1fde11
Dispose hidden MCP context menu actions
connor4312 Jul 8, 2026
e0b18bd
Use TerminalComplete for shell exit metadata
connor4312 Jul 8, 2026
1920b58
Merge pull request #325009 from microsoft/zhichli/restr3rd
zhichli Jul 8, 2026
80e42d8
Tweak collapsible view chevron positioning (#325018)
hawkticehurst Jul 8, 2026
edcd6eb
Fix auto-approve flicker in agent host sessions list (#324998)
benibenj Jul 8, 2026
31481c5
Merge pull request #325026 from microsoft/connor/ahp-mcp-lifecycle
connor4312 Jul 8, 2026
7cbac56
sessions: dismiss blocked-sessions dropdown on Escape and quick pick …
benibenj Jul 8, 2026
ad251cb
Merge remote-tracking branch 'upstream/main' into sync/upstream-1.129
damnthonyy Jul 8, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
5 changes: 5 additions & 0 deletions .devcontainer/devcontainer-lock.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,11 @@
"version": "1.5.0",
"resolved": "ghcr.io/devcontainers/features/rust@sha256:0c55e65f2e3df736e478f26ee4d5ed41bae6b54dac1318c443e31444c8ed283c",
"integrity": "sha256:0c55e65f2e3df736e478f26ee4d5ed41bae6b54dac1318c443e31444c8ed283c"
},
"ghcr.io/devcontainers/features/sshd:1": {
"version": "1.1.0",
"resolved": "ghcr.io/devcontainers/features/sshd@sha256:f5251b8e4325f68f7280973c6cd65daff414449c66f240621502d4e8e74eb7ee",
"integrity": "sha256:f5251b8e4325f68f7280973c6cd65daff414449c66f240621502d4e8e74eb7ee"
}
}
}
3 changes: 2 additions & 1 deletion .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@
},
"features": {
"ghcr.io/devcontainers/features/desktop-lite:": {},
"ghcr.io/devcontainers/features/rust:": {}
"ghcr.io/devcontainers/features/rust:": {},
"ghcr.io/devcontainers/features/sshd:1": {}
},
"containerEnv": {
"DISPLAY": "" // Allow the Dev Containers extension to set DISPLAY, post-create.sh will add it back in ~/.bashrc and ~/.zshrc if not set.
Expand Down
5 changes: 5 additions & 0 deletions .github/instructions/best-practices.instructions.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,11 @@ applyTo: src/vs/**
- Don't hardcode URI scheme strings like `'file'`, `'untitled'`, or `'vscode-remote'`. Use the `Schemas` constants from `vs/base/common/network.ts` (e.g. `Schemas.file`, `Schemas.untitled`, `Schemas.vscodeRemote`).
- Don't compare URIs with `===` or `uri.toString()`. Use the comparison utilities from `vs/base/common/resources.ts`: `isEqual` for equality, `isEqualOrParent` for containment, and `getComparisonKey` when a URI is used as a map/set key. These handle path-case sensitivity and fragment/authority correctly. When you need explicit control over case sensitivity, use an `ExtUri` instance (`extUri`, `extUriIgnorePathCase`, or `extUriBiasedIgnorePathCase`) instead of the bound helpers.

## Resource Labels

- Don't set `{ supportIcons: true }` when creating a `ResourceLabel` (`vs/workbench/browser/labels.ts`). This option makes the label parse `$(codicon)` syntax in the name/description and is only needed when you want to render a codicon inline with the resource text. By default (without it), the label computes the proper file-icon CSS classes for the resource, which is what we almost always want. Note that those classes only render as icons when an ancestor DOM element enables file icons (see below); otherwise the label shows text only.
- To actually display file icons for resource labels in a tree/list, an ancestor container must have the `show-file-icons` class and be wired to the active file icon theme. Don't add the class by hand — call `createFileIconThemableTreeContainerScope` (`vs/workbench/contrib/files/browser/views/explorerView.ts`) on the container. It adds the required `show-file-icons` / `file-icon-themable-tree` classes and keeps `align-icons-and-twisties` / `hide-arrows` in sync with the file icon theme. Register the returned `IDisposable`. A common bug is placing a resource-label list/tree outside such a scoped container, which makes file icons silently disappear.

## Styling

- Avoid `getComputedStyle`. If a style value is needed in both CSS and TypeScript, prefer hardcoding the value in TypeScript and setting it directly on the DOM element (e.g. `element.style.width = '100px'`), or set a CSS custom property via `element.style.setProperty('--my-var', value)` when the value is needed across multiple CSS rules.
Expand Down
11 changes: 11 additions & 0 deletions .github/instructions/committing.instructions.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
---
description: Guidelines for creating git commits — respecting signing configuration, verification hooks, and referencing GitHub issues.
applyTo: '**'
---

# Committing

Follow these rules when creating git commits:

- Always respect the user's commit signing configuration. Do not disable, override, or work around signing (for example, do not pass `--no-gpg-sign` when the user has signing enabled).
- Never commit with `--no-verify`. Always let the pre-commit and commit-msg hooks run.
52 changes: 34 additions & 18 deletions .github/instructions/design-tokens.instructions.md
Original file line number Diff line number Diff line change
Expand Up @@ -76,16 +76,32 @@ of a shorthand is checked independently (`0 5px → 0 6px`). `auto`, `%`,

## Font size — `font-size`

Generic UI chrome (fixed px):
Generic UI ramp — pair a **size** token with a **weight** token; "Strong"
reuses the matching size token + `fontWeight.semiBold`, **never** a separate
"strong" size:

| px | Variable |
|----|----------|
| 13 | `--vscode-bodyFontSize` (base) |
| 12 | `--vscode-bodyFontSize-small` |
| 11 | `--vscode-bodyFontSize-xSmall` |

Agents window ramp (`src/vs/sessions/**`) — pair size with a weight token,
**never** add a separate "strong" size:
| px | Size var | Weight |
|----|----------|--------|
| 26 | `--vscode-fontSize-heading1` | semiBold |
| 18 | `--vscode-fontSize-heading2` | semiBold |
| 13 | `--vscode-fontSize-heading3` | semiBold |
| 13 | `--vscode-fontSize-body1` | regular |
| 11 | `--vscode-fontSize-body2` | regular |
| 12 | `--vscode-fontSize-label1` | regular |
| 11 | `--vscode-fontSize-label2` | regular |
| 10 | `--vscode-fontSize-label3` | regular |

**Deprecated** — the legacy `--vscode-bodyFontSize*` tokens are deprecated. Use
the generic ramp above instead:

| Deprecated | px | Use instead |
|------------|----|-------------|
| `--vscode-bodyFontSize` | 13 | `--vscode-fontSize-body1` |
| `--vscode-bodyFontSize-small` | 12 | `--vscode-fontSize-label1` |
| `--vscode-bodyFontSize-xSmall` | 11 | `--vscode-fontSize-body2` |

Agents window ramp (`src/vs/sessions/**`) — identical values, `agents-`-prefixed
(pair size with a weight token, **never** add a separate "strong" size):

| px | Size var | Weight |
|----|----------|--------|
Expand All @@ -105,26 +121,26 @@ is no medium (500). "Strong" = same size token + `semiBold`. See

## Font weight — `font-weight`

The agents window uses a **two-weight ramp** — there are no other weights.
Pair every text style with one of these:
Both the generic and agents ramps use a **two-weight ramp** — there are no other
weights. Pair every text style with one of these:

| weight | Variable | Use |
|--------|----------|-----|
| 400 | `--vscode-agents-fontWeight-regular` | body, labels, metadata |
| 600 | `--vscode-agents-fontWeight-semiBold` | headings, "strong" emphasis |
| weight | Generic var | Agents var | Use |
|--------|-------------|------------|-----|
| 400 | `--vscode-fontWeight-regular` | `--vscode-agents-fontWeight-regular` | body, labels, metadata |
| 600 | `--vscode-fontWeight-semiBold` | `--vscode-agents-fontWeight-semiBold` | headings, "strong" emphasis |

- **No medium (500).** `font-weight: 500` is **off the ramp** — snap it to
`semiBold` (600). The same goes for `700`/`bold` and any other numeric weight:
round to the nearer of 400/600.
- **"Strong" is not a separate size.** A "Body 1 Strong" / "Label 2 Strong"
style reuses the matching `--vscode-agents-fontSize-*` token paired with
`semiBold`. Never introduce a separate strong *size* token.
style reuses the matching `--vscode-fontSize-*` (or `--vscode-agents-fontSize-*`)
token paired with `semiBold`. Never introduce a separate strong *size* token.
- `normal` ≡ 400 → `regular`. **Leave untouched:** `inherit`, `lighter`,
`bolder`, and any `var()`/`calc()` expression. Preserve `!important`.

```css
/* avoid */ font-weight: 500; /* not on the 400/600 ramp */
/* prefer */ font-weight: var(--vscode-agents-fontWeight-semiBold);
/* prefer */ font-weight: var(--vscode-fontWeight-semiBold);
```

## Codicon size — icon `font-size`
Expand Down
8 changes: 4 additions & 4 deletions .github/skills/add-policy/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ Policies allow enterprise administrators to lock configuration settings via OS-l
|--------|---------------|----------------------|
| **OS-level** (Windows registry, macOS plist) | `NativePolicyService` via `@vscode/policy-watcher` | Watches `Software\Policies\Microsoft\{productName}` (Windows) or bundle identifier prefs (macOS) |
| **Linux file** | `FilePolicyService` | Reads `/etc/vscode/policy.json` |
| **Account/GitHub** | `AccountPolicyService` | Reads `IPolicyData` from `IDefaultAccountService.policyData`, applies `value()` function. Server-delivered managed settings arrive on `policyData.managedSettings`; native MDM (`INativeManagedSettingsService`) and a file on disk (`IFileManagedSettingsService`) are **separate** inputs that `AccountPolicyService` selects among in `getPolicyData()` via `selectManagedSettings(server, nativeMdm, file)` (single authoritative source by precedence server > native MDM > file; no merging between layers) |
| **Account/GitHub** | `AccountPolicyService` | Reads `IPolicyData` from `IDefaultAccountService.policyData`, applies `value()` function. Server-delivered managed settings arrive on `policyData.managedSettings`; native MDM (`INativeManagedSettingsService`) and a file on disk (`IFileManagedSettingsService`) are **separate** inputs that `AccountPolicyService` merges in `getPolicyData()` via `pickManagedSettings(nativeMdm, server, file)` (per-key precedence native MDM > server > file; a key locked by a higher channel cannot be overwritten, keys it leaves unset fall through to lower channels) |
| **Copilot managed settings (native MDM)** | `NativeManagedSettingsService` via `@vscode/policy-watcher` | Watches `SOFTWARE\Policies\GitHubCopilot` (Windows) / `com.github.copilot` prefs (macOS); feeds the canonical `managedSettings` bag — see [github-managed-settings.md](./github-managed-settings.md) |
| **Copilot managed settings (file)** | `FileManagedSettingsService` | Reads + watches `managed-settings.json` from a well-known per-OS path in the main process, exposed to renderers over IPC; lowest-precedence managed-settings channel — see [github-managed-settings.md](./github-managed-settings.md) |
| **Multiplex** | `MultiplexPolicyService` | In the main process, combines multiple OS/file policy readers; in desktop and Agents-window renderers, combines the main-process `PolicyChannelClient` with `AccountPolicyService` |
Expand All @@ -36,12 +36,12 @@ Policies allow enterprise administrators to lock configuration settings via OS-l
|------|---------|
| `src/vs/base/common/policy.ts` | `PolicyCategory` enum, `IPolicy` interface, `IPolicyReference`, `ManagedSettingsData`, `IManagedSettingsPolicyDefinitions` |
| `src/vs/platform/policy/common/policy.ts` | `IPolicyService`, `AbstractPolicyService`, `PolicyDefinition`, `toSerializablePolicyDefinition` (drops the non-cloneable `value()` for IPC), `getRestrictedPolicyValue` |
| `src/vs/platform/policy/common/copilotManagedSettings.ts` | Managed-settings key constants + well-known file paths, `collectManagedSettingsDefinitions`, `projectManagedSettings`, the shared `normalizeManagedSettings` (single normalizer for all channels), `selectManagedSettings` (channel precedence), `INativeManagedSettingsService` / `IFileManagedSettingsService` |
| `src/vs/platform/policy/common/copilotManagedSettings.ts` | Managed-settings key constants + well-known file paths, `collectManagedSettingsDefinitions`, `projectManagedSettings`, the shared `normalizeManagedSettings` (single normalizer for all channels), `pickManagedSettings` (per-key channel precedence), `INativeManagedSettingsService` / `IFileManagedSettingsService` |
| `src/vs/platform/policy/node/nativeManagedSettingsService.ts` | Native MDM watcher (`@vscode/policy-watcher`) for Copilot managed settings |
| `src/vs/platform/policy/common/fileManagedSettingsService.ts` | File-based channel: reads + watches `managed-settings.json` on a well-known per-OS path, normalizes via `normalizeManagedSettings` |
| `src/vs/platform/configuration/common/configurations.ts` | `PolicyConfiguration` — bridges policies to configuration values; parses JSON-string managed settings back to typed values; applies values to `policyReference` settings |
| `src/vs/platform/configuration/common/configurationRegistry.ts` | `policy` / `policyReference` registration; `getPolicyReferenceConfigurations()` (name → subordinate settings) |
| `src/vs/workbench/services/policies/common/accountPolicyService.ts` | Account/GitHub-based policy evaluation; selects + projects managed settings (server over MDM; single authoritative layer) |
| `src/vs/workbench/services/policies/common/accountPolicyService.ts` | Account/GitHub-based policy evaluation; selects + projects managed settings (native MDM over server; single authoritative layer) |
| `src/vs/workbench/services/accounts/browser/managedSettings.ts` | `adaptManagedSettings` — normalizes the server `managed_settings` response into the canonical bag |
| `src/vs/workbench/services/policies/common/multiplexPolicyService.ts` | Combines multiple policy services |
| `src/vs/workbench/contrib/policyExport/electron-browser/policyExport.contribution.ts` | `--export-policy-data` CLI handler |
Expand Down Expand Up @@ -329,4 +329,4 @@ Search the codebase for `policy:` to find all the examples of different policy c

* Never hand-edit `build/lib/policies/policyData.jsonc` (its header explicitly forbids it). If `npm run export-policy-data` is failing, fix the script — don't patch the JSON. Common cause: running it in the wrong working directory (e.g. main repo instead of a worktree), which silently exports the wrong source tree.
* **Regenerate `policyData.jsonc` in a clean environment, or the `PolicyExport` integration test will fail in CI.** `referencedSettings` is only captured for references **loaded at export time**. A plain `npm run export-policy-data` loads your **dev-profile extensions** (e.g. the Copilot extension), which injects `referencedSettings` onto core policies that the test's **fixture-based** export (clean profile, no user extensions) won't produce — so the checked-in file ends up with extra `referencedSettings` and CI fails. This is **not reproducible locally** because the test reuses your default extensions dir. Regenerate the way the test exports: `DISTRO_PRODUCT_JSON=<extensionPolicyFixture.json> ./scripts/code.sh --export-policy-data="$PWD/build/lib/policies/policyData.jsonc" --user-data-dir="$(mktemp -d)" --extensions-dir="$(mktemp -d)"` (with `VSCODE_SKIP_PRELAUNCH=1`).
* Document **behavior and business-logic expectations**, not copy-pasted implementation. Reproducing internal code (e.g. the `getPolicyData()` merge body) in the skill rots the moment the source changes and adds no information beyond the source itself. State the contract in prose (e.g. "server-delivered managed settings win over native MDM; the two layers are never merged") and point to the source for the implementation. Reserve code blocks for the **author-facing API contract** a contributor must follow — how to *declare* a `policy` / `managedSettings` / `value` callback — not for restating runtime plumbing.
* Document **behavior and business-logic expectations**, not copy-pasted implementation. Reproducing internal code (e.g. the `getPolicyData()` merge body) in the skill rots the moment the source changes and adds no information beyond the source itself. State the contract in prose (e.g. "native MDM managed settings win over the server-delivered channel; the two layers are never merged") and point to the source for the implementation. Reserve code blocks for the **author-facing API contract** a contributor must follow — how to *declare* a `policy` / `managedSettings` / `value` callback — not for restating runtime plumbing.
19 changes: 10 additions & 9 deletions .github/skills/add-policy/github-managed-settings.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,14 +52,15 @@ described delivery slots (native MDM, server-managed, and file-based).

All three VS Code channels converge in `AccountPolicyService.getPolicyData()`.

**Precedence: server-delivered managed settings win over native MDM, which in turn win
over the file-based channel** (`selectManagedSettings` in `copilotManagedSettings.ts`).
There is a single authoritative source at any point in time — the channels are **not**
merged. The highest-precedence non-empty channel wins outright and the rest are ignored.
Rationale: the server is harder to bypass than local MDM, and a local file is the most
easily tampered with, so admins need one authoritative source to reason about. The
winning channel is then projected onto the declared schema (see below). Client-side
merging still happens *within* the winning channel (e.g. `enabledPlugins`,
**Precedence: native MDM managed settings win over the server-delivered channel, which in
turn wins over the file-based channel** (`pickManagedSettings` in `copilotManagedSettings.ts`).
Precedence is resolved **per key**: for each key the highest-precedence channel that supplies
it wins, but a key that the higher channels leave unset is still filled in by a lower channel.
A value an admin locks via native MDM therefore cannot be overwritten by the server or a file,
while keys the higher channels never set remain available to lower ones. Rationale for the
order: the server is harder to bypass than local MDM, and a local file is the most easily
tampered with. The merged bag is then projected onto the declared schema (see below).
Client-side merging still happens *within* a channel's value (e.g. `enabledPlugins`,
`extraKnownMarketplaces`).

## Schema source of truth
Expand Down Expand Up @@ -201,7 +202,7 @@ delivery slot for the managed value.
| `collectManagedSettingsDefinitions(policyDefinitions)` | Aggregates every policy's `managedSettings` into one `key → { type }` map. **Single source of truth** for which keys (and types) are honored; drives both the MDM watcher and the server projection. |
| `hasManagedSettingsDefinitions(policyDefinitions)` | Cheap short-circuiting existence check (does *any* policy declare a managed key?) — used to decide whether the native MDM watcher is needed at all, without building the full aggregate. |
| `projectManagedSettings(values, definitions, onWarn?)` | Keeps only declared keys whose runtime value **matches the declared type**. Undeclared keys and type mismatches are **dropped (validated, never coerced)**, with an optional warning. |
| `selectManagedSettings(server, nativeMdm, file)` | Picks the single authoritative channel by precedence (server → native MDM → file); never merges. **The extension point when adding a new channel** — extend the `ManagedSettingsSource` union and this function together. |
| `pickManagedSettings(nativeMdm, server, file)` | Merges the channels **per key** by precedence (native MDM → server → file): the highest-precedence channel that sets a key wins, lower channels fill in keys the higher ones leave unset, and every contribution is recorded for provenance. **The extension point when adding a new channel** — extend the `ManagedSettingsChannel` union, the `MANAGED_SETTINGS_CHANNELS` order, and this function together. |
| `managedSettingValue(key)` | Builds the standard pass-through `value` callback `policyData => policyData.managedSettings?.[key]`. Use for the common "lock to the managed value, else fall through" case (see [Declaring a managed setting](#declaring-a-managed-setting-on-a-policy)). |

### Normalization: the structured-key descriptor table
Expand Down
Loading
Loading