anthropics / anthropics/claude-code

[BUG] Claude Desktop (Windows): downloads fail silently for all extensions in Chromium's ALLOW_ON_USER_GESTURE list (.py/.js/.rb/.sh/.ps1/.bat/.pyw)

Đang mở
#88,229 1 bình luận 0 reaction 0 người được giao Xem trên GitHub
invalid
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?

**Note: this is a Claude Desktop (Windows) bug, not a Claude Code CLI bug.** This template is the only bug intake available, so I'm filing here.

Since updating to **1.32352.0 / 1.32352.1**, downloading a Claude-generated file from chat fails for any file whose extension appears in Chromium's `download_file_types.asciipb` with `danger_level: ALLOW_ON_USER_GESTURE`. A toast reading **"Unable to open file."** (JA: 「ファイルを開くことができません。」) appears in the bottom-right and no file is written to disk.

Both **"Download"** and **"Download and open"** fail identically.

### Test matrix (11 extensions, controlled)

| Extension | In `ALLOW_ON_USER_GESTURE` list | Download |
|---|---|---|
| `.txt` | No | ✅ OK |
| `.csv` | No | ✅ OK |
| `.zip` | No | ✅ OK |
| `.json` | No | ✅ OK |
| `.js` | **Yes** | ❌ Fail |
| `.py` | **Yes** | ❌ Fail |
| `.rb` | **Yes** | ❌ Fail |
| `.sh` | **Yes** | ❌ Fail |
| `.ps1` | **Yes** | ❌ Fail |
| `.bat` | **Yes** | ❌ Fail |
| `.pyw` | **Yes** | ❌ Fail |

**11/11 correlation.** Every extension classified `ALLOW_ON_USER_GESTURE` fails; every extension outside that list succeeds.

This is **not** a Windows file-association problem — re-associating `.py` with an editor (Hidemaru / VS Code) does not fix it, while `.json` works without any association change.

### Reference

`components/safe_browsing/content/resources/download_file_types.asciipb` — e.g. `py` is `uma_value: 130`, `ping_setting: FULL_PING`, `danger_level: ALLOW_ON_USER_GESTURE` on Windows/Mac/Linux.

Per the Chromium `README.md` in that directory, `ALLOW_ON_USER_GESTURE` downloads proceed **without any warning** when a user gesture is attributed to the request; otherwise the download is interrupted and the user is offered **Keep / Delete**. No danger level is specified to abort a download with no recovery path.

Chrome and Edge both surface that Keep/Delete recovery UI. **Claude Desktop does not implement it**, so an interrupted download is unrecoverable and surfaces only as a generic "Unable to open file." toast.

### Suspected cause

`1.32352.0` includes:

> Fixed settings and connector links in chat doing nothing, or opening your web browser, when clicked in the app; they now open the app's own settings.

If in-chat click handling was rerouted through an async/programmatic path, the user activation may no longer be attributed to the download request, causing every gesture-gated extension to be interrupted. This is speculative, but consistent with both the symptom set and the changelog.

### Impact

Anyone downloading source files (`.py`, `.js`, `.rb`, `.sh`, `.ps1`) from Claude Desktop on Windows — a large share of developer users — cannot retrieve them at all. Renaming to `.txt` and renaming back after every download is not a workable process.

### What Should Happen?

Either:

1. Attribute the user gesture correctly so gesture-gated downloads proceed as they did before 1.32352.0, **or**
2. Implement a Keep/Delete confirmation UI for interrupted downloads, matching Chrome and Edge behavior.

At minimum, the failure toast should state that the download was blocked as a potentially dangerous file type, rather than the misleading "Unable to open file."

### Error Messages/Logs

```shell
Unable to open file.
(Japanese UI: ファイルを開くことができません。)
```

### Steps to Reproduce

1. Open Claude Desktop on Windows (version 1.32352.0 or 1.32352.1).
2. Ask Claude to create a small file, e.g. "Create a file named test.py containing `print('hello')` and send it to me."
3. Click **Download** on the resulting file card.
4. Observe the bottom-right toast: "Unable to open file." No file is written to the Downloads folder.
5. Repeat with `test.txt`, `test.csv`, `test.zip`, `test.json` — all succeed.
6. Repeat with `test.js`, `test.rb`, `test.sh`, `test.ps1`, `test.bat`, `test.pyw` — all fail identically.

No file association changes affect the outcome.

### Claude Model

None

### Is this a regression?

Yes, this worked in a previous version

### Last Working Version

Claude Desktop 1.30096.1 (worked before the 1.32352.0 update)

### Claude Code Version

N/A — this is a Claude Desktop bug, not Claude Code CLI. Claude Desktop 1.32352.1

### Platform

Other

### Operating System

Windows

### Terminal/Shell

Other

### Additional Information

Claude Desktop changelog entries for the versions involved:

**1.32352.1 (2026-08-18)**
- Fixed a rare Windows startup failure where the first window could fail to initialize on a fresh install.

**1.32352.0 (2026-08-17)** — includes the suspected trigger:
- Fixed settings and connector links in chat doing nothing, or opening your web browser, when clicked in the app; they now open the app's own settings.
- Fixed the chat showing an error screen instead of the conversation when Claude created or linked a file whose name contains a percent sign.

**Workaround:** requesting the file inside a `.zip` works, since `.zip` is not gesture-gated.

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

Reproduce the failure on Claude Desktop 1.32352.1 for the listed gesture-gated extensions, comparing it with the working 1.30096.1 behavior and the successful .txt/.zip cases. Read the referenced Chromium components/safe_browsing/content/resources/download_file_types.asciipb and verify whether the app provides gesture attribution or recovery UI. Done means source-file downloads work again or blocked downloads offer a clear Keep/Delete path and accurate message.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Lĩnh vực
desktop
Loại issue
Lỗi
Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
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
25/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.