[BUG] Permission approval UI not displayed - operations immediately rejected without user interaction
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
When Claude Code attempts to perform operations that require user approval (file writes, git commands, etc.), the approval UI is not displayed to the user.
Instead, operations are immediately rejected with an error message like "Claude requested permissions to write to [file], but you haven't granted it yet." The system behaves as if the user has denied permission, but no approval prompt ever appears, making it impossible for users to grant permission for legitimate operations.
This affects:
- Write tool (file creation)
- Edit tool (file modification)
- Bash tool (git commands and other operations not in the allow list)
The issue occurs even though permissionMode is set to "default", which should prompt for approval.
What Should Happen?
When Claude Code needs to perform an operation requiring approval:
- Claude executes a tool (e.g., Write, Bash with git command)
- System detects approval is needed
- Approval UI is displayed to the user (button/dialog to approve/deny)
- System waits for user response
- Operation proceeds or is cancelled based on user decision Instead, the current behavior skips steps 3-4 entirely and immediately returns an error.
Error Messages/Logs
Claude requested permissions to write to c:\Users\chatii\work\workdir\permission_test.txt, but you haven't granted it yet.
VSCode Output Panel log (relevant excerpt):
2025-10-12 01:46:31.918 [info] Spawning Claude with SDK query function - cwd: c:\Users\chatii\work\work-dir, permission mode: default, version: 2.0.14, c:\Users\chatii\.vscode\extensions\anthropic.claude-code-2.0.14\resources\claude-code\cli.js, resume: undefined
2025-10-12 01:46:31.918 [info] From claude: Spawning Claude Code process: node c:\Users\chatii\.vscode\extensions\anthropic.claude-code-2.0.14\resources\claude-code\cli.js --output-format stream-json --verbose --input-format stream-json --append-system-prompt ... --permission-prompt-tool stdio --permission-mode default --debug
DevTools Console log (filtered by "permission"):
{
"type": "system",
"subtype": "init",
"permissionMode": "default",
...
}
{
"type": "assistant",
"message": {
"content": [
{
"type": "tool_use",
"id": "toolu_01W5vpZXN9t1hHW9WgfaqKVz",
"name": "Write",
"input": {
"file_path": "c:\\Users\\chatii\\work\\work-dir\\permission_test.txt",
"content": "Permission test file created at 2025-10-12\nThis file is for testing Claude Code's permission system.\n"
}
}
]
}
}
{
"type": "user",
"message": {
"role": "user",
"content": [
{
"type": "tool_result",
"content": "Claude requested permissions to write to c:\\Users\\chatii\\work\\work-dir\\permission_test.txt, but you haven't granted it yet.",
"is_error": true,
"tool_use_id": "toolu_01W5vpZXN9t1hHW9WgfaqKVz"
}
]
}
}
Note: There are no log entries showing an approval prompt being displayed or any user interaction request.
Steps to Reproduce
- Install Claude Code VSCode extension version 2.0.14 on Windows
- Open any project folder in VSCode
- Ensure
.claude/settings.local.jsonhas default permissions (not allowing all operations):
{
"permissions": {
"allow": [
"Bash(sqlite3:*)"
],
"deny": [],
"ask": []
}
}
- Open VSCode Developer Tools (Ctrl+Shift+I) and go to Console tab
- Start a Claude Code conversation
- Ask Claude to create a new file, for example: "Create a test file named test.txt with some content"
- Open the DevTools Console and filter by "permission"
Expected:
- An approval UI (button/dialog) appears asking to approve the file write operation
- User can click approve/deny
- Operation proceeds based on user choice
Actual
- No approval UI appears
- Operation immediately fails with error: "Claude requested permissions to write to [file], but you haven't granted it yet."
- DevTools shows the tool_result with is_error: true but no approval prompt logs
Claude Model
Sonnet (default)
Is this a regression?
I don't know
Last Working Version
No response
Claude Code Version
2.0.14
Platform
Anthropic API
Operating System
Windows
Terminal/Shell
VS Code integrated terminal
Additional Information
- VSCode version:
バージョン: 1.105.0 (user setup)
コミット: 03c265b1adee71ac88f833e065f7bb956b60550a
日付: 2025-10-08T14:09:35.891Z
Electron: 37.6.0
ElectronBuildId: 12502201
Chromium: 138.0.7204.251
Node.js: 22.19.0
V8: 13.8.258.32-electron.0
OS: Windows_NT x64 10.0.26100
- The flag --permission-prompt-tool stdio is present in the CLI invocation, suggesting approval prompts should use stdio communication
- The issue appears to be in the VSCode extension's handling of stdio permission prompts from the CLI process
Found 3 possible duplicate issues:
- https://github.com/anthropics/claude-code/issues/8460
- https://github.com/anthropics/claude-code/issues/5749
- https://github.com/anthropics/claude-code/issues/9189
This issue will be automatically closed as a duplicate in 3 days.
- If your issue is a duplicate, please close it and 👍 the existing issue instead
- To prevent auto-closure, add a comment or 👎 this comment
🤖 Generated with Claude Code
I too am having this issue. I can't tell from the linked issues above if they are relevant to this as I'm very new to this utility.
Even with auto-edit enabled, Claude Code cannot use Web Fetch or WebSearch because permission to do so is never requested in the first place. It's automatically rejected. I see no way to force it to be enabled so this issue is very disruptive to my workflow.
Confirming Same Issue on Windows
Environment
- Platform: Windows 11 (Build 22631)
- Claude Code: 2.0.25 (VSCode extension)
- Shell: Git Bash (MINGW64_NT-10.0-22631, Msys 3.4.10)
Symptoms
Identical to original report.
- Claude states:
"This command requires approval" - No approval UI/prompt appears in the Claude Code window
- Claude then says:
"Please approve this command"and waits indefinitely - User has no way to approve or deny the command
- Session becomes stuck - only option is manual execution outside Claude
The approval detection logic works correctly, but the UI component never renders in VS Code on Windows.
- ❌ No dialog box appears
- ❌ No notification appears
- ❌ No popup appears
- ❌ NOTHING is displayed to the user
VSCode version
Version: 1.105.1 (user setup)
Commit: 7d842fb85a0275a4a8e4d7e040d2625abbf7f084
Date: 2025-10-14T22:33:36.618Z
Electron: 37.6.0
ElectronBuildId: 12502201
Chromium: 138.0.7204.251
Node.js: 22.19.0
V8: 13.8.258.32-electron.0
OS: Windows_NT x64 10.0.22631
My extension just updated to 2.0.30 and I have modals now
can't type in Claude after it opens :(
My extension just updated to 2.0.30 and I have modals now
Same issue again in 2.0.45. Worked fine until the update. I downgraded to 2.0.44 and it works fine in that version.
This issue has been inactive for 30 days. If the issue is still occurring, please comment to let us know. Otherwise, this issue will be automatically closed in 30 days for housekeeping purposes.