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)

Aperta
#88,229 1 commento 0 reazioni 0 assegnatari Vedi su GitHub
invalid
Lingua principale
Python
Stelle
145k
Fork
23.1k
Metriche di merge delle PR
Metriche PR in attesa

Descrizione

### 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.

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Direzione di ricerca

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.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Ambito
desktop
Tipo di issue
Bug
Difficoltà
5/5
Tempo stimato
Più di una settimana
Stato di attività
Attiva
Chiarezza
Abbastanza chiara
Idoneità per principianti
25/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.