[BUG] Claude desktop app relaunches itself after user has explicitly quit it, triggered by background auto-update

Resolved 💬 2 comments Opened Apr 18, 2026 by byrontau Closed May 25, 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?

After explicitly quitting the Claude desktop app (Cmd+Q), the app was relaunched without user interaction by the ShipIt auto-updater service (com.anthropic.claudefordesktop.ShipIt). This occurred while the machine was running an intensive ML training job — CPU resources the user had deliberately freed by quitting Claude were consumed again without consent. When the app was subsequently killed via Activity Monitor, it relaunched itself again within 2–4 seconds, repeatedly.

What Should Happen?

If the user has explicitly quit Claude before or during an update, the auto-updater should install the update silently and not relaunch the app. The update should be applied the next time the user opens Claude themselves. ShipIt should check whether Claude was running prior to the update and skip the relaunch step if it was not.

ShipIt fires at the exact second Claude quits, grabbing a sleep prevention assertion:

2026-04-17 09:00:19  powerd: Process ShipIt.46958 Created PreventSystemSleep "Updating"
2026-04-17 09:00:19  loginwindow: appDeath for com.anthropic.claudefordesktop.helper
2026-04-17 09:00:19  loginwindow: appDeath for com.anthropic.claudefordesktop

App killed and relaunches within seconds, repeatedly:

2026-04-18 08:40:09  launchd: service inactive: application.com.anthropic.claudefordesktop...
2026-04-18 08:40:13  launchd: Coalition Cache Hit: app<application.com.anthropic.claudefordesktop...>
                     ^ relaunched 4 seconds after being killed

2026-04-18 08:49:07  launchd: service inactive: application.com.anthropic.claudefordesktop...
2026-04-18 08:49:09  launchd: Coalition Cache Hit: app<application.com.anthropic.claudefordesktop...>
                     ^ relaunched 2 seconds after being killed

Widget extension update that preceded the relaunch (confirming an update was installed):

2026-04-17 08:54:36  chronod: Refetching descriptors due to extension version change,
                     from 23983293197 (2026-04-08) to 24361703904 (2026-04-17T07:42:01Z)

Error Messages/Logs

Steps to Reproduce

  1. Quit Claude desktop app fully via Cmd+Q
  2. Leave the machine running unattended with a Claude update available
  3. ShipIt downloads and installs the update in the background
  4. Claude relaunches automatically upon update completion without user interaction
  5. Killing the relaunched process causes it to relaunch again within seconds

Claude Model

Not sure / Multiple models

Is this a regression?

I don't know

Last Working Version

Build 23983293197 (2026-04-08) — previous version before the update that triggered the relaunch

Claude Code Version

Build 24361703904 (installed 2026-04-17 at ~03:42 AM EDT)

Platform

Other

Operating System

macOS

Terminal/Shell

Terminal.app (macOS)

Additional Information

_No response_

View original on GitHub ↗

This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗