-
Notifications
You must be signed in to change notification settings - Fork 39
Claude Desktop fails to load due to Cloudflare bot detection (HTTP 403) #36
Description
Issue: Claude Desktop fails to load due to Cloudflare bot detection (HTTP 403)
Description
Claude Desktop for Fedora builds and installs successfully, but the application window fails to load the Claude interface. After a brief white screen flash (2-3 seconds), the window displays a dark grey screen with a cream-colored top banner and becomes completely unresponsive to mouse input.
Environment
- OS: Fedora 42 (Linux 6.16.7-200.fc42.x86_64)
- Desktop Environment: GNOME on Xorg
- Claude Desktop Version: 0.13.37
- Installation Method: Built from source using
build-fedora.sh - Electron Version: 37.5.1 (standalone installation in /opt/electron)
Root Cause
Through verbose logging and network analysis, I've identified that Cloudflare is blocking the application with HTTP 403 errors due to bot detection:
HTTP/2 403
cf-mitigated: challenge
The application logs show:
2025-10-06 20:08:42 [debug] No User Agent Found {
requestHeaders: {
Accept: 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7'
}
}
Testing with curl confirms Cloudflare is blocking requests without proper browser identification:
$ curl -I https://claude.ai
HTTP/2 403
cf-mitigated: challengeSteps to Reproduce
- Install Claude Desktop using the provided build script
- Launch the application:
/opt/electron/claude - Observe:
- Window appears briefly with white screen
- Window turns dark grey with cream-colored banner
- Application is completely unresponsive
- No content loads from claude.ai
Attempted Workarounds (All Failed)
- ✗ Disabling GPU:
--disable-gpu --disable-software-rasterizer - ✗ Running with custom User-Agent flag:
--user-agent="Mozilla/5.0..." - ✗ Using
--disable-blink-features=AutomationControlled - ✗ Combining
--no-sandboxwith User-Agent settings
None of these command-line flags successfully bypass Cloudflare's detection because the issue is in how the Electron webview makes requests internally.
Technical Details
The problem occurs because:
- The build extracts Claude Desktop from the Windows
.exefile - The extracted Electron app doesn't set proper User-Agent headers in webview requests
- Cloudflare detects missing browser fingerprints and blocks the requests
- The application receives Cloudflare's challenge page instead of the Claude interface
Proposed Solutions
- Modify the ASAR bundle to inject proper User-Agent headers at the webContents level
- Add webRequest handlers to modify headers before requests are sent to claude.ai
- Use official Linux binaries if/when Anthropic releases them
- Consider alternative extraction methods that preserve proper browser identification
Logs
Verbose launch log showing GPU initialization and network requests available upon request. Main error indicators:
vaInitialize failed: unknown libva error(GPU-related, but not the main issue)No User Agent Found(repeated)- HTTP requests to claude.ai result in 403 responses
Expected Behavior
Claude Desktop should load the claude.ai interface successfully, just as it does on Windows and macOS.
Additional Context
This appears to be a common issue with unofficial Electron-based Linux builds. The official Claude Desktop works fine on other platforms because it includes proper browser identification that passes Cloudflare's bot detection.
Note: This issue affects the core functionality of the application. Without resolving the Cloudflare blocking, the application is essentially unusable on Fedora/Linux systems.