claude-code - 💡(How to fix) Fix Windows: taskkill leaves orphan subprocesses that block Claude Desktop relaunch (0x80070020)

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…

After force-killing Claude Desktop with taskkill /F /IM "Claude.exe", the app refuses to relaunch. Windows throws error 0x80070020 (ERROR_SHARING_VIOLATION) when trying to create a new AppX container.

Error Message

After force-killing Claude Desktop with taskkill /F /IM "Claude.exe", the app refuses to relaunch. Windows throws error 0x80070020 (ERROR_SHARING_VIOLATION) when trying to create a new AppX container. 4. App fails to open — no window appears, no error shown to user because an error was encountered while configuring runtime. [FinishPackageActivation] because an error was encountered converting the job.

Root Cause

When the main claude.exe process is killed via taskkill /F, child processes survive:

  • cowork-svc.exe (from app/resources/cowork-svc.exe)
  • chrome-native-host.exe (Chrome extension bridge)

These orphan processes hold file locks on the MSIX package directory, preventing Windows from creating a new Desktop AppX container for a fresh launch.

Fix Action

Workaround

Manually kill the orphan processes before relaunching:

Get-Process cowork-svc, chrome-native-host -ErrorAction SilentlyContinue | Stop-Process -Force
# Then relaunch Claude Desktop

Code Example

Microsoft-Windows-AppModel-Runtime/Admin:

0x80070020: Cannot create the process for package Claude_1.8089.1.0_x64__pzs8sxrjxfjjc 
because an error was encountered while configuring runtime. [FinishPackageActivation]

0x80070020: Cannot create the Desktop AppX container for package Claude_1.8089.1.0_x64__pzs8sxrjxfjjc 
because an error was encountered converting the job.

---

Get-Process cowork-svc, chrome-native-host -ErrorAction SilentlyContinue | Stop-Process -Force
# Then relaunch Claude Desktop
RAW_BUFFERClick to expand / collapse

Bug Report

Environment

  • OS: Windows 11 Pro 10.0.26200
  • Claude Desktop version: 1.8089.1.0 (MSIX/Store package)
  • Package: Claude_1.8089.1.0_x64__pzs8sxrjxfjjc

Description

After force-killing Claude Desktop with taskkill /F /IM "Claude.exe", the app refuses to relaunch. Windows throws error 0x80070020 (ERROR_SHARING_VIOLATION) when trying to create a new AppX container.

Root Cause

When the main claude.exe process is killed via taskkill /F, child processes survive:

  • cowork-svc.exe (from app/resources/cowork-svc.exe)
  • chrome-native-host.exe (Chrome extension bridge)

These orphan processes hold file locks on the MSIX package directory, preventing Windows from creating a new Desktop AppX container for a fresh launch.

Steps to Reproduce

  1. Open Claude Desktop (Windows Store/MSIX version)
  2. Run taskkill /F /IM "Claude.exe" in an elevated terminal
  3. Try to relaunch Claude Desktop from Start menu or taskbar
  4. App fails to open — no window appears, no error shown to user

Windows Event Log Evidence

Microsoft-Windows-AppModel-Runtime/Admin:

0x80070020: Cannot create the process for package Claude_1.8089.1.0_x64__pzs8sxrjxfjjc 
because an error was encountered while configuring runtime. [FinishPackageActivation]

0x80070020: Cannot create the Desktop AppX container for package Claude_1.8089.1.0_x64__pzs8sxrjxfjjc 
because an error was encountered converting the job.

Workaround

Manually kill the orphan processes before relaunching:

Get-Process cowork-svc, chrome-native-host -ErrorAction SilentlyContinue | Stop-Process -Force
# Then relaunch Claude Desktop

Expected Behavior

  • Child processes (cowork-svc.exe, chrome-native-host.exe) should terminate when the parent claude.exe exits
  • OR Claude Desktop should detect and clean up stale subprocesses on launch
  • OR the installer should use a Windows Job Object to ensure all child processes are killed when the parent dies

Suggested Fix

Use a Windows Job Object with JOB_OBJECT_LIMIT_KILL_ON_JOB_CLOSE flag to group the main process and all children. This ensures automatic cleanup when the parent process terminates (gracefully or forcefully). This is the standard pattern for Electron/Chromium apps on Windows.

Alternatively, on startup, detect and kill any pre-existing cowork-svc.exe instances from a previous session before initializing the AppX container.


Reported via Claude Code CLI

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

claude-code - 💡(How to fix) Fix Windows: taskkill leaves orphan subprocesses that block Claude Desktop relaunch (0x80070020)