[BUG] Claude desktop app opens infinite popup windows and freezes system when usage limit is hit during heavy parallel background tasks
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?
Summary
While running multiple heavy parallel background operations (3 concurrent long-running subprocess scans via Claude Code CLI), the Claude desktop app (Electron-based, Claude.app) began repeatedly opening new windows/popups referencing "Claude monthly usage limit exceeded" with a claude.ai address. The popups kept spawning continuously ("infinitely"), filling the screen, and eventually the system became unresponsive/frozen. I was forced to perform a hard restart to recover — no other way to stop it.
Environment
- OS: macOS (Darwin 24.6.0)
- App: Claude desktop app (Electron-based — confirmed via
ElectronNSWindowin unified system logs) - Trigger context: Claude Code CLI session running 3 concurrent background bash tasks (heavy subprocess-based scanning scripts) at the same time
Steps to reproduce (best guess)
- Run Claude Code CLI with multiple (3+) concurrent long-running background tool calls / heavy API usage in a short window
- App appears to hit a usage/rate limit
- Instead of showing a single limit notice, the app seems to enter a retry loop, repeatedly opening new windows pointing to a "limit exceeded" page
- Windows continue to spawn without user interaction, eventually consuming enough system resources to freeze the machine
Impact
- Full system freeze, required a hard restart (risk of data loss / unsaved work)
- No visible way to stop the popup loop from within the app (couldn't even take a screenshot before freeze)
What I checked to rule out other causes
- No Google Chrome installed on the system — confirmed the "Chrome-like" windows were
Claude.appitself (Electron/Chromium-based) - No browser extensions installed (checked Brave, the actual default browser) that could explain it
- No entries in real browser history matching the popup content — consistent with this being the Claude app's own internal window, not a real web navigation
- No malware/rogue script found in scanned local files that could explain browser-opening behavior
Request
Please add a safeguard so that hitting a usage/rate limit shows a single notice (not a spawning loop of new windows), and ensure the retry/limit-check logic cannot open unbounded windows regardless of how many concurrent requests are in flight.
What Should Happen?
The app should show a single, clear "usage limit reached" notice — it should not repeatedly spawn new windows in a retry loop, and it must never be able to freeze/crash the entire system regardless of how many concurrent API requests are in flight.
Error Messages/Logs
Steps to Reproduce
- Open Claude Code CLI and start a session with heavy tool usage.
- Launch 3 concurrent long-running background bash tasks in the same
session (e.g. run_in_background: true on multiple subprocess-heavy
scripts), causing a burst of API/tool-call usage in a short window.
- While these background tasks are running, the Claude desktop app
(Electron-based, Claude.app on macOS) appears to hit a usage/rate
limit.
- Instead of showing a single limit notice, the app begins repeatedly
opening new windows pointing to a "usage limit exceeded" / claude.ai
page, in what looks like a retry loop.
- New windows keep spawning without any user interaction, consuming
increasing system resources, until the entire machine becomes
unresponsive.
- No way was found to stop the loop from within the app (could not
even take a screenshot before freeze). A hard restart of the
computer was required to recover.
Note: This occurred specifically during a period of unusually high
concurrent background API usage — a single background task at a time
did not appear to trigger this.
Claude Model
Sonnet (default)
Is this a regression?
Yes, this worked in a previous version
Last Working Version
_No response_
Claude Code Version
2.1.220
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Terminal.app (macOS)
Additional Information
- Open Claude Code CLI and start a session with heavy tool usage.
- Launch 3 concurrent long-running background bash tasks in the same
session (e.g. run_in_background: true on multiple subprocess-heavy
scripts), causing a burst of API/tool-call usage in a short window.
- While these background tasks are running, the Claude desktop app
(Electron-based, Claude.app on macOS) appears to hit a usage/rate
limit.
- Instead of showing a single limit notice, the app begins repeatedly
opening new windows pointing to a "usage limit exceeded" / claude.ai
page, in what looks like a retry loop.
- New windows keep spawning without any user interaction, consuming
increasing system resources, until the entire machine becomes
unresponsive.
- No way was found to stop the loop from within the app (could not
even take a screenshot before freeze). A hard restart of the
computer was required to recover.
Note: This occurred specifically during a period of unusually high
concurrent background API usage — a single background task at a time
did not appear to trigger this.