Autostart setting is re-enabled on every Claude Desktop update, even when previously disabled

Status Open
Maintainer reply None cached
Activity 0 comments · opened Sep 17, 2026

Description:
Every time Claude Desktop auto-updates, the "Start Claude at login" / autostart setting is silently switched back to enabled, even though I had explicitly turned it off before the update. This has happened consistently across multiple update cycles, not just once.

Steps to reproduce:

  1. Open Claude Desktop settings and disable "Start Claude at login" (autostart = false).
  2. Confirm the setting shows as disabled and restart the machine to verify Claude does not launch automatically.
  3. Let Claude Desktop auto-update to a new version (or manually trigger an update).
  4. Check the autostart setting again after the update completes.

Expected behavior:
The autostart setting should persist across updates and remain disabled, since it's a user preference, not a default that should be reset by the installer.

Actual behavior:
After the update, autostart is enabled again (true), and Claude launches automatically at the next login without my consent.

Environment:

  • Claude Desktop version: v2.110.0
  • Claude Code version: v2.1.267
  • OS: Windows 11 Business 25H2, OS Build 26200.9168

Possible related cause:
This may be related to how the installer (MSIX) registers autostart/login-item entries at the package level during installation/update, rather than persisting the user's saved preference. See related reports:

  • #57221 (CoworkVMService AutoStart baked into MSIX package, causing update/launch issues)
  • #59802 (Autostart registry entry causing Windows Settings > Startup to crash)

Impact:
Minor privacy/control annoyance — the app overrides an explicit user choice without notification, and users have to manually re-disable it after every single update.

Suggested fix:
Persist the user's autostart preference across updates (e.g., store it outside the reinstalled package, or have the updater read and reapply the previous value instead of falling back to a package default)

View original on GitHub ↗