Polish Claude agent's permission label, descriptions, icons#321673
Open
anthonykim1 wants to merge 7 commits into
Open
Polish Claude agent's permission label, descriptions, icons#321673anthonykim1 wants to merge 7 commits into
anthonykim1 wants to merge 7 commits into
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
This PR updates Claude agent-host “permissionMode” presentation to use clearer labels/descriptions and consistent, distinct icons across the workbench and Agents (sessions) UI, and adjusts related tests/schema detection to match the updated mode set.
Changes:
- Add Claude permission-mode icon mappings (including new
autoicon) for session config pickers. - Update Claude
permissionModeschema labels/descriptions and remove the “Don’t Ask” option from the advertised enum. - Refactor/expand sessions-side tests to cover the updated modes and schema compatibility checks.
Show a summary per file
| File | Description |
|---|---|
| src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostChatInputPicker.ts | Adds Claude permission-mode icon mapping for the workbench chat-input config picker. |
| src/vs/sessions/contrib/providers/agentHost/test/browser/agentHostClaudePermissionModePicker.test.ts | Updates tests to validate the new Claude-native mode labels and distinct icons; refactors setup. |
| src/vs/sessions/contrib/providers/agentHost/test/browser/agentHost/agentHostPermissionPickerDelegate.test.ts | Adjusts schema “well-known” detection tests and ensures dontAsk-inclusive schemas remain accepted. |
| src/vs/sessions/contrib/providers/agentHost/browser/agentHostSessionConfigPicker.ts | Skips generic enum chip for Claude permissionMode and wires a dedicated picker action into the new-session controls. |
| src/vs/sessions/contrib/providers/agentHost/browser/agentHostClaudePermissionModePicker.ts | Adds icon mapping for Claude permission modes (including auto). |
| src/vs/platform/agentHost/node/claude/claudeAgent.ts | Updates Claude session-config schema enum/labels/descriptions for permission modes. |
Copilot's findings
- Files reviewed: 6/6 changed files
- Comments generated: 3
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.
Resolves: #321675 and issue regarding reducing + polishing claude agent's permission.
permissionModelabels with Claude Code's VS Code-facing names:Ask Before Edits,Edit Automatically,Plan Mode,Auto Mode, andBypass Permissions.dontAskfrom the visible picker list while keeping SDK/session compatibility for existing or externally-createddontAskvalues.permissionModeschemas to avoid duplicate or generic rendering.Don't Ask, exact labels, distinct icons, Learn More behavior, and schema compatibility.Implementation references
claudeAgent.tsare based on Claude's official mode behavior docs: https://code.claude.com/docs/en/permission-modes#available-modes.dontAskfrom the interactive picker comes from Claude docs sayingdontAskis for pre-approved tools / locked-down CI and scripts, and never appears in the cycle: https://code.claude.com/docs/en/permission-modes#allow-only-pre-approved-tools-with-dontask-mode.bypassPermissionsvisible but danger-coded comes from Claude docs saying it skips prompts/checks and should only be used in isolated containers/VMs: https://code.claude.com/docs/en/permission-modes#skip-all-checks-with-bypasspermissions-mode.vscode/src/vs/platform/agentHost/node/claude/claudeAgent.ts
Lines 700 to 722 in 9ba5ad9
vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostClaudePermissionModePicker.ts
Lines 23 to 65 in 9ba5ad9
autoApproveandmode:vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostSessionConfigPicker.ts
Lines 328 to 347 in 9ba5ad9
vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostSessionConfigPicker.ts
Lines 832 to 850 in 9ba5ad9
vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostSessionConfigPicker.ts
Lines 914 to 932 in 9ba5ad9
agentHostChatInputPicker.ts, not the Agent Sessions picker:vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostChatInputPicker.ts
Lines 46 to 80 in 9ba5ad9
Agents window with agent host claude:

Editor window with agent host claude:

Compare with what Claude Code does themselves via their own VS Code extension:
