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)
- Langage dominant
- Python
- Étoiles
- 145k
- Forks
- 23.1k
- Métriques de merge des PR
- Métriques de PR en attente
Description
### 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.
Guide de contribution
Aucun guide de contribution indexé pour ce dépôt
Piste de recherche
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.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Domaine
- desktop
- Type d'issue
- Bug
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Activité
- Active
- Clarté
- Plutôt claire
- Accessibilité débutants
- 25/100