Webview panel icons fail to load with `net::ERR_FAILED` (`vscode-remote` scheme) under Remote-SSH; works locally on Windows
Description
In VS Code Remote-SSH, Kilo Code webview panel icons do not load. The developer console shows repeated:
kilo-dark.svg?authority=ssh-remote%2Bvuoksa-01&scheme=vscode-remote:1 Failed to load resource: net::ERR_FAILED
kilo-light.png?authority=ssh-remote%2Bvuoksa-01&scheme=vscode-remote:1 Failed to load resource: net::ERR_FAILED
kilo-icon-font.woff2?authority=ssh-remote%2Bvuoksa-01&scheme=vscode-remote:1 Failed to load resource: net::ERR_FAILEDOnly icon assets fail; the rest of the webview (agent-manager, dialogs, the Kilo backend) loads and works normally.
Environment
- VS Code: 1.136.1 (remote server commit
a44adf7f53e00964ab890f9f8758a334f1fc15bc) - Extension: Kilo Code
7.5.14and7.5.15(tested both — identical behavior) - Access model: Remote-SSH (Windows client → Linux host
vuoksa-01) - Client OS: Windows 10/11 (local VS Code, no Remote — icons work)
- Server OS: Linux (see details below)
To Reproduce
- Connect VS Code to a Linux host via Remote-SSH.
- Open the Kilo Code panel (Agent Manager / chat webview).
- Open Developer Tools console (Help → Toggle Developer Tools → Console).
- Observe
Failed to load resource: net::ERR_FAILEDforkilo-dark.svg,kilo-light.png,kilo-icon-font.woff2.
Expected behavior
Webview panel icons (assets/icons/*) display correctly in the Remote-SSH session, same as when running the same extension locally on Windows.
Actual behavior
Icons do not load; every request for an icon from assets/icons/ fails with net::ERR_FAILED. The URI uses the vscode-remote://ssh-remote+<host>/...?scheme=vscode-remote scheme.
Additional context / what I already verified
- The icon files exist on the remote host and are valid:
kilo-dark.svg(valid SVG, 804 B),kilo-icon-font.woff2(valid WOFF2, 712 B),kilo-light.png(256×256 PNG). All are readable (-rw-r--r--), and every parent directory is traversable/readable. webview.asWebviewUri(...)is used for the icons (joppathofextensionUri,assets/icons), andlocalResourceRootsincludesextensionUri. The JS bundle indist/loads and runs fine through the sameasWebviewUri; only the icons underassets/icons/fail.- Reproduced across extension versions 7.5.14 and 7.5.15, after full Remote-SSH reconnect, killing VS Code Server on host, clearing the Windows
Cache/CachedDatadirectories, and removing orphaned/obsolete remote server processes. - The same extension works correctly when accessed locally on Windows (no Remote-SSH).
- When running remote,
asWebviewUriresolves the icon path to schemevscode-remote; locally it resolves to a workingvscode-webviewURI. Suspected regression in Remote-SSH webview resource serving for assets under a subdirectory (icons) when the URI scheme isvscode-remote.
Log snippet
[Extension Host] Kilo Code extension is now active
[Extension Host] ServerManager: Using CLI path: .../kilocode.kilo-code-7.5.15/bin/kilo
[Extension Host] ServerManager: ✅ Server started successfully
[Extension Host] SSE: ✅ Stream opened successfully
[Extension Host] KiloProvider: ✅ initializeConnection completed successfully
kilo-dark.svg?...&scheme=vscode-remote:1 Failed to load resource: net::ERR_FAILED
kilo-icon-font.woff2?...&scheme=vscode-remote:1 Failed to load resource: net::ERR_FAILEDSuggested fix direction
Ensure webview icon assets are served with a scheme the remote webview can resolve (e.g. vscode-webview/vscode-resource), or inline the SVGs/icons as data URIs / embed them under the resource root so Remote-SSH delivers them like the working dist/ bundle.
Plugins
No response
Kilo version
7.5.15
Steps to reproduce
No response
Screenshot and/or share link
No response
Operating System
Windows 10 host with Remote SSH to Ubuntu 22.04
Terminal
No response
Source: Kilo-Org/kilocode