anthropics / anthropics/claude-code
Bug Report: Windows installer fails with AddPackage 0x80073CF6 / 0x80073CF9 when a leftover CoworkVMService exists, and the bootstrapper cannot remove it (Access denied) but continues anyway
- Langage dominant
- Python
- Étoiles
- 145k
- Forks
- 23.1k
- Métriques de merge des PR
- Métriques de PR en attente
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?
Bug Report: Windows installer fails with AddPackage 0x80073CF6 / 0x80073CF9 when a leftover CoworkVMService exists, and the bootstrapper cannot remove it (Access denied) but continues anyway
Summary
On Windows 10 Pro 22H2, the Claude Desktop MSIX installer fails at the package
registration stage whenever a leftover CoworkVMService is present on the machine.
The bootstrapper detects the conflict, tries to remove the service while running
elevated, fails with Access is denied, logs it only as a WARNING, and then proceeds
to call AddPackage anyway — which fails. The user is shown a misleading dialog
("Administrator access is required...") even though the installer was already running
fully elevated.
The correlation in a single log file is 4-for-4 and deterministic.
Environment
Field | Value
-- | --
OS | Windows 10 Professional, 10.0.19045 (22H2), x64
Bootstrapper | Claude Setup build 255293a41a25d54c5177aa9614fb4cd620e70b78
Target package | Claude_1.34493.1.0_x64__pzs8sxrjxfjjc
MSIX SHA256 | ad5ead595fec1977c0ccb1d7fab3be040773b716451431dbd6bab457ba31a55c
Sideloading | enabled
S Mode | false
Developer mode | off
Log | C:\Users\\AppData\Local\Temp\ClaudeSetup.log
Every run downloaded the identical MSIX (same SHA256) and passed Authenticode
verification (WinVerifyTrust: MSIX signature is valid, Signature verified: MSIX signer matches bootstrapper). So this is not a download-integrity or signing problem — it is a
registration-stage failure gated on the leftover service.
0x80073CF6 = "Package could not be registered."
0x80073CF9 = ERROR_INSTALL_REGISTRATION_FAILURE — "Install failed. Please contact
your software vendor."
The core defect
From the 08:44 run, elevated (Is elevated: true, Elevation type: Full):
08:44:33.521786 WARNING: CoworkVMService already exists (potential conflict)
08:44:33.521786 Conflicting service: true
08:44:35.328479 Removing conflicting CoworkVMService...
08:44:35.329003 WARNING: failed to remove conflicting service: could not open CoworkVMService: Access is denied.
08:44:35.329003 Checking for existing Claude MSIX packages...
...
08:44:35.357513 Installing via AddPackage (current-user)...
08:44:38.131311 MSIX installation failed: AddPackage failed: AddPackage failed with HRESULT 0x80073CF9
Three problems, in order of severity:
1. The installer continues after a failed prerequisite. It knows the conflicting
service is still there. It knows removal failed. It proceeds to AddPackage regardless,
turning a known, nameable precondition failure into an opaque HRESULT.
2. OpenService returns Access is denied in a fully-elevated context. This suggests
the service is running and/or its DACL denies DELETE/SERVICE_STOP to Administrators.
The installer does not appear to attempt ControlService(SERVICE_CONTROL_STOP) before
DeleteService, nor to enable SeTakeOwnershipPrivilege / adjust the SCM object's DACL.
3. The error dialog names the wrong cause. The user sees:
Administrator access is required to install Claude with full features.
You can try again or install without Cowork.
The installer had administrator access — the log says so on the line above. Retrying
does nothing, because the leftover service is still there. The dialog sends the user into
a loop of re-downloading a 247 MB package (four times in this log alone).
Secondary defect: credentials are lost on every failed cycle
08:44:35.345714 Windows rejected data-preserving removal for Claude_1.34493.1.0_x64__pzs8sxrjxfjjc (0x80073CFA, requires developer mode); relying on in-place update
08:44:35.354512 Removing (user): Claude_1.34493.1.0_x64__pzs8sxrjxfjjc
08:44:35.357513 Windows rejected data-preserving removal ... relying on in-place update
0x80073CFA is ERROR_REMOVE_FAILED; Remove-AppxPackage -PreserveApplicationData
requires developer mode, which is off on this machine (and off by default for most users).
The installer falls back to "relying on in-place update" — but on the failure path the
in-place update never completes, and application data does not survive.
User-visible consequence: the user is forced to sign in again after every failed
install attempt. This was the symptom they originally reported ("it keeps asking me to
sign in"), and they had no way to connect it to the installer. Repeated re-authentication
with no explanation reads to the user as an authentication bug.
Steps to reproduce
- On Windows 10 22H2 (developer mode off), install Claude Desktop with Cowork so that
CoworkVMServiceis registered. - Put the service into a state the installer cannot open for deletion — observed after a
prior failed/partial install, and reproduced after a reboot with the service running. - Run
Claude Setup.exeand allow elevation. - Observe:
Conflicting service: true→failed to remove conflicting service: ... Access is denied
→AddPackage failed with HRESULT 0x80073CF6or0x80073CF9→ the
"Administrator access is required" dialog.
Expected behavior
- If the conflicting service cannot be removed, stop before calling
AddPackageand
show an actionable message namingCoworkVMService, with the remediation commands. - Attempt
ControlService(SERVICE_CONTROL_STOP)and wait forSERVICE_STOPPEDbeforeDeleteService. If the service is marked for deletion, tell the user a reboot is
required and offer to schedule it. - Never show "Administrator access is required" when
Is elevated: trueis in the log
three lines above. Surface the actual HRESULT and its meaning. - Preserve credentials across a failed install, or state plainly in the failure dialog
that the user will need to sign in again. - Document the Windows 10 22H2 support status for Cowork. If Cowork's virtualization
service is not supported on Windows 10, the installer should say so up front rather than
register a service it cannot later clean up.
Working user workaround
Elevated PowerShell / cmd:
sc.exe query CoworkVMService
sc.exe stop CoworkVMService
sc.exe delete CoworkVMService
Reboot, then re-run the installer. In this log, both runs where the service was absent
(Conflicting service: false) installed successfully in under 20 seconds.
If sc.exe delete also returns access denied, the service DACL must be repaired
(sc.exe sdset) or the removal done from Safe Mode.
Impact
- Install fails with no actionable diagnostic; the dialog actively misdirects.
- 247 MB re-downloaded on every retry.
- User is signed out repeatedly with no stated cause, which is the symptom they perceive
and report — not the install failure that causes it.
### What Should Happen?
Bug Report: Windows installer fails with AddPackage 0x80073CF6 / 0x80073CF9 when a leftover CoworkVMService exists, and the bootstrapper cannot remove it (Access denied) but continues anyway
Summary
On Windows 10 Pro 22H2, the Claude Desktop MSIX installer fails at the package
registration stage whenever a leftover CoworkVMService is present on the machine.
The bootstrapper detects the conflict, tries to remove the service while running
elevated, fails with Access is denied, logs it only as a WARNING, and then proceeds
to call AddPackage anyway — which fails. The user is shown a misleading dialog
("Administrator access is required...") even though the installer was already running
fully elevated.
The correlation in a single log file is 4-for-4 and deterministic.
Environment
Field | Value
-- | --
OS | Windows 10 Professional, 10.0.19045 (22H2), x64
Bootstrapper | Claude Setup build 255293a41a25d54c5177aa9614fb4cd620e70b78
Target package | Claude_1.34493.1.0_x64__pzs8sxrjxfjjc
MSIX SHA256 | ad5ead595fec1977c0ccb1d7fab3be040773b716451431dbd6bab457ba31a55c
Sideloading | enabled
S Mode | false
Developer mode | off
Log | C:\Users\\AppData\Local\Temp\ClaudeSetup.log
Every run downloaded the identical MSIX (same SHA256) and passed Authenticode
verification (WinVerifyTrust: MSIX signature is valid, Signature verified: MSIX signer matches bootstrapper). So this is not a download-integrity or signing problem — it is a
registration-stage failure gated on the leftover service.
0x80073CF6 = "Package could not be registered."
0x80073CF9 = ERROR_INSTALL_REGISTRATION_FAILURE — "Install failed. Please contact
your software vendor."
The core defect
From the 08:44 run, elevated (Is elevated: true, Elevation type: Full):
08:44:33.521786 WARNING: CoworkVMService already exists (potential conflict)
08:44:33.521786 Conflicting service: true
08:44:35.328479 Removing conflicting CoworkVMService...
08:44:35.329003 WARNING: failed to remove conflicting service: could not open CoworkVMService: Access is denied.
08:44:35.329003 Checking for existing Claude MSIX packages...
...
08:44:35.357513 Installing via AddPackage (current-user)...
08:44:38.131311 MSIX installation failed: AddPackage failed: AddPackage failed with HRESULT 0x80073CF9
Three problems, in order of severity:
1. The installer continues after a failed prerequisite. It knows the conflicting
service is still there. It knows removal failed. It proceeds to AddPackage regardless,
turning a known, nameable precondition failure into an opaque HRESULT.
2. OpenService returns Access is denied in a fully-elevated context. This suggests
the service is running and/or its DACL denies DELETE/SERVICE_STOP to Administrators.
The installer does not appear to attempt ControlService(SERVICE_CONTROL_STOP) before
DeleteService, nor to enable SeTakeOwnershipPrivilege / adjust the SCM object's DACL.
3. The error dialog names the wrong cause. The user sees:
Administrator access is required to install Claude with full features.
You can try again or install without Cowork.
The installer had administrator access — the log says so on the line above. Retrying
does nothing, because the leftover service is still there. The dialog sends the user into
a loop of re-downloading a 247 MB package (four times in this log alone).
Secondary defect: credentials are lost on every failed cycle
08:44:35.345714 Windows rejected data-preserving removal for Claude_1.34493.1.0_x64__pzs8sxrjxfjjc (0x80073CFA, requires developer mode); relying on in-place update
08:44:35.354512 Removing (user): Claude_1.34493.1.0_x64__pzs8sxrjxfjjc
08:44:35.357513 Windows rejected data-preserving removal ... relying on in-place update
0x80073CFA is ERROR_REMOVE_FAILED; Remove-AppxPackage -PreserveApplicationData
requires developer mode, which is off on this machine (and off by default for most users).
The installer falls back to "relying on in-place update" — but on the failure path the
in-place update never completes, and application data does not survive.
User-visible consequence: the user is forced to sign in again after every failed
install attempt. This was the symptom they originally reported ("it keeps asking me to
sign in"), and they had no way to connect it to the installer. Repeated re-authentication
with no explanation reads to the user as an authentication bug.
Steps to reproduce
- On Windows 10 22H2 (developer mode off), install Claude Desktop with Cowork so that
CoworkVMServiceis registered. - Put the service into a state the installer cannot open for deletion — observed after a
prior failed/partial install, and reproduced after a reboot with the service running. - Run
Claude Setup.exeand allow elevation. - Observe:
Conflicting service: true→failed to remove conflicting service: ... Access is denied
→AddPackage failed with HRESULT 0x80073CF6or0x80073CF9→ the
"Administrator access is required" dialog.
Expected behavior
- If the conflicting service cannot be removed, stop before calling
AddPackageand
show an actionable message namingCoworkVMService, with the remediation commands. - Attempt
ControlService(SERVICE_CONTROL_STOP)and wait forSERVICE_STOPPEDbeforeDeleteService. If the service is marked for deletion, tell the user a reboot is
required and offer to schedule it. - Never show "Administrator access is required" when
Is elevated: trueis in the log
three lines above. Surface the actual HRESULT and its meaning. - Preserve credentials across a failed install, or state plainly in the failure dialog
that the user will need to sign in again. - Document the Windows 10 22H2 support status for Cowork. If Cowork's virtualization
service is not supported on Windows 10, the installer should say so up front rather than
register a service it cannot later clean up.
Working user workaround
Elevated PowerShell / cmd:
sc.exe query CoworkVMService
sc.exe stop CoworkVMService
sc.exe delete CoworkVMService
Reboot, then re-run the installer. In this log, both runs where the service was absent
(Conflicting service: false) installed successfully in under 20 seconds.
If sc.exe delete also returns access denied, the service DACL must be repaired
(sc.exe sdset) or the removal done from Safe Mode.
Impact
- Install fails with no actionable diagnostic; the dialog actively misdirects.
- 247 MB re-downloaded on every retry.
- User is signed out repeatedly with no stated cause, which is the symptom they perceive
and report — not the install failure that causes it.
### Error Messages/Logs
```shell
```
### Steps to Reproduce
s
### Claude Model
None
### Is this a regression?
Yes, this worked in a previous version
### Last Working Version
_No response_
### Claude Code Version
s
### Platform
Anthropic API
### Operating System
Windows
### Terminal/Shell
Terminal.app (macOS)
### Additional Information
s
Guide de contribution
Aucun guide de contribution indexé pour ce dépôt
Piste de recherche
Start with ClaudeSetup.log and the Claude Setup.exe flow around conflicting-service detection, OpenService/DeleteService, and AddPackage. Verify the ControlService stop-and-delete sequence and the failure dialog path. Done means a failed CoworkVMService cleanup stops installation, reports the actual cause and remediation, avoids the misleading elevation message, and handles failed-install credentials as specified.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- powershell
- Domaine
- operating-systems, release
- Type d'issue
- Bug
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- Active
- Clarté
- Plutôt claire
- Accessibilité débutants
- 42/100