Repository navigation
Provide UI entry point for adding to the terminal auto-approve allow list #253268
Copy link
Copy link
Closed
Closed
Copy link
Labels
chat-terminalThe run in terminal tool in chatThe run in terminal tool in chatfeature-requestRequest for new features or functionalityRequest for new features or functionalityinsiders-releasedPatch has been released in VS Code InsidersPatch has been released in VS Code Insiderson-release-notesIssue/pull request mentioned in release notesIssue/pull request mentioned in release noteson-testplan
Milestone
Description
Forking off from #252496
Blocked by #252650
We should have a dropdown on the Continue button here:
What this contains needs some thinking.
Some exploration from #252496 (comment)
I'm also thinking how this is similar to workspace trust, where you may want to trust that particular folder, or it's parent:
I wonder if we would help user configure quickly. Say you run
npm run build, the "Continue" button dropdown could present options to easily configure it for the future:
- Auto-approve commands starting with
npm- Auto-approve commands starting with
npm run- Auto-approve commands matching
npm run buildMaybe that's overkill, we could just show the first and the last one instead.
Similar feature for extension/mcp tools:
Lines 88 to 104 in 01fbd91
| const buttons: IChatConfirmationButton[] = [ | |
| { | |
| label: continueLabel, | |
| data: ConfirmationOutcome.Allow, | |
| tooltip: continueTooltip, | |
| moreActions: !allowAutoConfirm ? undefined : [ | |
| { label: localize('allowSession', 'Allow in this Session'), data: ConfirmationOutcome.AllowSession, tooltip: localize('allowSesssionTooltip', 'Allow this tool to run in this session without confirmation.') }, | |
| { label: localize('allowWorkspace', 'Allow in this Workspace'), data: ConfirmationOutcome.AllowWorkspace, tooltip: localize('allowWorkspaceTooltip', 'Allow this tool to run in this workspace without confirmation.') }, | |
| { label: localize('allowGlobally', 'Always Allow'), data: ConfirmationOutcome.AllowGlobally, tooltip: localize('allowGloballTooltip', 'Always allow this tool to run without confirmation.') }, | |
| ], | |
| }, | |
| { | |
| label: localize('cancel', "Cancel"), | |
| data: ConfirmationOutcome.Disallow, | |
| isSecondary: true, | |
| tooltip: cancelTooltip | |
| }]; |
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
chat-terminalThe run in terminal tool in chatThe run in terminal tool in chatfeature-requestRequest for new features or functionalityRequest for new features or functionalityinsiders-releasedPatch has been released in VS Code InsidersPatch has been released in VS Code Insiderson-release-notesIssue/pull request mentioned in release notesIssue/pull request mentioned in release noteson-testplan



Activity
BrechtCorbeel commentedon Jul 1, 2025
Really need this. Is this implemented? Custom CSS and Js loader extension not working for me to do this myself with a script.
Tyriar commentedon Jul 1, 2025
Brecht Corbeel (@BrechtCorbeel) you can check the milestone for when it's planned. You can always just add the
allowListsetting entry manually in the current pre-release/upcoming release.BrechtCorbeel commentedon Jul 2, 2025
I have seen this new feature pass by I think a couple hours after my last comment in a newly opened window but, have not yet found where the allow list is.
For now, I have made my own auto-continue in the terminal via developer mode.
Tyriar commentedon Jul 2, 2025
Brecht Corbeel (@BrechtCorbeel) it's not release yet. You must use VS Code insiders and the pre-release extension to use it.
Tyriar commentedon Jul 31, 2025
Current thinking for the dropdown for
npm run compile:npm run compilenpmcommandsMaybe the second one should say "commands starting with
npm" to be more clear?Tyriar commentedon Jul 31, 2025
This will need an extensible interface that allows passing a list of labels/commands that end up showing in the confirmation drop down here:
vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/toolInvocationParts/chatToolConfirmationSubPart.ts
Lines 88 to 104 in 01fbd91
Should probably live on
IPreparedToolInvocation.