[BUG] Desktop (macOS): unhandled GPU-init rejection crashes app when hardware acceleration is disabled

Open 💬 1 comment Opened Jul 9, 2026 by ThHirsch

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

Claude Desktop for macOS — version 1.19367.0 (1a5be1), build 2026-07-07T05:45:41Z
Intel Mac, macOS Tahoe 26.3.1
Clean install — no connectors, plugins, or integrations
No in-app feedback option present in this build's GUI
Onset: began after a recent app auto-update

Situation/Background:
Bug 1 — Renderer CPU spike stalls the whole OS on modal open (_Note: for this Bug1 I will file a separate issue - it is just the background as to why I hit/found Bug-2 (see below) for what this issue is about )_
Repro: open any modal dialog (New Project, Settings).
Actual: the Claude Helper (Renderer) process spikes to ~100% CPU the instant the dialog appears; the entire OS becomes unresponsive until the dialog is dismissed. Text typed into the dialog appears character-by-character with multi-second latency.
Expected: opening a modal should be near-instant and not saturate a core.
Notes: --disable-gpu-compositing alone only partially relieves it (points to renderer/React re-render cost, not pure GPU compositing). Launching with --disable-gpu --disable-gpu-compositing fully resolves it — usable workaround, but GPU-off shouldn't be required for a text UI.

Bug 2 — Unhandled promise rejection crashes the app instead of falling back to software rendering

  • Repro: enable "disable GPU acceleration" via the Help menu, then launch from Terminal with only --disable-gpu-compositing.
  • Actual: an async GPU-init path throws Error: GPU access not allowed. Reason: GPU access is disabled in chrome://settings. The rejection is unhandled (no .catch), so the app hangs and must be force-quit from Activity Monitor.
  • Expected: with the GPU disabled, GPU init should be skipped or caught and degrade gracefully to software rendering — not crash. The conflicting-instruction state (stored GPU-off preference + partial compositing flag) should be reconciled rather than fatal.

What Should Happen?

with the GPU disabled, GPU init should be skipped or caught and degrade gracefully to software rendering — not crash. The conflicting-instruction state (stored GPU-off preference + partial compositing flag) should be reconciled rather than fatal.

Error Messages/Logs

user@somemac% /Applications/Claude.app/Contents/MacOS/Claude --disable-gpu-compositing
This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). The promise rejected with the reason:
Error: GPU access not allowed. Reason: GPU access is disabled in chrome://settings.
    at Object.processEvent (/Applications/Claude.app/Contents/Resources/app.asar/.vite/build/index.pre.js:33:17942)
    at Object.assign.id (/Applications/Claude.app/Contents/Resources/app.asar/.vite/build/index.pre.js:13:19066)
    at rf (/Applications/Claude.app/Contents/Resources/app.asar/.vite/build/index.pre.js:32:893)
    at runNextTicks (node:internal/process/task_queues:65:5)
    at process.processImmediate (node:internal/timers:472:9)
    at async Immediate.<anonymous> (/Applications/Claude.app/Contents/Resources/app.asar/.vite/build/index.pre.js:33:1361)

Steps to Reproduce

enable "disable GPU acceleration" via the Help menu, then launch from Terminal with only --disable-gpu-compositing.

Claude Model

Opus

Is this a regression?

Yes, this worked in a previous version

Last Working Version

not sure, had some autoupdated in short time where this bug persisted, not sure what recent version worked well without that regression

Claude Code Version

1.19367.0 (1a5be1), build 2026-07-07T05:45:41Z

Platform

Anthropic API

Operating System

macOS

Terminal/Shell

Terminal.app (macOS)

Additional Information

This regression was found while coping with this issue - tried to mitigate and then ran into the issue with this exception happening while starting Claude 'normally' or by terminal with the reported options :

Renderer CPU spike stalls the whole OS on modal open (_Note: for this Bug1 I will file a separate issue - it is just the background as to why I hit/found Bug-2 (see below) for what this issue is about )_
Repro: open any modal dialog (New Project, Settings).
Actual: the Claude Helper (Renderer) process spikes to ~100% CPU the instant the dialog appears; the entire OS becomes unresponsive until the dialog is dismissed. Text typed into the dialog appears character-by-character with multi-second latency.
Expected: opening a modal should be near-instant and not saturate a core.
Notes: --disable-gpu-compositing alone only partially relieves it (points to renderer/React re-render cost, not pure GPU compositing). Launching with --disable-gpu --disable-gpu-compositing fully resolves it — usable workaround, but GPU-off shouldn't be required for a text UI.

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗