anthropics / anthropics/claude-code

[BUG] Windows MSIX servicing: updater registers into hung app (0x80073D02); repair source deleted from %TEMP% (0x80073CF0); container-locked files block reinstall (0x80073CF6); package service requires elevation (0x80073D28)

Open
#81,267 0 comments 0 reactions 0 assignees View on GitHub
area:desktop bug
Dominant language
Python
Stars
145k
Forks
23.1k
PR merge metrics
PR metrics pending

Description

### Preflight Checklist

- [x] I have searched [existing issues](https://github.com/anthropics/claude-code/issues?q=is%3Aissue%20state%3Aopen%20label%3Abug) 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 the desktop app hangs (companion issue: #81265 ), a chain of servicing design issues
makes recovery require a full reinstall — sometimes several attempts plus reboots. All
error codes below are from the AppXDeployment-Server operational log of 2026-07-25/26:
1. UPDATER REGISTERS INTO A HUNG APP: the auto-updater staged updates while the app was
hung; registration failed 7x with 0x80073D02 ("package files in use") against the hung
processes (18:10–19:06 on 07-25), leaving the package half-updated and unlaunchable.
2. WINDOWS REPAIR/RESET PERMANENTLY BROKEN: "Claude Setup.exe" installs from
%TEMP%\Claude-.msix and the file is deleted afterwards. Windows keeps that path
as the package source, so every later repair/re-stage fails with 0x80073CF0/0x80070002
(104 deployment errors on 07-25 alone). The Settings "Repair"/"Reset" buttons are
structurally dead for every user of this app.
3. chrome-native-host.exe LIVES INSIDE THE PACKAGE CONTAINER: the app copies the Chrome
native-messaging host to %APPDATA%\Claude\ChromeNativeHost\; MSIX filesystem
virtualization maps this into LocalCache INSIDE the container. Chrome runs this exe as
its own child and respawns it ~18 s after app start. During removal Windows cannot
delete the app data (38x event 5224 in one day) and AddPackage fails with
0x80070020/0x80073CF6/0x80073D05.
4. ANY PROCESS WITH PACKAGE IDENTITY BLOCKS REMOVAL: orphaned children of embedded
sessions (node MCP servers, hook powershells, bash/cmd/ssh) keep the container's
virtualized registry hives (SystemAppData\Helium\User.dat) open. Verified live via
GetPackageFullName: 15 processes still held the container after the app itself was
killed. Removal then fails 0x80073CF6 until every one is terminated or the machine
reboots.
5. PACKAGE SERVICE REQUIRES ELEVATION: the 1.24012.9 MSIX contains a package service, so a
non-elevated Add-AppxPackage of the officially downloaded MSIX fails with 0x80073D28 —
user-side recovery cannot reinstall offline without UAC.
6. CRASH EVIDENCE IS DESTROYED ON RECOVERY: every Remove/Add wipes
LocalCache\Roaming\Claude\logs, so the logs of the fatal window are lost on every
recovery cycle — three crash rounds in a row have no app-side logs left.
Impact: 7 reinstalls and 2 forced reboots within 36 hours for a single user; each recovery
also wiped preferences and app state.

### What Should Happen?

- Updater should detect an unresponsive/hung instance before registering an update (or
terminate it first).
- Keep a package source copy outside %TEMP% (or register a durable AppInstaller source) so
Windows Repair/Reset keeps working.
- Move the native-messaging host binary out of the container, or have servicing terminate
it before removal.
- Write/preserve app logs outside the container so crash evidence survives recovery.
- Document/handle the elevation requirement of the package service.

### Error Messages/Logs

```shell
0x80073D02 ERROR_PACKAGES_IN_USE 7x, 2026-07-25 18:10–19:06 (register into hung app)
0x80073CF0 / 0x80070002 104x, 2026-07-25 (repair source %TEMP%\Claude-*.msix missing)
0x80070020 / 0x80073CF6 / 0x80073D05 reinstall blocked, app data not deletable (event 5224, 38x)
0x80073D28 2026-07-26 00:36:27, non-elevated Add-AppxPackage of official MSIX
2026-07-25 22:53:20 boot-time cleanup of package app data FAILED, package dropped from delete list
```

### Steps to Reproduce

1. Let the app hang under memory pressure (see #XXXXX) while the auto-updater has staged
an update -> registration fails 0x80073D02, package left half-updated, app unlaunchable.
2. Try Settings > Apps > Claude > Repair or Reset -> fails 0x80073CF0/0x80070002 because
the recorded package source %TEMP%\Claude-.msix no longer exists.
3. Kill claude.exe and run "Claude Setup.exe" again while Chrome is running -> AddPackage
fails 0x80070020/0x80073CF6/0x80073D05 (chrome-native-host.exe and Helium hives held).
4. Try non-elevated Add-AppxPackage with the downloaded MSIX -> 0x80073D28.
5. Only a reboot followed by reinstall recovers; app data including logs is wiped each time.

### Claude Model

None

### Is this a regression?

I don't know

### Last Working Version

_No response_

### Claude Code Version

Desktop app 1.24012.9 (MSIX, package family Claude_pzs8sxrjxfjjc)

### Platform

Anthropic API

### Operating System

Windows

### Terminal/Shell

PowerShell

### Additional Information

Windows 11 Pro build 10.0.26200. Full AppXDeployment/WER event log exports and a forensic
timeline available on request.

Contributor guide

No contributing guide indexed for this repository

Research direction

The report names Claude Setup.exe, the MSIX updater, AppXDeployment-Server operational logs, and PowerShell Add-AppxPackage, but no repository files or tests. Start by locating the Windows/MSIX packaging and updater entry points, then reproduce the listed deployment errors; done requires separately verifying recovery from hung processes, durable repair sources, container-locked files, elevation, and preserved logs.

Written by the indexing model from the issue text.

Assessment

Tech stack
powershell
Domain
desktop, release
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
28/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.