Skip to content
This repository was archived by the owner on Dec 4, 2025. It is now read-only.

Claude Desktop fails to load due to Cloudflare bot detection (HTTP 403) #36

@ahinek

Description

@ahinek

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: challenge

Steps to Reproduce

  1. Install Claude Desktop using the provided build script
  2. Launch the application: /opt/electron/claude
  3. 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-sandbox with 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:

  1. The build extracts Claude Desktop from the Windows .exe file
  2. The extracted Electron app doesn't set proper User-Agent headers in webview requests
  3. Cloudflare detects missing browser fingerprints and blocks the requests
  4. The application receives Cloudflare's challenge page instead of the Claude interface

Proposed Solutions

  1. Modify the ASAR bundle to inject proper User-Agent headers at the webContents level
  2. Add webRequest handlers to modify headers before requests are sent to claude.ai
  3. Use official Linux binaries if/when Anthropic releases them
  4. 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions