anthropics / anthropics/claude-code
[BUG] git diff --unified=0 / -U0 triggers a permission prompt despite being read-only
- Lenguaje dominante
- Python
- Estrellas
- 145k
- Forks
- 23.1k
- Métricas de merge de PR
- Métricas de PR pendientes
Descripción
### 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_
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Línea de trabajo
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.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- git, vscode
- Área
- cli, security
- Tipo de issue
- Error
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Estado de actividad
- Activo
- Claridad
- Bastante claro
- Aptitud para principiantes
- 55/100