[BUG] Claude Desktop for Mac freezes every 7-10 minutes (EventEmitter listener leak)

Status Open
Maintainer reply None cached
Activity 3 comments · opened Sep 8, 2026

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?

Claude Desktop for Mac freezes (UI becomes unresponsive) repeatedly, roughly every 7-10 minutes, isolated to the Claude app only. See the attached log excerpt showing a recurring EventEmitter memory leak warning that matches the freeze timing.

claude_desktop_bug_report.md

What Should Happen?

Claude Desktop should remain responsive during normal use. The EventEmitter listeners for claude.settings.AppPreferences.preferencesChanged and claude.web.LocalSessions.onEvent should be cleaned up properly instead of accumulating over time.

Error Messages/Logs

2026-09-08 14:04:28 [warn] MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 $eipc_message$_ae5dcfbf-2200-4412-99ed-93631947ebe0_$_claude.settings_$_AppPreferences_$_preferencesChanged listeners added. Use emitter.setMaxListeners() to increase limit
2026-09-08 14:04:32 [warn] MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 $eipc_message$_ae5dcfbf-2200-4412-99ed-93631947ebe0_$_claude.web_$_LocalSessions_$_onEvent listeners added. Use emitter.setMaxListeners() to increase limit
2026-09-08 14:11:45 [warn] MaxListenersExceededWarning: (same, preferencesChanged)
2026-09-08 14:11:45 [warn] MaxListenersExceededWarning: (same, LocalSessions_onEvent)
2026-09-08 14:18:18 [warn] MaxListenersExceededWarning: (same, preferencesChanged)
2026-09-08 14:18:19 [warn] MaxListenersExceededWarning: (same, LocalSessions_onEvent)

Steps to Reproduce

  1. Open Claude Desktop and use it normally for an extended session (30+ minutes), including the Code tab.
  2. No specific trigger is required — the freeze occurs periodically during normal use.
  3. Roughly every 7-10 minutes, the Claude window becomes unresponsive and requires a restart to recover. Other applications are unaffected.
  4. Check ~/Library/Logs/Claude/claude.ai-web.log around the freeze time — a MaxListenersExceededWarning appears at matching timestamps (see Error Messages/Logs above).

Claude Model

Sonnet (default)

Is this a regression?

I don't know

Last Working Version

_No response_

Claude Code Version

Claude Desktop 1.46388.4 (embedded Code tab session; not a standalone CLI install, so claude --version is not applicable here)

Platform

Anthropic API

Operating System

macOS

Terminal/Shell

Terminal.app (macOS)

Additional Information

Possibly related to #80056 and #84693 (both Claude Desktop memory/Electron process growth issues on macOS), though the symptom pattern here is different: acute, repeated freezes every ~7-10 minutes isolated to the Claude window only, rather than gradual system-wide memory pressure over ~24 hours.

View original on GitHub ↗

3 Comments

naogoo358 · 1 month ago
naogoo358 · 24 days ago

This is still happening today (2026-09-22), roughly 2 weeks after I first reported it, with the exact same signature. Posting fresh evidence since the issue was auto-labeled invalid ("doesn't seem to be related to Claude Code") — I believe that's a mislabel, and want to clarify the connection before this gets lost.

Why this is related to Claude Code: the freeze happens while an embedded Code tab session (claude CLI process, --output-format stream-json) is actively running inside Claude Desktop. The stall is in the Electron/desktop shell around that session, not in a standalone web chat.

Fresh log evidence from today, ~/Library/Logs/Claude/main.log:

2026-09-22 12:01:34 [info] [process-memory] trigger=stall sys_free=26070MB/65536MB
2026-09-22 12:08:47 [info] [process-memory] trigger=stall sys_free=26404MB/65536MB
2026-09-22 12:16:53 [info] [process-memory] trigger=stall sys_free=23221MB/65536MB
2026-09-22 12:25:54 [info] [process-memory] trigger=stall sys_free=20417MB/65536MB
2026-09-22 12:32:48 [info] [process-memory] trigger=stall sys_free=21055MB/65536MB
~/Library/Logs/Claude/claude.ai-web.log, matching timestamps:

2026-09-22 12:16:42 [warn] MaxListenersExceededWarning: ... claude.settings_AppPreferences_preferencesChanged listeners added
2026-09-22 12:25:32 [warn] MaxListenersExceededWarning: ... claude.web_LocalSessions_onEvent listeners added
2026-09-22 12:25:33 [warn] MaxListenersExceededWarning: ... claude.settings_AppPreferences_preferencesChanged listeners added
2026-09-22 12:32:26 [warn] MaxListenersExceededWarning: ... claude.web_LocalSessions_onEvent listeners added
2026-09-22 12:32:27 [warn] MaxListenersExceededWarning: ... claude.settings_AppPreferences_preferencesChanged listeners added
Note sys_free stays well above 20GB the whole time (of 64GB total) — this is not memory exhaustion, it's consistent with a main-thread stall caused by the accumulating listeners, not a system-wide resource issue. I already ruled out disk space (confirmed the freeze recurs identically at 100GB+ free) and confirmed other apps are unaffected during the freeze.

Could someone take another look at the invalid label? Happy to attach full log excerpts or a fresh diagnostic report if that helps triage.

naogoo358 · 17 days ago

Following up again — this is still recurring a week after my last update, with the same signature, and the invalid label is still in place.

Fresh evidence from the past few days, ~/Library/Logs/Claude/main.log (trigger=stall events):

2026-09-26 22:50:25 ... sys_free=35655MB/65536MB
2026-09-26 22:52:13 ... sys_free=34311MB/65536MB
2026-09-28 11:42:57 ... sys_free=33534MB/65536MB
2026-09-28 12:28:20 ... sys_free=35936MB/65536MB
2026-09-28 12:35:25 ... sys_free=35832MB/65536MB
2026-09-28 12:36:01 ... sys_free=36017MB/65536MB
2026-09-28 12:36:27 ... sys_free=35578MB/65536MB
2026-09-29 10:34:52 ... sys_free=42254MB/65536MB
2026-09-29 10:37:38 ... sys_free=38967MB/65536MB
2026-09-29 11:43:13 ... sys_free=32370MB/65536MB
~/Library/Logs/Claude/claude.ai-web.log, matching timestamps today:

2026-09-29 10:34:51 [warn] MaxListenersExceededWarning: ... claude.settings_AppPreferences_preferencesChanged listeners added
2026-09-29 10:34:51 [warn] MaxListenersExceededWarning: ... claude.web_LocalSessions_onEvent listeners added
2026-09-29 10:40:58 [warn] MaxListenersExceededWarning: ... claude.web_WindowState_visibilityChanged listeners added
2026-09-29 11:42:41 [warn] MaxListenersExceededWarning: ... claude.settings_AppPreferences_preferencesChanged listeners added
2026-09-29 11:42:41 [warn] MaxListenersExceededWarning: ... claude.web_LocalSessions_onEvent listeners added
New detail I hadn't reported before: a third IPC channel is also leaking listeners — claude.web_$_WindowState_$_visibilityChanged — in addition to the two I originally flagged (AppPreferences.preferencesChanged, LocalSessions.onEvent). All three are hitting the same count (11) when the warning fires, which still points to the same root cause (listeners not being cleaned up per Code-tab/session lifecycle) rather than three unrelated leaks.

sys_free is consistently 30-40GB+ out of 64GB across all these events, so this remains a main-thread stall / listener-leak issue, not memory exhaustion or disk space.

Could someone please take another look at the invalid label? It's been about 3 weeks since the original report and this is still reproducing identically. Happy to provide the full raw logs or a fresh diagnostic report if that would help move this forward.