Repository navigation
[BUG] CoworkVMService DACL omits BA/SY permissions, blocking installer upgrades and recovery (root cause for #25136, #48367, #49655) #57035
Description
Activity
- addedplatform:windowsIssue specifically occurs on WindowsIssue specifically occurs on Windows
on May 7, 2026 Found 3 possible duplicate issues:
- [BUG] Cowork tab not showing on Windows 11 Pro x64 — "yukonSilver" marked as unsupported + CoworkVMService cannot be removed #25136
- [BUG] Claude Desktop crashes immediately on startup after recent update — Windows 10, no logs generated #48367
- [BUG] Claude Desktop update fails with 0x80073CF6 when CoworkVMService is running (Windows) #49655
This issue will be automatically closed as a duplicate in 3 days.
- If your issue is a duplicate, please close it and 👍 the existing issue instead
- To prevent auto-closure, add a comment or 👎 this comment
🤖 Generated with Claude Code
Reacted by Neacsu NicusorNot a duplicate — those issues are referenced as related symptoms, not as the same report.
The referenced issues describe the user-facing symptoms of this bug:
- [BUG] Cowork tab not showing on Windows 11 Pro x64 — "yukonSilver" marked as unsupported + CoworkVMService cannot be removed #25136 — "CoworkVMService cannot be removed" (observation, no root cause analysis)
- [BUG] Claude Desktop crashes immediately on startup after recent update — Windows 10, no logs generated #48367 — "Claude Desktop crashes immediately on startup after update" (downstream effect)
- [BUG] Claude Desktop update fails with 0x80073CF6 when CoworkVMService is running (Windows) #49655 — "Update fails with
0x80073CF6when CoworkVMService is running" (file-lock variant of the same blocker)
This issue identifies the root cause that connects all of them: the DACL on
CoworkVMServiceis constructed withoutBA(Built-in Administrators) orSY(LocalSystem) entries, so neither the installer nor any elevated user canDELETEorWRITE_DACthe service. I included the actual SDDL string, decoded ACE-by-ACE, and a concrete SDDL fix.Closing this as a duplicate of any of those would lose the only report that actually pinpoints what to change in the code (the call to
SetServiceObjectSecurityincowork-svc.exe, or wherever the service descriptor is constructed at install time).Happy to merge into one of the existing issues if a maintainer prefers — but the technical content here is not in any of them.
🤖 Report drafting assisted by Claude
Reacted by robjarawanCross-linking with #49655: the local repro there matches this DACL/root-cause analysis. In an elevated admin shell,
Stop-Service CoworkVMService -Forcesucceeded, butsc.exe config CoworkVMService start= disabledfailed withOpenService FAILED 5: Access is denied.That lines up with the service ACL issue described here. The practical update workaround was to stop
CoworkVMService, then terminate all running Claude package processes fromC:\Program Files\WindowsApps\Claude_*before retrying the update. Details/workaround: #49655 (comment)Update from the original reporter: after several subsequent Claude Desktop updates, the launch/upgrade failure no longer reproduces on my system, so the user-facing symptom appears resolved in day-to-day use.
However, the root cause is still present.
sc.exe sdshow CoworkVMServiceon the current version returns the same defective DACL I originally reported:D:(A;;CCLCSWRPWPDTLOCRRC;;;AU)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;S-1-5-80-1949724575-2387902436-65106593-1201171665-3967308604)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)There is still no ACE for Built-in Administrators (BA) or Local System (SY). The only principals are Authenticated Users (AU) with a limited right set, and the service's own virtual SID with full control.
sc.exe query CoworkVMServiceconfirms the service is still present and running, withTYPE: WIN32_PACKAGED_PROCESS. Since it ships as part of the MSIX package, the DACL is applied by the packaging runtime on every install (viaSetServiceObjectSecurity), which is why it gets recreated identically each time and can't be durably corrected from the outside. This needs to be fixed at the source.This lines up exactly with @robjarawan's repro: AU is granted SERVICE_STOP (WP), so
Stop-Servicesucceeds, but neither AU nor BA is granted SERVICE_CHANGE_CONFIG (DC) or WRITE_DAC (WD), sosc.exe config ... start= disabledfails with OpenService FAILED 5 (Access is denied).So the symptom appears to have been masked by changes in the update flow rather than fixed at the source. Since the service is still created with a DACL that locks out Administrators and SYSTEM, the failure can resurface on any future update path that needs to reconfigure or remove the service. I'd suggest keeping this open until the DACL includes BA and SY with at least DELETE and WRITE_DAC.
Thanks @robjarawan for the independent confirmation.
Analysis and write-up co-authored with Claude (Anthropic).
Affected here too. Paying Max plan user on Windows 11 Pro.
Installer symptoms match this issue exactly:
- HRESULT 0x80073CFF (AddPackage) chained with 0x80073CFA (RemovePackage)
- Cannot remove stale Claude_1.1.3189.0 package
- CoworkVMService "Access is denied" even when elevated
BUT I also have a SECONDARY runtime issue that may be separate:
- Even when CoworkVMService is running, cowork-service.log shows the client never issues "Start VM" command
- hcsdiag list returns empty (no VM ever created)
- Get-HnsNetwork shows no Cowork network — only "Default Switch (ICS)"
- This matches symptoms in [BUG] Cowork VM stuck at boot on Windows — recurring, blocks all shell/code work #56566 and [BUG] #54011
Could these be related, or are they separate bugs that both happen to affect the same users?
My closed issue with full logs (ClaudeSetup.log + cowork-service.log): #63439
Closing for now — inactive for too long. Please open a new issue if this is still relevant.
This issue has been automatically locked since it was closed and has not had any activity for 7 days. If you're experiencing a similar issue, please file a new issue and reference this one if it's relevant.
- locked as resolved and limited conversation to collaborators
on Sep 2, 2026
Preflight Checklist
What's Wrong?
Root cause:
CoworkVMServiceis created with a DACL that omits permissions forBA(Built-in Administrators) andSY(LocalSystem), making the service unmodifiable and unremovable by anyone except a specific service SID. This blocks every subsequent Claude Desktop installer from upgrading the package, surfacing asRemovePackage failed with HRESULT 0x80073CFAand forcing users into a manual registry-edit + reboot recovery procedure.This is the underlying cause of several user-facing symptoms reported in #25136, #48367, #49655, and #46179 — those issues describe
Access is deniedwhen the installer tries to remove the conflicting service, but none identify the specific DACL that produces the denial.Evidence: actual DACL on
CoworkVMServiceCaptured via
sc.exe sdshow CoworkVMServicefrom an elevated PowerShell session (verifiedIsInRole(Administrator) = True):Decoded:
(A;;CCLCSWRPWPDTLOCRRC;;;AU)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;S-1-5-80-...)S:(AU;FA;...;;;WD)Missing entirely:
(A;;...DC...;;;BA)— Administrators with DELETE(A;;...DC...;;;SY)— LocalSystem with DELETE(A;;...WD...;;;BA)— Administrators with WRITE_DACConsequence: even an elevated Administrator process cannot execute
sc.exe delete,sc.exe sdset, or modify the service in any way that requiresWRITE_DACorDELETE. Only the specific service SID (which the user cannot impersonate) has those rights.Bug persists across versions
After manual recovery (registry deletion + reboot + reinstall to 1.6259.1.0), the new version recreates the service with the identical defective DACL. Output of
sc.exe sdshow CoworkVMServiceon the freshly-installed 1.6259.1.0 is byte-identical to the output captured on 1.5354.0.0. Every future user who upgrades into a state whereCoworkVMServicealready exists will hit this same blocker.Workaround (validated, ~10 minutes)
Remove-Itemworks because the registry ACL onHKLM\SYSTEM\CurrentControlSet\Services\<service>grants Administrators Full Control by default, independent of the per-service DACL stored in SCM memory.Note: registry-only methods that target the
\Securitysubkey do not work — the DACL is not persisted there; theSecuritysubkey exists but is empty (ValueCount: 0). The DACL is set at runtime viaSetServiceObjectSecurityAPI by the service binary itself, which is why every reinstall reapplies the same defective ACL.Suggested Fix
When the installer creates
CoworkVMService(or whencowork-svc.execallsSetServiceObjectSecurityat startup), includeBAandSYin the DACL with at minimumDELETEandWRITE_DACrights. Correct minimal SDDL:This preserves all current functionality (the service-specific SID still has Full Control for self-management) while letting the installer and a privileged Administrator clean up or modify the service when needed.
What Should Happen?
The Claude Desktop installer, when running with Administrator privileges, should be able to remove or modify the existing
CoworkVMServiceto allow upgrading the MSIX package without errors.The DACL on
CoworkVMServiceshould grantBA(Built-in Administrators) andSY(LocalSystem) at minimumDELETEandWRITE_DACrights, so that future installers and system administrators can manage the service.Concretely, after running the installer:
RemovePackageshould succeed (noHRESULT 0x80073CFA)Error Messages/Logs
Steps to Reproduce
CoworkVMServiceis createdsc.exe sdshow CoworkVMServiceshows the DACL abovesc.exe delete CoworkVMService→Access is denied(even as Admin)ClaudeSetup.log: warnings aboutfailed to remove conflicting serviceandRemovePackage failed with HRESULT 0x80073CFAClaude Model
Opus
Is this a regression?
No, this never worked
Last Working Version
No response
Claude Code Version
1.5354.0.0 → 1.6259.1.0
Platform
Anthropic API
Operating System
Windows
Terminal/Shell
PowerShell
Additional Information
Note on issue category
This is a Claude Desktop (Windows MSIX) bug, not Claude Code (CLI). The repo template defaults to Claude Code fields, but this issue is in the same
area:cowork/area:desktop/area:installation/platform:windowscategory as #25136, #48367, #49655, and #46179.Context
The bug was discovered while diagnosing why Claude Desktop wouldn't launch after a Windows auto-update. Investigation through
ClaudeSetup.logand PowerShellsc.exerevealed that the root cause is not the launch itself but the upgrade pipeline: the installer cannot remove the old MSIX package becauseCoworkVMService(which holds resources from the old package) cannot be removed by anyone — including elevated Administrators — due to its defective DACL.Confirmation that the user has full Administrator privileges
Yet
sc.exe delete CoworkVMServiceandsc.exe sdset CoworkVMService "<corrected SDDL>"both returnOpenService FAILED 5: Access is denied. The DACL on the service explicitly excludes BA/SY from DELETE and WRITE_DAC.Why this is a high-impact bug
CoworkVMServicealready installed and tries to upgrade Claude DesktopSetServiceObjectSecurityat startup, so even a clean reinstall after recovery puts the user back into the same vulnerable state for the next updateEnvironment details
AllowDevelopmentWithoutDevLicense = 15095e7dddcba4ca974d351ee397e17d204814f07Claude_1.5354.0.0_x64__pzs8sxrjxfjjcClaude_1.6259.1.0_x64__pzs8sxrjxfjjcDiagnosis was performed primarily in PowerShell (elevated)
Although the form asks about terminal/shell, the bug is in the MSIX installer / service registration, not in any CLI tool. PowerShell was the diagnosis tool, not the source of the bug.
Willing to provide more
Happy to provide additional logs, registry exports, or run further diagnostic commands if needed for triage.