anthropics / anthropics/claude-code

[Bug] Permission check incorrectly rejects fully qualified paths in `cmd /c` commands

オープン
#94,234 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る
area:bash area:permissions bug platform:windows
主要言語
Python
スター
145k
フォーク
23.1k
PR マージ指標
PR 指標を取得中

説明

**Bug Description**
The permission check appears to incorrectly reject commands that use fully qualified absolute paths when they are executed through `cmd /c`.

For example, Claude Code generated:

`cd "D:\\" && cmd /c ""D:\\\gradlew.bat" build" 2>&1`

The path to `gradlew.bat` is fully qualified and clearly resides inside the working directory. There are no relative paths involved.

Nevertheless, Claude Code reports:

`cmd names a path that is computed at run time, which cannot be checked against the read block (permissions.blockReadsOutsideWorkingDirectories)`

This seems overly conservative and misleading. The permission system should be able to resolve the absolute path passed to `cmd /c` and verify that it is within the allowed working directory.

The error message is especially confusing because it refers to `cmd` as naming a runtime-computed path, even though the actual target path is explicitly specified as an absolute path in the command.

This is particularly problematic on Windows, where invoking `.bat` files through `cmd /c` is a normal and legitimate execution pattern.

**Environment Info**
- Platform: win32
- Terminal: pycharm
- Version: 2.1.270
- Feedback ID: fb6eb062-f53b-439c-9d9a-69c7beff98ec

**Errors**
```json
[]
```

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

調査の方向性

Reproduce the reported command on win32, using the fully qualified gradlew.bat path through cmd /c. Trace the permission check for cmd /c commands and absolute paths, then verify that an in-directory path is accepted and that the misleading runtime-computed-path message no longer appears.

索引モデルが issue の本文から書いたものです。

評価

技術スタック
python, shell
領域
cli, operating-systems, security
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
活発
明瞭さ
おおむね明確
初心者へのやさしさ
52/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。