anthropics / anthropics/claude-code
[BUG] git diff --unified=0 / -U0 triggers a permission prompt despite being read-only
- Ngôn ngữ chính
- Python
- Star
- 145k
- Fork
- 23.1k
- Chỉ số merge pull request
- Chỉ số pull request đang chờ
Mô tả
### Preflight Checklist
- [x] I have searched [existing issues](https://github.com/anthropics/claude-code/issues?q=is%3Aissue%20state%3Aopen%20label%3Abug) 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?
With no Bash permission rules configured, `git diff` is auto-approved as read-only, but adding a context-count flag escalates it to a prompt.
Prompts:
```
git diff --cached -U0
git diff --cached --unified=0
```
Does not prompt:
```
git diff --cached
```
-U / --unified= only controls how many context lines are printed around each hunk. It has no side effects — it cannot write to the worktree or index, and doesn't change which command runs. It looks like an unconditionally safe formatting flag that the read-only classifier doesn't recognize.
Env: Claude Code VS Code extension 2.1.261, Windows 11, no permissions block in user or project settings.
### What Should Happen?
`git diff -U` should be whitelisted similarly to `git diff`
### Error Messages/Logs
```shell
```
### Steps to Reproduce
Ask claude to run `git diff` and `git diff -U0` from a chat tab in VS Code, and observe how only the latter prompts for permission.
### Claude Model
_No response_
### Is this a regression?
No, this never worked
### Last Working Version
_No response_
### Claude Code Version
2.1.261 (VS Code extension)
### Platform
Anthropic API
### Operating System
Windows
### Terminal/Shell
Other
### Additional Information
_No response_
Hướng dẫn đóng góp
Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này
Hướng nghiên cứu
Start from the Bash permission classifier used when Claude Code runs commands from a VS Code chat tab, and compare how it handles `git diff --cached` with `git diff --cached -U0` and `--unified=0`. Trace the argument parsing and existing read-only allowlist, then verify that both unified-context forms avoid a prompt without changing protection for other commands.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- git, vscode
- Lĩnh vực
- cli, security
- Loại issue
- Lỗi
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức độ hoạt động
- Sôi nổi
- Độ rõ ràng
- Khá rõ ràng
- Mức phù hợp với người mới
- 55/100