Chat user confirmation chimes even with always or workspace allow
Type: Bug
When using the run cell tool in a notebook with agent mode, I hear chimes with every call of the tool. The setting accessibility.signals.chatUserActionRequired implies only chimes when an explicit action is needed, however even after setting always allow for the tool, each call still chimes even when not needing a confirmation.
repro:
- create a notebook with several cells (I've been using several
print('hello world') \n sleep(1) - ask agent mode to run all cells
- agent will call the run cell tool for each cell sequentially
- 🐛 a chime at each tool call
VS Code version: Code - Insiders 1.101.0-insider (ccdd214171190f69e28c8c3def68a6315f4d9ae0, 2025-05-20T07:09:03.342Z) OS version: Windows_NT x64 10.0.26100 Modes:
System Info
| Item | Value |
|---|---|
| CPUs | 12th Gen Intel(R) Core(TM) i7-1265U (12 x 2688) |
| GPU Status | 2d_canvas: enabled canvas_oop_rasterization: enabled_on direct_rendering_display_compositor: disabled_off_ok gpu_compositing: enabled multiple_raster_threads: enabled_on opengl: enabled_on rasterization: enabled raw_draw: disabled_off_ok skia_graphite: disabled_off video_decode: enabled video_encode: enabled vulkan: disabled_off webgl: enabled webgl2: enabled webgpu: enabled webnn: disabled_off |
| Load (avg) | undefined |
| Memory (System) | 31.83GB (13.00GB free) |
| Process Argv | --crash-reporter-id a1a3a7b6-5c3c-46e6-8403-0fcf483f7d3c |
| Screen Reader | no |
| VM | 0% |
Extensions (19)
| Extension | Author (truncated) | Version |
|---|---|---|
| better-comments | aar | 3.0.2 |
| kusto | don | 0.5.3 |
| prettier-vscode | esb | 11.0.0 |
| copilot | Git | 1.322.1574 |
| copilot-chat | Git | 0.28.2025052001 |
| vscode-pull-request-github | Git | 0.111.2025051904 |
| debugpy | ms- | 2025.9.2025052001 |
| python | ms- | 2025.7.2025052003 |
| vscode-python-envs | ms- | 0.3.11391010 |
| jupyter | ms- | 2025.5.2025052001 |
| jupyter-keymap | ms- | 1.1.2 |
| jupyter-renderers | ms- | 1.1.2025012901 |
| vscode-jupyter-cell-tags | ms- | 0.1.9 |
| vscode-jupyter-slideshow | ms- | 0.1.6 |
| remote-containers | ms- | 0.414.0 |
| remote-wsl | ms- | 0.99.0 |
| vscode-github-issue-notebooks | ms- | 0.0.130 |
| vscode-markdown-notebook | ms- | 0.0.26 |
| intellicode-api-usage-examples | Vis | 0.2.9 |
A/B Experiments
vsliv368:30146709
vspor879:30202332
vspor708:30202333
vspor363:30204092
pythonvspyt551:31249597
vscod805:30301674
c4g48928:30535728
a9j8j154:30646983
962ge761:30841072
dsvsc014:30777825
dsvsc015:30821418
2e7ec940:31000449
pythontbext0:30879054
cppperfnew:30980852
dwnewjupyter:31046869
pythonrstrctxt:31093868
nativeloc1:31118317
e80f6927:31120813
dwcopilot:31158714
c3hdf307:31184662
6074i472:31201624
dwoutputs:31242946
customenabled:31248079
9064b325:31222308
copilot_t_ci:31222730
g012b348:31231168
pythoneinst12:31251391
bgtreat:31252123
c7cif404:31309980
pythonpulldiag:31287486
6gi0g917:31259950
editoredits36407:31282444
996jf627:31264550
pythonrdcb7:31268811
usemplatestapi:31297334
8ge78292:31309974
747dc170:31275146
pythoncompactctx:31296835
6518g693:31302842
pylancecolor:31288664
generatesymbolt:31280541
convertfstringf:31280702
gendocf:31280703
pylancequickfixt:31311477
ajf51753:31312179
923gi514:31310909
b99bg931:31306656
a2ijf515:31307742
convertlamdat:31311571
I had thought this was from auto approval, but @Yoyokrazy had said it was without that - he allowed running notebook cells for the workspace.
@roblourens I didn't see anything on the confirmation object that would help me know if it needs approval. Could you point me to where we check the workspace value?
Here's what it looks like in practice: https://github.com/microsoft/vscode/blob/8ddae4e237dcf2cde348c424dd0d37c6e2b9fe2b/src/vs/workbench/contrib/chat/browser/languageModelToolsService.ts#L266-L268
Do you want to add something to ChatToolInvocation that tells us whether it was confirmed automatically or manually? What would work for you?
eg could add confirmState which would not be a boolean but an enum like manual/auto/unconfirmed