[BUG] [CRASH] {solution proposed} Shipped MSIX has no AppxMetadata\CodeIntegrity.cat — vk_swiftshader.dll blocked by Code Integrity, AppX container destroyed (0x3CFC) **Needs packaging (and something to protect data from getting nuked.)
Preflight Checklist
- [x] I have searched existing issues 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?
The Claude Desktop process (MSIX package Claude_1.26832.0.0_x64__pzs8sxrjxfjjc, app
version 1.26832.0) disappeared mid-session. Windows event logs show the OS failed a
machine-level package status check for the app and destroyed its AppX container. The
active session's connection ended (Cowork service logged an RPC EOF); CoworkVMService
itself survived.
The last recorded action before the failure was a computer-use browser click
(submitting a signup form on my own app under test). That click is temporally
correlated only — it is not proven to be the cause.
At the same second, Windows Code Integrity was unable to load the package's own
signing catalog (AppxMetadata\CodeIntegrity.cat, status 0xC000003A) and blockedclaude.exe from loading its bundled app\vk_swiftshader.dll ("did not meet the
Microsoft signing level requirements"). This is consistent with an invalid or
inconsistent machine-level MSIX/AppX package state.
This machine had already been through Repair/Reset/reinstall of the Desktop app; the
package state failure recurred. Related: #56679 reports a similar Claude Desktop
MSIX/AppModel corruption surviving Repair, Reset, and reinstall, though its exact
AppModel event and repro differ.
One secondary observation: %APPDATA%\Claude\logs\main.log begins at the post-crash
restart (15:33:54), so no client-side log from before the container destruction is
available. If logs are rotated on restart, this failure class leaves no client-side
evidence behind.
What Should Happen?
- The Desktop client should not be torn down by Windows due to an inconsistent MSIX
package state; the shipped package's Code Integrity catalog should load at runtime
so bundled DLLs (e.g. vk_swiftshader.dll) pass signing checks.
- If the client process dies, active local sessions/shells should be able to
reconnect or at least fail with a clear message rather than a silent RPC EOF.
- Pre-crash client logs should survive a restart (rotate to a
.oldfile instead of
truncating), so this failure class doesn't destroy its own evidence.
Error Messages/Logs
Steps to Reproduce
2026-08-11 (local time):
15:27:01.963 computer-use left_click on submit button (tool reported success at 15:27:01.984)
15:27:03.922–15:27:03.929 Microsoft-Windows-AppModel-Runtime/Admin, Event ID 6, ×5:
ErrorCode: 15612 (0x3CFC)
PackageFullName: <NULL>
Cannot create the process for package <NULL> because an error was encountered while
checking the machine-level package status. The application cannot be started.
Try reinstalling the application to fix the problem.
15:27:03 Microsoft-Windows-CodeIntegrity/Operational, Event 3010 (Warning, ×3):
Code Integrity was unable to load the \Device\HarddiskVolume3\Program Files\WindowsApps\
Claude_1.26832.0.0_x64__pzs8sxrjxfjjc\AppxMetadata\CodeIntegrity.cat catalog.
Status 0xC000003A.
15:27:03 Microsoft-Windows-CodeIntegrity/Operational, Event 3033 (Error):
Code Integrity determined that a process (...\app\claude.exe) attempted to load
...\app\vk_swiftshader.dll that did not meet the Microsoft signing level requirements.
15:27:04.234 CoworkVMService:
Persistent RPC: connection ended: failed to read length: EOF
15:27:04.425 Microsoft-Windows-AppModel-Runtime/Admin, Event ID 217:
Destroyed Desktop AppX container for package Claude_1.26832.0.0_x64__pzs8sxrjxfjjc.
Repair/reinstall sequence:
15:32:55 AppXDeploymentServer Event 717 (Error): Remove failed — "PreserveApplicationData
flag can only be used on a package that was deployed in development mode"
15:33:23 Claude service changed from auto start to disabled
15:33:53 Claude ActivationStore.dat access history cleared
15:33:53 Claude Service installed again with automatic startup
15:33:53 Deployment Add of Claude-2875561105.msix finished successfully; new AppX
containers created at 15:33:53 and 15:34:14
Claude Model
Not sure / Multiple models
Is this a regression?
I don't know
Last Working Version
_No response_
Claude Code Version
2.1.109 (Claude Code)
Platform
Anthropic API
Operating System
Windows
Terminal/Shell
Windows Terminal
Additional Information
Claude Desktop (Cowork) built-in shells — PowerShell 5.1 and Git Bash
- Desktop app version: 1.26832.0 (MSIX Claude_1.26832.0.0_x64__pzs8sxrjxfjjc)
- CoworkVMService survived the event; only the Desktop process disappeared.
- All timestamps above verified directly in Windows Event Viewer logs
(AppModel-Runtime/Admin, CodeIntegrity/Operational, AppXDeploymentServer/Operational,
System) — happy to export .evtx files on request.
- No full test suites, Docker, or heavy WSL workloads were active in the final minutes
before the failure.
- Related issue: #56679 (similar MSIX/AppModel corruption surviving Repair/Reset/reinstall).
Showing cached comments. Read the full discussion on GitHub ↗
5 Comments
Independent verification confirms five complete occurrences today at 03:33, 03:40, 03:49, 14:30, and 15:27. Each occurrence contains the same sequence: Code Integrity Event 3010 attempting to load the absent
AppxMetadata\CodeIntegrity.cat, Event 3033 rejectingapp\vk_swiftshader.dll, five AppModel-Runtime Event 6 failures with0x3CFC, and subsequent destruction of Claude’s AppX container.The package directory is readable.
AppxSignature.p7x,AppxBlockMap.xml, andapp\vk_swiftshader.dllexist, but the entireAppxMetadatadirectory does not. The catalog failure is therefore not caused by access permissions.The absence of
CodeIntegrity.catalone does not necessarily make an MSIX invalid. However, Windows is explicitly attempting to load that catalog for this Claude installation immediately before rejectingvk_swiftshader.dlland terminating the application. This indicates an inconsistent package registration, deployment, or signing-integrity state.Get-AppxPackagestill reportsStatus: Ok, so the normal package-registration health check is not detecting the runtime integrity failure.Determining whether the catalog was omitted from Anthropic’s original package or lost during installation requires comparison against the original signed MSIX/MSIXBundle.
Additional evidence collected after filing:
The same complete failure sequence occurred five times today: 03:33, 03:40, 03:49, 14:30, and 15:27. Each occurrence included Code Integrity Event 3010, Event 3033 involving
app\vk_swiftshader.dll, five AppModel-Runtime Event 6 failures with0x3CFC, and subsequent destruction of Claude’s AppX container.The current package directory is readable and contains
AppxSignature.p7x,AppxBlockMap.xml, andapp\vk_swiftshader.dll, but the entireAppxMetadatadirectory is absent. Therefore, the failure to loadAppxMetadata\CodeIntegrity.catis not a permissions error. Event 3010 reports0xC000003A(STATUS_OBJECT_PATH_NOT_FOUND), consistent with the missing path.Get-AppxPackagenevertheless reportsStatus: Ok. AlthoughCodeIntegrity.catis not required in every MSIX configuration, Windows is explicitly attempting to load it immediately before rejectingvk_swiftshader.dlland failing Claude process creation. This suggests an inconsistent deployment, registration, or signing-integrity state.The precise sub-second sequence was verified for the 15:27 occurrence. The four earlier occurrences were verified as having the same ordered event types, but their sub-second timing was not separately analyzed.
PS C:\Users\yosef> $p = (Get-AppxPackage -Name Claude).InstallLocation; Get-ChildItem $p | Select-Object Name; "CodeIntegrity.cat present: $(Test-Path (Join-Path $p 'AppxMetadata\CodeIntegrity.cat'))"
Name
----
app
assets
AppxBlockMap.xml
AppxManifest.xml
AppxSignature.p7x
priconfig.xml
resources.pri
resources.scale-200.pri
CodeIntegrity.cat present: False
PS C:\Users\yosef> Get-WinEvent -FilterHashtable @{LogName='Microsoft-Windows-AppModel-Runtime/Admin'; Id=6; StartTime=(Get-Date).Date} | Group-Object {$_.TimeCreated.ToString('HH:mm')} | Select-Object Name,Count
Name Count
---- -----
15:27 5
14:30 5
03:49 5
03:40 5
03:33 5
PS C:\Users\yosef>
This is probably a straightforward fix on the packaging side: the installed package
contains no
AppxMetadatadirectory at all, so a likely first step is to generate andinclude
CodeIntegrity.catin the MSIX build step. With the catalog present, Windowscould validate bundled DLLs like
app\vk_swiftshader.dllagainst the package signatureinstead of rejecting them (Event 3033), which appears to be what escalates into the
fatal 0x3CFC / container destruction.
One caveat: many MSIX packages ship without a catalog and run fine — and this one does
run fine most of the time. Something makes Windows enforcement intermittent (the app
survived hours between failure bursts). So shipping the catalog is likely a reliable
workaround for the trigger condition, but the intermittent escalation itself may be
OS-side policy behavior that only your telemetry can fully explain.
Two further data points:
Every install produced the same state: readable package directory, no
AppxMetadatadirectory,
CodeIntegrity.catabsent. This makes a corrupted individual download orinstall unlikely — either the shipped MSIX does not contain the catalog, or the
deployment pipeline reproducibly drops it.
Control is Off, but WDAC reports an enforced code-integrity policy
(
Win32_DeviceGuard.CodeIntegrityPolicyEnforcementStatus = 2). An enforced CI policywould explain why Windows insists on validating
app\vk_swiftshader.dllagainst the(absent) catalog and escalates to the fatal 0x3CFC, and why the failure is
machine-dependent rather than universal.
Verification command for point 2:
Get-CimInstance -Namespace root\Microsoft\Windows\DeviceGuard -ClassName Win32_DeviceGuard |
Select-Object CodeIntegrityPolicyEnforcementStatus, SmartAppControlState
Root cause: the deployed MSIX has no
AppxMetadatadirectory, sovk_swiftshader.dllis blocked by Code IntegrityReproduced deliberately on 2026-08-11 with an event-log sentinel running. Same
signature as 5 prior spontaneous occurrences on this machine the same day.
Environment
1.26832.0.0, packageClaude_1.26832.0.0_x64__pzs8sxrjxfjjcClaude Setup.exe(5 separate installs, all identical)The package is missing
AppxMetadataentirelyC:\Program Files\WindowsApps\Claude_1.26832.0.0_x64__pzs8sxrjxfjjc\contains:app assets microsoft.system.package.metadata
AppxBlockMap.xml AppxManifest.xml AppxSignature.p7x
priconfig.xml resources.pri resources.scale-200.pri
There is no
AppxMetadata\directory, and therefore noAppxMetadata\CodeIntegrity.cat.The Code Integrity error status is
0xC000003A=STATUS_OBJECT_PATH_NOT_FOUND—the catalog is absent, not corrupt. This matters for triage: it is not local
file damage, it is what the installer deploys.
Event sequence (identical on every occurrence)
| # | Log | ID | Event | Count |
|---|---|----|-------|-------|
| 1 | CodeIntegrity/Operational | 3010 |
AppxMetadata\CodeIntegrity.catfailed to load, status0xC000003A| x3 || 2 | CodeIntegrity/Operational | 3033 |
app\vk_swiftshader.dlldid not meet Microsoft signing level requirements | x1 || 3 | AppModel-Runtime/Admin | 6 |
0x3CFC: Cannot create the process for package <NULL> ... error while checking the machine-level package status| x5 || 4 | AppModel-Runtime/Admin | 217 |
Destroyed Desktop AppX container ... for package Claude_1.26832.0.0_x64__pzs8sxrjxfjjc| x1 |All four fire within the same second; the container dies ~1s later.
Why the DLL is blocked despite being correctly signed
app\vk_swiftshader.dllcarries a valid Authenticode signature:Status : Valid
Subject: CN="Anthropic, PBC", O="Anthropic, PBC", L=San Francisco, S=California, C=US
Issuer : CN=DigiCert Trusted G4 Code Signing RSA4096 SHA384 2021 CA1
Serial : 0ED59CA47F15D09A57755E4B12D31A50
Valid : 2025-10-13 -> 2026-10-20
An Authenticode signature is not a Microsoft signing level. Inside a
WindowsAppspackage that attestation comes fromAppxMetadata\CodeIntegrity.cat.With the catalog absent, CI refuses the load, the package's machine-level status
check then fails (
0x3CFC), and the AppX container is destroyed. Every openwindow, session and shell dies with it.
Trigger
vk_swiftshader.dllis Chromium's software-rasterizer fallback, so the crashfires whenever the renderer falls back off the GPU. In practice that is
render-heavy UI work — I reproduced it on demand by loading an app page and
submitting a form under load. That explains the "random" timing: it is not
random, it is whenever GPU fallback is attempted.
Reinstalling does not help
Five installs from the official bootstrapper produced five packages with the same
missing directory. The fix has to be in what is packaged/published, not on the
client. Suggested checks on your side:
AppxMetadata\CodeIntegrity.catat all for this version, or whether it is being dropped at signing/publish.
vk_swiftshader.dllin the package is necessary, given itonly loads on the fallback path that is guaranteed to be blocked without the
catalog.
Also observed
At 15:32:55 a package removal was rejected:
Remove failed: PreserveApplicationData on non-dev package(x2) — worth notingfor anyone told to uninstall cleanly first.
Evidence
Full bundle collected by an event-log sentinel:
crash-events.txt(71 eventsacross 19 timestamp clusters, 2026-08-11 01:33 -> 16:14) plus raw
.evtxforMicrosoft-Windows-CodeIntegrity/Operational,Microsoft-Windows-AppModel-Runtime/Admin,Microsoft-Windows-AppXDeploymentServer/OperationalandSystem.Happy to attach.
Note: the application-side
%APPDATA%\Claude\logs\main.logis truncated oncrash-restart, so it contains nothing from before the crash — it begins at
Starting appfor the new process. Anyone asking reporters formain.logaftera crash is getting a file with the relevant portion already deleted. The Windows
event logs above are the only surviving record.
intuitively i tried researching how to to graft the catalog from another version but aparently I cant on my end and it needs to come from the current hash.
The intuitive workaround — copy
AppxMetadata\CodeIntegrity.catfrom a differentClaude version into this package — cannot work, and makes things worse:
.catfrom anotherversion does not contain the hash of
1.26832.0.0'svk_swiftshader.dll, soCode Integrity blocks the load exactly as it does now — identical 3033 event.
C:\Program Files\WindowsAppsis TrustedInstaller-owned; writing there meanstaking ownership of a system directory.
AppxBlockMap.xml/AppxSignature.p7xcover package contents. Adding filesbreaks the package's own integrity, which can break servicing and future
updates — turning a crash into a package that will not update.
There is no client-side fix for the missing catalog. It has to be corrected in
what is published.