[BUG] Claude Desktop (Linux): no graceful fallback behind TLS-intercepting corporate proxy — QUIC hard-fail on launch, Design tab ERR_HTTP2_PROTOCOL_ERROR
Resolved 💬 2 comments Opened Jul 2, 2026 by HJLeee Closed Jul 5, 2026
Environment
- Claude Desktop 1.17377.2 (Electron 42.5.1), Ubuntu 24.04.4 LTS
- Corporate network: explicit HTTP proxy with TLS interception (MITM CA installed in NSS db), QUIC/UDP 443 blocked
Summary
Behind a common enterprise network setup (explicit HTTP proxy + TLS interception + UDP 443 blocked), Claude Desktop fails at multiple layers without falling back or surfacing an actionable error:
- Launch: "Couldn't connect to Claude — Unknown error". The app ignores
http_proxy/https_proxyenvironment variables and attempts a direct QUIC connection, which dies withnet::ERR_QUIC_PROTOCOL_ERROR. Chromium does not fall back to HTTP/2/TCP for the health-check fetch (SimpleURLLoaderWrapperinmain.log), so the app is unusable until launched with--proxy-server=... --disable-quic. - Chat → Design tab: "Something went wrong". The Design surface's module bundle (
https://claude.ai/design/assets/v1/platform-<hash>.js) repeatedly fails withnet::ERR_HTTP2_PROTOCOL_ERROR(12 occurrences in one netlog session) on the app's long-lived multiplexed h2 connection through the intercepting proxy. Fetching the same URL over a fresh connection succeeds, so the proxy's h2 handling is at fault — but the app keeps retrying on the same poisoned connection and the UI only shows a generic error. Workaround: add--disable-http2.
Expected behavior
- Respect standard proxy environment variables (or system proxy settings) on Linux.
- Fall back QUIC → h2 → http/1.1 on protocol errors, as browsers do.
- Surface the underlying
net::error code in the UI instead of "Unknown error" / "Something went wrong", so enterprise users can self-diagnose.
Steps to reproduce
- Network with explicit proxy
http://<proxy>:8080, TLS interception, UDP 443 blocked. - Launch Claude Desktop with no flags → "Couldn't connect to Claude — Unknown error" (
ERR_QUIC_PROTOCOL_ERRORin~/.config/Claude/logs/main.log). - Relaunch with
--proxy-server=http://<proxy>:8080 --disable-quic→ app works, log in succeeds. - Open Chat → Design → "Something went wrong" (
ERR_HTTP2_PROTOCOL_ERRORonclaude.ai/design/assets/v1/platform-*.jsin netlog). - Relaunch with
--disable-http2added → Design loads.
Related
Possibly related QUIC-behind-restrictive-network reports on other platforms: #25497 (macOS Cowork), #65885 (Windows MSIX).
🤖 Generated with Claude Code
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗