Claude for Chrome 1.0.74 — Chrome 148 / macOS 26.5 NSCGSTransaction race condition crashes

Resolved 💬 1 comment Opened Jun 3, 2026 by RobMitt Closed Jul 8, 2026

Environment

  • macOS 26.5 (build 25F71), Apple Silicon (Mac16,8), 48 GB RAM
  • Chrome 148.0.7778.216
  • Claude for Chrome extension 1.0.74
  • Claude Desktop (Cowork) 1.9659.4 (also reproduced on 1.9659.2 and 1.9255.2)

Symptom

Chrome quits entirely (whole app, all windows close — not just a renderer crash) within minutes of any session that has the Claude for Chrome extension enabled. Triggered by Cmd+T, new tab via tab strip "+" button, link clicks from external apps, and during normal idle use. ~30 min repro window on a fresh launch; faster under MCP load.

(Meta repro: Chrome crashed mid-submission of this very issue, while I was using the Chrome MCP via Claude Desktop to fill in the form.)

Isolation

  • Clean Chrome profile, no extensions: stable
  • Real profile, all extensions enabled, Claude for Chrome disabled: stable
  • Real profile, only Claude for Chrome enabled: crashes
  • Full Chrome uninstall + reinstall (binary + profile + caches): stable for ~48 hours, then crashes returned
  • Extension uninstall + reinstall + cleared Extensions/, Local Extension Settings/, Sync Extension Settings/, IndexedDB for the extension ID: did not fix
  • Site access set to "On click": did not fix (background service worker still active)
  • Hardware acceleration off: did not fix
  • Apple Intelligence fully disabled at system level: did not fix
  • Crash signature persists across Cowork versions 1.9255.2, 1.9659.2, 1.9659.4

Crash signature — original (with Apple Intelligence enabled)

EXC_BREAKPOINT (SIGTRAP), code 0x1, on CrBrowserMain. Earlier incident ID: CB21444E-22C7-4A8C-A480-68074B219A3A.

Log sequence right before exit:

[com.apple.UIIntelligenceSupport:xpc] establishing connection to agent
[com.apple.AppKit:Intelligence] starting collection observation
[com.apple.WritingTools:Default] isAvailable value changed
[com.apple.TextInputUI.xpc.CursorUIViewService] connection invalidated after the last release
[com.apple.coreanimation:API] cannot add handler to 4 from 1 - dropping
[com.apple.AppKit:NSCGS] <private>  (×15)
[com.apple.ViewBridge:animation] FAULT: NSVB_AnimationFencingSupport unable to create fence for <private>
[com.apple.CoreAnalytics:client] Entering exit handler

Crash signature — with Apple Intelligence disabled

Same crash, different upstream trigger. Apple Intelligence and CursorUIViewService no longer fire. Instead, rapid window-group churn precedes the NSCGS failure:

parent BrowserNativeWidgetWindow 56c6 add NativeWidgetMacNSWindow 56d5 to group
parent BrowserNativeWidgetWindow 56c6 remove NativeWidgetMacNSWindow 56d5 from group
parent BrowserNativeWidgetWindow 56c6 add NativeWidgetMacNSWindow 56e2 to group
parent BrowserNativeWidgetWindow 56c6 remove NativeWidgetMacNSWindow 56e2 from group
[~15 add/remove cycles inside a single millisecond]
[com.apple.AppKit:NSCGS] <private>
[com.apple.coreanimation:API] cannot add handler to 2 from 2 - dropping

Full stack at the NSCGS error:

0   AppKit          +[_NSCGSTransaction currentTransaction] + 684
1   AppKit          NSCGSTransactionSetObjectForKey + 48
2   AppKit          __NSCGSWindowMarkProperty__block_invoke + 328
3   AppKit          NSCGSTransactionRunPreCommitActionsForOrder_ + 184
4   AppKit          NSCGSTransactionRunPreCommitActions_ + 204
5   AppKit          -[_NSCGSTransaction dealloc] + 48
6   libsystem_blocks.dylib  _Block_release
7   QuartzCore      CA::Transaction::run_commit_handlers
8   QuartzCore      CA::Context::commit_transaction
9   QuartzCore      CA::Transaction::commit
10  QuartzCore      CA::Transaction::flush_as_runloop_observer
11  AppKit          stepTransactionFlush
12  UpdateCycle     UC::DriverCore::continueProcessing
13  CoreFoundation  __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__
14  CoreFoundation  __CFRunLoopDoObservers
15  CoreFoundation  _CFRunLoopRunSpecificWithOptions
16  HIToolbox       RunCurrentEventLoopInMode
...
24  Google Chrome Framework  ChromeMain (NSApplication run loop, event dispatch)
27  AppKit          -[NSApplication run]

Suspected cause

The extension's background service worker (or a content script it injects) is causing child NativeWidgetMacNSWindow instances to be added to and removed from window groups dozens of times per millisecond. This trips a CoreAnimation / NSCGSTransaction race in Chrome 148 + macOS 26.5 — when NSCGSTransactionRunPreCommitActionsForOrder_ fires inside a transaction dealloc, +currentTransaction returns no current transaction, and the commit pipeline crashes.

Trigger and crash site are both in macOS/Chrome code, but the root cause is the extension's window manipulation pattern. Apple Intelligence was an aggravating co-factor (it adds extra cycles to the same code path) but is not required.

Reproducer

  1. macOS 26.5, Chrome 148.0.7778.216, Claude for Chrome 1.0.74 installed and signed in.
  2. Open Chrome with the extension enabled.
  3. Use Chrome normally for 5–30 minutes (open tabs, click links, run MCP-driven navigation from Claude Desktop).
  4. Chrome quits entirely. No JetsamEvent. Free memory at crash time is typically 6–8 GB.

Impact

Blocks normal use of the extension. MCP via Claude Desktop is a core workflow — running with the extension disabled defeats the point of the product. Affected for 5+ days of continuous troubleshooting.

Note

Anthropic support directed me to file here. If the right repo for Claude for Chrome bugs is elsewhere, please redirect — happy to refile.

View original on GitHub ↗

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