fix bypass approvals skipping "copy changes" confirmation widget#302184
Merged
fix bypass approvals skipping "copy changes" confirmation widget#302184
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
Fixes an issue in the chat tool auto-approval flow where “Bypass Approvals” could skip required multi-option confirmation UI for Copilot CLI/background sessions, resulting in no “copy changes” confirmation being shown.
Changes:
- Update tool auto-confirm logic to not bypass confirmation for specific “cannot be auto-approved” tools when the session is non-local.
- Add tests covering the CLI vs local-session behavior for these non-auto-approvable tools.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.ts | Adds a session-type gate so certain tools still require confirmation UI under Bypass Approvals for non-local sessions. |
| src/vs/workbench/contrib/chat/test/browser/tools/languageModelToolsService.test.ts | Adds coverage to ensure CLI sessions require confirmation while local sessions still auto-approve under Bypass Approvals. |
Comments suppressed due to low confidence (1)
src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.ts:1177
- Same as above: this check keys off
getChatSessionType(...) !== localChatSessionType, which applies to all non-local session types (not just CLI/background). If the special-casing is intended only for CLI sessions, it would be safer/clearer to gate on the explicit CLI session type; otherwise adjust the comment/naming to match the broader scope.
if (isAutoApproveLevel(request?.modeInfo?.permissionLevel) || this._isSessionLiveAutoApproveLevel(chatSessionResource)) {
if (!(toolIdsThatCannotBeAutoApproved.has(toolId) && getChatSessionType(chatSessionResource) !== localChatSessionType)) {
return { type: ToolConfirmKind.ConfirmationNotNeeded, reason: 'auto-approve-all' };
}
You can also share your feedback on Copilot code review. Take the survey.
src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.ts
Show resolved
Hide resolved
src/vs/workbench/contrib/chat/test/browser/tools/languageModelToolsService.test.ts
Show resolved
Hide resolved
dmitrivMS
approved these changes
Mar 16, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
fix #302182
bypass approvals, nothing happens