[Bug] Quick Entry from system tray renders raw JS bundle instead of input UI (Kubuntu/KDE)
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?
Environment:
Distro: Kubuntu (KDE Plasma)
Display server: Wayland
Install source: official Anthropic .deb
Claude Desktop version: (Settings > About, or dpkg -l | grep claude)
Actual: A window opens showing raw, unrendered JavaScript — appears to be the app's minified React/Sentry bundle source displayed as plain text instead of the compiled UI mounting correctly. Text is selectable/copyable.
Additional notes: Possibly related to known KDE-specific Quick Entry rendering/focus issues on the Linux beta. Screenshots attached showing the raw bundle content, including a visible Sentry debug ID string.
Same thing happens when click 3 piles icon -> Help about:
connection attempt using server-provided retry interval or backoff @param lastEventId The ID of the last received event for resumability @param attemptCount Current reconnection attempt count for this specific stream / _scheduleReconnection(options, attemptCount = 0) { var _a3; const maxRetries = this._reconnectionOptions.maxRetries; if (attemptCount >= maxRetries) { (_a3 = this.onerror) == null ? void 0 : _a3.call(this, new Error(Maximum reconnection attempts (${maxRetries}) exceeded.)); return; } const delay = this._getNextReconnectionDelay(attemptCount); this._reconnectionTimeout = setTimeout(() => { this._startOrAuthSse(options).catch((error) => { var _a4; (_a4 = this.onerror) == null ? void 0 : _a4.call(this, new Error(Failed to reconnect SSE stream: ${error instanceof Error ? error.message : String(error)})); this._scheduleReconnection(options, attemptCount + 1); }); }, delay); } _handleSseStream(stream, options, isReconnectable) { if (!stream) { return; } const { onresumptiontoken, replayMessageId } = options; let lastEventId; let hasPrimingEvent = false; let receivedResponse = false; const processStream = async () => { var _a3, _b, _c, _d; try { const reader = stream.pipeThrough(new TextDecoderStream()).pipeThrough(new EventSourcePars
What Should Happen?
Expected: A floating Quick Entry input box opens.
Error Messages/Logs
Steps to Reproduce
Right-click the Claude system tray icon
Select "Open Quick Entry"
<img width="1863" height="1261" alt="Image" src="https://github.com/user-attachments/assets/a4400841-93e5-454a-8c5f-5efdd5775cc6" />
<img width="1642" height="1099" alt="Image" src="https://github.com/user-attachments/assets/afc8d593-3f57-4ca6-8320-65abe4e12a49" />
<img width="4157" height="2016" alt="Image" src="https://github.com/user-attachments/assets/6f161cf2-97db-4f7a-8c10-3db8080f28ab" />
<img width="2162" height="1251" alt="Image" src="https://github.com/user-attachments/assets/c48fed74-3a22-4400-88dc-9c5a084ee3ed" />
Claude Model
None
Is this a regression?
I don't know
Last Working Version
_No response_
Claude Code Version
claude: command not found
Platform
Anthropic API
Operating System
Ubuntu/Debian Linux
Terminal/Shell
Xterm
Additional Information
_No response_