[BUG] [Windows] Widget overflow menu: Download SVG/PNG are silent no-ops; Copy to clipboard now fails (app logs 'download-file not yet wired' + CSP font blocks)

Status Closed — not planned
Maintainer reply None cached
Activity 1 comment · opened Sep 3, 2026 · closed Sep 7, 2026

Both actions in a show_widget widget's overflow menu are broken on the current Windows desktop build. The two download items do nothing at all, and "Copy to clipboard" — which worked as recently as July — now fails with a visible error. The app's own logs name a cause for each.

This supersedes #78357 (filed 2026-07-17, auto-closed as inactive 2026-09-03 with no human reply). Reopening that issue is not available to its author (viewerCanReopen: false), so this is filed fresh as the closing note invites.

Environment

  • Claude desktop app 1.44121.4 (x64, Microsoft Store install)
  • Windows 11 Pro, build 26200

Steps to reproduce

  1. Open the Claude desktop app on Windows.
  2. In a chat, have Claude render a widget using the visualize MCP server's show_widget tool.
  3. Hover the widget and click the overflow (three-dot) menu at its top-right.
  4. Click Download SVG. Then repeat and click Download PNG.
  5. Repeat and click Copy to clipboard.

Expected

Steps 4 and 5 save a file (or open a Save As dialog) and place the widget on the clipboard, each with visible confirmation.

Actual

| Control | Result |
|---|---|
| Download SVG | Nothing. No file, no dialog, no error, no notification. |
| Download PNG | Nothing. Same. |
| Copy to clipboard | Visible error: "Copy failed - Try from claude.ai in browser" |

Evidence: filesystem

A baseline was taken immediately before the clicks and the disk swept immediately after:

  • No file created in %TEMP%, Downloads, Desktop, or elsewhere in the user profile.
  • No zero-byte temporary file appeared. (Note: under the older build in #78357, the click at least produced a zero-byte GUID .tmp in %TEMP%. It no longer gets that far.)
  • %APPDATA%\Claude\Preferences is unchanged at 229 bytes and contains no download.* or savefile.* key, indicating no download has ever completed on this installation.

Evidence: application logs

From %LOCALAPPDATA%\Claude\logs\, timestamps matching the clicks exactly.

Download clicks — four of these logged in a 12-second window (16:49:41–16:49:53) across the two download items:

[MCP] [Epitaxy MCP App] download-file not yet wired (no confirmation modal): 1 item(s)

This phrase occurs 5 times in an 11-day log; 4 of them are these clicks.

Copy to clipboard click (16:50:03), in order:

[error] Error inlining remote css file [object DOMException]
[error] Error loading remote stylesheet [object DOMException]
[error] Error while reading CSS rules from https://cdn.jsdelivr.net/npm/@tabler/icons-webfont@3.42.0/dist/tabler-icons.min.css [object DOMException]
[error] Connecting to 'https://assets.claude.ai/Fonts/AnthropicSans-Text-Regular-Static.otf' violates the following Content Security Policy directive
[error] Fetch API cannot load https://assets.claude.ai/Fonts/AnthropicSans-Text-Regular-Static.otf. Refused to connect because it violates the document's Content Security Policy.

The same CSP refusal then repeats for all 20 AnthropicSans / AnthropicSerif font files, followed by 16 x [warn] Failed to fetch.

Analysis

  1. Download has no implementation behind it. The app logs download-file not yet wired on each click. This is consistent with the total absence of filesystem activity.
  2. The export path shared by Copy cannot assemble a self-contained widget. It is blocked from reading the cross-origin icon stylesheet on cdn.jsdelivr.net (reading cssRules across origins throws a SecurityError), and its own font files on assets.claude.ai are refused by the document's own Content Security Policy.

The test widget was a plain SVG containing no icons at all, so the icon-stylesheet failure is not caused by widget content — the host loads that stylesheet regardless.

Impact

Users get no file and no feedback from the download items, so they assume the save succeeded and go looking for it; the silent failure costs more time than a visible error would. With Copy to clipboard now also failing, there is no working way to get a widget out of the desktop app. The Copy error's own advice — use claude.ai in a browser — is currently the only route.

Regression note

In July (build 1.21459.3.0, #78357) Copy to clipboard worked, and that was the detail which isolated the fault to the save path. On 1.44121.4 it fails too, so the whole menu is now non-functional.

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗