[BUG] Extension icons not rendering (blank squares) after update, in Remote-SSH session
Preflight Checklist
- [x] I have searched existing issues 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?
After the extension auto-updated to version 2.1.259, several UI icons belonging to Claude Code stopped rendering their graphics, showing as blank/grey squares instead:
- The icon in the Activity Bar / Secondary Side Bar
- The "Claude Code: Open" button in the editor toolbar (top right, next to Run controls)
The extension itself is fully functional — hovering over the icons shows the correct tooltip ("Claude Code" / "Claude Code: Open"), clicking them opens the panel normally, and the Claude Code session manager, chat, and status bar text indicator ("Claude Code" text at the bottom status bar) all work and display correctly. Only the icon graphics themselves fail to render.
This is happening in a VS Code Remote-SSH session (client: Fedora Linux, remote host: Ubuntu).
<img width="1920" height="1080" alt="Image" src="https://github.com/user-attachments/assets/f9fe9375-e923-46c2-97fb-66cebb5d881b" />
<img width="1920" height="1080" alt="Image" src="https://github.com/user-attachments/assets/d51d9ce5-b663-471f-a8de-21e2380e259a" />
What Should Happen?
Icons should render normally (the orange Claude Code spiral logo) in both the sidebar and the editor toolbar, as they did before the update.
Error Messages/Logs
Steps to Reproduce
- Use Claude Code for VS Code connected via Remote-SSH (client: Fedora, remote: Ubuntu)
- Let the extension auto-update to v2.1.259
- Observe the Activity Bar / Secondary Side Bar — the Claude Code icon is a blank/grey square
- Observe the editor toolbar (top right, near Run controls) — the "Claude Code: Open" button icon is also blank
- Note that tooltips, click actions, and the status bar text indicator all work correctly — only the icon graphics fail
Claude Model
_No response_
Is this a regression?
Yes, this worked in a previous version
Last Working Version
_No response_
Claude Code Version
N/A - using VS Code extension only (v2.1.259)
Platform
Other
Operating System
Other Linux
Terminal/Shell
VS Code integrated terminal
Additional Information
- Developer: Reload Window — no effect
- Confirmed extension is enabled (not disabled) on the SSH remote
- Confirmed extension shows "Extension is enabled on 'SSH: ...'"
3 Comments
Confirming this on a macOS (iMac M1) client with extension v2.1.265 — so the regression is still present six versions after 2.1.259, and this makes three different client OSes (Fedora here, Windows in #92450, now macOS/arm64), which rules out the client side.
Environment
| | |
|---|---|
| Extension |
anthropic.claude-code2.1.265 (linux-x64), installed on the remote || VS Code | 1.136.2, commit
88e44fa0e00b08f7758b4f6d05632e4fd5e4df6f(2026-09-04) || Client | macOS, iMac M1 (Apple Silicon) |
| Remote | Ubuntu 26.04.1 LTS, kernel 7.0.0-31-generic, x86_64, via Remote-SSH |
| Remote server Node | v24.18.1 (same as #92450) |
Symptom matches this issue exactly: the Activity Bar slot is present and the tooltip reads "Claude Code", clicking it opens the panel and the session manager works normally — only the glyph is blank. Opening a local folder on the iMac (no SSH) renders the icon correctly; it is blank only in the Remote-SSH window.
The icon asset is not the problem
I checked this on the remote rather than assuming, because it seemed the obvious first suspect:
resources/claude-logo.svgis present in the installed remote extension — 1696 bytes,sha256:a3101f3047a119aa11825ad9369510f0c472428c8c52d420e31bc62db44a8364.-webkit-mask-image+mask-size: 24px) and the spark drew fine. I also tested a variant withwidth/heightset to24instead of the shipped1em, and one withfill="currentColor"instead of the hardcodedfill="#D97757"— all three masked identically, so neither the1emintrinsic sizing nor the hardcoded fill is responsible.Anthropic.claude-codeactivates cleanly; there are no icon, resource-fetch, orENOENTerrors against the extension'sresources/directory.So the file is intact and valid — which suggests the failure is in how the icon is fetched or served over the remote resource channel, not in the asset.
Possibly useful for narrowing which container is blank
The extension declares two activity-bar view containers, both titled "Claude Code" and both using
resources/claude-logo.svg:claude-sidebar, gated onclaude-code:doesNotSupportSecondarySidebarclaude-sessions-sidebar, gated onclaude-vscode.sessionsListEnabledIn
extension.js,claude-code:doesNotSupportSecondarySidebaris only set when the VS Code version is below 1.106:On 1.136.2 that key stays unset, so
claude-sidebaris not contributed and the primary sidebar entry goes to the secondary sidebar instead. The container actually occupying the blank Activity Bar slot here is thereforeclaude-sessions-sidebar— whose sole viewclaudeVSCodeSessionsListis declared with an empty"name": "". Flagging in case it helps identify which of the two code paths is the one failing to resolve its icon; I have not verified that this is causally related.Happy to run any further diagnostics on this remote if it would help.
this has been a while :D only on remote ssh machine actually
I am experiencing this issue too. Is there any known workaround?