Skip to content

Windows desktop: stealth update leaves orphaned processes holding old AppX container; new version unlaunchable (0x80070020) until reboot #89680

Description

@jerds19

Summary

The Windows desktop app's stealth auto-update leaves orphaned child processes that keep the OLD version's Desktop AppX container alive. Every launch of the NEW version then fails with 0x80070020 ("error encountered converting the job") until the machine is rebooted. The app appears simply dead to the user: clicking the icon does nothing.

This machine has hit the "update leaves Claude unlaunchable until reboot" state repeatedly across multiple update cycles (an earlier episode instead showed a "Another program is currently using this file" installer dialog while popped-out session processes were still running).

Environment

  • Windows 11 Home 10.0.26200
  • Claude desktop app (MSIX, package family Claude_pzs8sxrjxfjjc) updating 1.34493.1.0 -> 1.37937.0.0
  • Multiple Claude Code sessions / popout panes typically open at update time

Timeline (from Windows event logs, 2026-08-25, all times local)

  1. 13:37 - AppXDeploymentServer: Add operation for 1.37937 with DeferRegistrationWhenPackagesAreInUse; event 658 "Marking package for deferred registration because Claude_1.34493.1.0 is still running". Normal.
  2. 19:57:18 - RegisterByPackageFamilyName with ForceApplicationShutdownOption. Old version's container destroyed, registration finished successfully at 19:57:51 (event 400).
  3. 19:57:51 onward - every relaunch of the new version logs (AppModel-Runtime/Admin):
    • event 211 "Added process to Desktop AppX container ..." (main process starts)
    • then repeated event 215 0x80070020: Cannot create the Desktop AppX container for package Claude_1.37937.0.0 because an error was encountered converting the job.
    • then event 208 0x80070020: Cannot create the process ... error encountered while configuring runtime. [LaunchProcess]
      The app dies silently. This repeats identically at 20:01:31, 20:01:32, 20:01:51, 20:02:11, 20:02:38 (including two automatic re-register/repair passes, both of which "finished successfully" per event 400 yet launches kept failing).
  4. At this point no process named claude.exe existed (verified by an external kill script that logged taskkill /IM claude.exe -> "process not found"). Something else - an orphaned child (conhost/node/shell) without package identity - was evidently still a member of the old container's job: at 20:03:02, during shutdown, the system logged event 217 destroying a Desktop AppX container for the old package 1.34493.1.0 that had been alive the whole time.
  5. Reboot at 20:03:22; first launch at 20:03:47 succeeded instantly.

Analysis

  • beforeQuitForUpdate / stealth update takes down the main app, but child processes spawned by Claude Code sessions (shells, MCP servers, console hosts) can outlive it. They hold membership in the old version's AppX container job.
  • The new version's container creation then fails at job conversion with 0x80070020 until that job is gone. Since these survivors have no package identity and are not named claude.exe, neither Task Manager's "Claude" group nor tasklist /apps surfaces them; a reboot is the only user-discoverable cure.
  • Suggested fix: before (or after) quitForUpdate, enumerate and terminate all processes in the app's own container/job (the app owns the job handle, so it can do this reliably), or make the post-update launcher detect 0x80070020 and clean up the stale container instead of dying silently.

Repro conditions

Not 100% deterministic, but has occurred repeatedly on this machine: several Claude Code sessions with popout panes + background child processes open, stealth update fires after idle timeout, swap succeeds, relaunch fails until reboot.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:desktopbugSomething isn't workinghas reproHas detailed reproduction stepsplatform:windowsIssue specifically occurs on Windows

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions