Claude for Chrome 1.0.74 — Chrome 148 / macOS 26.5 NSCGSTransaction race condition crashes
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
- macOS 26.5, Chrome 148.0.7778.216, Claude for Chrome 1.0.74 installed and signed in.
- Open Chrome with the extension enabled.
- Use Chrome normally for 5–30 minutes (open tabs, click links, run MCP-driven navigation from Claude Desktop).
- 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.
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗