Claude Desktop Update Says File in Use? Stop CoworkVMService Safely

Claude Desktop Update Says File in Use? Stop CoworkVMService Safely

Aident AI

A cobalt application plate clears a coral service loop through a cyan recovery path toward a stable gold destination.

Claude Desktop Update Says File in Use? Stop CoworkVMService Safely

If Claude Desktop on Windows will not update or reopen because another program is using the file, close Claude, stop CoworkVMService from an elevated PowerShell window, complete the update before reopening Claude, and then verify that the installed package and service point to the same version. Do not delete the service, take ownership of WindowsApps, or keep the service disabled permanently.

Use this guide only when the failure names a file below C:\Program Files\WindowsApps\Claude_*, returns 0x80073D02 or 0x80073CF6, or disappears after CoworkVMService stops. A different package state needs a different repair.

Match the File-Lock Failure

This guide applies to messages such as:

Another program is currently using this file.
0x80073D02: The package could not be installed because resources it modifies are currently in use.
AddPackage failed with HRESULT 0x80073CF6

The strongest match has all three signals:

  1. Claude Desktop is closed, but CoworkVMService is still running.

  2. The error or service path contains C:\Program Files\WindowsApps\Claude_....

  3. Windows reports that an older Claude package is still running while a newer package waits to register.

Use the separate Modified, NeedsRemediation recovery guide when Get-AppxPackage reports that exact state. If only the in-app browser crashes with GPU exit code 101457950, use the Claude Desktop GPU crash containment guide; a service stop does not fix that GPU defect.

Before You Stop the Service

Stopping CoworkVMService can terminate active Cowork or Claude Code work hosted by the desktop app. Before continuing:

  • save or commit important project files outside Claude Desktop;

  • let active tasks finish, or record what they were doing;

  • quit Claude from the system tray, not only by closing its window;

  • confirm that you have the official installer or an update already ready to complete; and

  • use an administrator-approved process on managed Windows devices.

Do not place the recovery commands in your PowerShell profile. The goal is one bounded update, not a permanent startup modification.

Step 1: Inspect the Package and Service

Open PowerShell as Administrator and run these read-only checks:

$package = Get-AppxPackage -Name Claude
$service = Get-CimInstance Win32_Service -Filter "Name='CoworkVMService'"

[pscustomobject]@{
  PackageVersion = $package.Version
  PackageStatus  = $package.Status
  ServiceState   = $service.State
  ServicePath    = $service.PathName
}

Expected output for this branch:

  • PackageStatus is Ok or the update is waiting to finish;

  • ServiceState is Running; and

  • ServicePath points into a versioned Claude_* directory, sometimes an older version than PackageVersion.

Record the output, Windows version, Claude version, error code, and approximate UTC time. A mismatch between the registered package version and the service path is especially useful evidence.

If no Claude package or service appears, stop here. You may have a different installer type or failure. Do not create or delete a Windows service to force a match.

Step 2: Fully Quit Claude

  1. Quit Claude from its system-tray menu.

  2. Close every Claude window.

  3. Open Task Manager and confirm that no active Claude task still needs to preserve work.

  4. Return to the elevated PowerShell window.

Closing the window alone may leave the packaged service alive. That is why killing only the visible Claude.exe process can fail to release the package.

Step 3: Stop CoworkVMService for the Update

Run:

Stop-Service -Name CoworkVMService -Force
Get-Service -Name CoworkVMService

Expected result:

Status   Name               DisplayName
------   ----               -----------
Stopped  CoworkVMService    

If the service stops but a Claude package process remains, inspect only processes loaded from the Claude package:

Get-CimInstance Win32_Process |
  Where-Object { $_.ExecutablePath -like 'C:\Program Files\WindowsApps\Claude_*' } |
  Select-Object ProcessId, Name, ExecutablePath

End a remaining process only after checking that its executable path belongs to Claude and that no in-flight work depends on it. Do not use a broad command that kills unrelated Chromium, virtualization, terminal, or agent processes.

If Stop-Service returns Access Denied or the service immediately returns to Running, do not change registry permissions. Restart Windows, do not open Claude, and continue the update before launching any Claude surface.

Step 4: Complete the Update Before Reopening Claude

With the service stopped:

  1. Select Relaunch in the update flow, or run the fresh installer from Anthropic's official Claude Desktop download page.

  2. Wait for installation to complete.

  3. Do not launch an older shortcut or executable from inside WindowsApps.

  4. Restart Windows if the installer still reports files in use.

The update should now replace or register the package without the old service binary holding its versioned package directory open.

Step 5: Verify Package and Service Alignment

After the update, run the same read-only check again:

$package = Get-AppxPackage -Name Claude
$service = Get-CimInstance Win32_Service -Filter "Name='CoworkVMService'"

[pscustomobject]@{
  PackageVersion = $package.Version
  PackageStatus  = $package.Status
  ServiceState   = $service.State
  ServicePath    = $service.PathName
}

Expected result:

  • PackageStatus is Ok;

  • the version embedded in ServicePath agrees with the registered package version; and

  • Claude opens, closes, and reopens once without a file-in-use dialog.

If the service remains stopped, launch Claude once and recheck it. Start the service manually only if Claude does not restore it and your administrator permits it:

Start-Service -Name CoworkVMService

Do not leave the service disabled. A permanently disabled service can break Cowork and turn an update workaround into a different product failure.

Step 6: Confirm the AppX Event Evidence

If the update still fails, inspect recent deployment events without modifying the package:

Get-WinEvent -LogName 'Microsoft-Windows-AppXDeploymentServer/Operational' -MaxEvents 100 |
  Where-Object { $_.Message -match 'Claude|0x80073CF6|0x80073D02' } |
  Select-Object TimeCreated, Id, LevelDisplayName, Message

One current report captured Event ID 658 saying the new Claude package registration was deferred because the old package was still running. Other reports captured sharing violations against package files or the virtual registry hive.

Save the smallest relevant event excerpt for Anthropic Support or your administrator. Remove usernames and unrelated paths before posting logs publicly.

Common Failure Modes

Result

What it means

Next safe step

CoworkVMService is stopped and the update succeeds

The packaged service was holding the update boundary

Verify package and service versions, then reopen Claude

Stop-Service returns Access Denied

Service control is restricted

Restart, update before launching Claude, or ask the administrator

The service restarts immediately

A packaged process or recovery path is relaunching it

Restart Windows and run the update before Claude opens

Package status is Modified, NeedsRemediation

The package is already damaged, not merely locked

Use Windows Repair before Reset or reinstall

101457950 appears in main.log

The Chromium GPU process crashed

Preserve the Crashpad report and avoid the trigger; do not blame the service lock

The service path still names the old package

Registration or service replacement did not finish

Restart once, recheck, then collect AppX events instead of repeating installs

No Claude AppX package appears

This is not the expected MSIX boundary

Identify the installer type before changing anything

Avoid Destructive Shortcuts

Do not:

  • delete CoworkVMService from the registry;

  • take ownership of C:\Program Files\WindowsApps;

  • delete package folders or virtual registry hive files;

  • disable Windows security or package-integrity checks;

  • run an unreviewed cleanup script from a forum;

  • keep the service disabled in your PowerShell profile; or

  • repeatedly reinstall over a package that Windows says is still running.

Those actions can damage registration, erase diagnostic evidence, or leave Cowork unavailable after the update.

Why This Recovery Works

MSIX packages live in versioned directories. A running executable or service loaded from the old directory can keep files open while Windows tries to register the new version. Stopping the owning service releases that process boundary long enough for the package operation to finish.

The check after installation matters as much as the stop. A successful launch alone does not prove that Windows replaced the service path or that the next update will work. Matching the package version, package status, and service path produces a reproducible verification result.

This is a recovery procedure, not a product fix. The durable fix belongs in the updater: stop the packaged service, wait for it to reach Stopped, replace the package, and register the new service before relaunching the app.

Keep One Read-Only Integration Task Moving

If Claude Desktop is unavailable, another supported coding agent can set up Aident Loadout with this exact prompt:

Follow https://aident.ai/SETUP.md

Then ask:

Check my Aident Loadout authentication and Vault status. Find a read-only
GitHub issue search Action, inspect its current schema, and preflight one search
for "Claude Desktop CoworkVMService file in use". If the estimate is bounded,
return at most 10 current issue URLs with dates, comments, and reactions. Do not
change a connection, execute a write Action, or expose a provider credential

Success means the Action reaches a valid preflight and the response contains no more than ten read-only records. This does not repair Claude Desktop. It gives the operator a measurable external research path while the local package is closed.

Sources

Refresh this guide when Anthropic changes the Windows package or documents a first-party service-aware update sequence.

Home

Home

Home

Integrations

Integrations

Integrations

Vault

Vault

Vault

Audit

Audit

Audit

Arana Grande

Arana Grande

Arana Grande

Free

Free

Free

30-day audit summary

30-day audit summary

30-day audit summary

Daily action-call volume and the latest receipts from the Loadout audit trail.

Daily action-call volume and the latest receipts from the Loadout audit trail.

Daily action-call volume and the latest receipts from the Loadout audit trail.

View Audit

View Audit

View Audit

Loadout usage

Loadout usage

Loadout usage

617 action calls in the last 30 days

617 action calls in the last 30 days

617 action calls in the last 30 days

May 19 - Jun 17

May 19 - Jun 17

May 19 - Jun 17

10 active days

10 active days

10 active days

Less

Less

Less

More

More

More

Recent activity

Recent activity

Recent activity

Latest action-call receipts from connected agents

Latest action-call receipts from connected agents

Latest action-call receipts from connected agents

Apr 23, 09:23 AM

Apr 23, 09:23 AM

Apr 23, 09:23 AM

Shopify

Shopify

Shopify

Creates Or Updates An Asset For A Theme

Creates Or Updates An Asset For A Theme

Creates Or Updates An Asset For A Theme

Success

Success

Success

Apr 23, 09:21 AM

Apr 23, 09:21 AM

Apr 23, 09:21 AM

Shopify

Shopify

Shopify

Update Products Param Product Id

Update Products Param Product Id

Update Products Param Product Id

Success

Success

Success

Apr 23, 08:53 AM

Apr 23, 08:53 AM

Apr 23, 08:53 AM

Shopify

Shopify

Shopify

Update Products Param Product Id

Update Products Param Product Id

Update Products Param Product Id

Failed

Failed

Failed

Apr 22, 22:13 PM

Apr 22, 22:13 PM

Apr 22, 22:13 PM

Shopify

Shopify

Shopify

Create Product Image

Create Product Image

Create Product Image

Success

Success

Success

Apr 22, 22:12 PM

Apr 22, 22:12 PM

Apr 22, 22:12 PM

Shopify

Shopify

Shopify

Create Product Image

Create Product Image

Create Product Image

Success

Success

Success

Connected integration coverage

Connected integration coverage

Connected integration coverage

162

162

162

of 753 accessible connected

of 753 accessible connected

of 753 accessible connected

Callable actions

Callable actions

Callable actions

1,126

1,126

1,126

Vault credentials

Vault credentials

Vault credentials

8

8

8

Explore what's possible

Explore what's possible

Explore what's possible

See all Integrations

See all Integrations

See all Integrations

Google Ads

Google Ads

Google Ads

All available Goolge Ads tools via...

All available Goolge Ads tools via...

All available Goolge Ads tools via...

X (twitter)

X (twitter)

X (twitter)

All available X tools via...

All available X tools via...

All available X tools via...

Github

Github

Github

All available Github tools via...

All available Github tools via...

All available Github tools via...

Notion

Notion

Notion

All available Notion tools via...

All available Notion tools via...

All available Notion tools via...

Slack

Slack

Slack

All available Slack tools via...

All available Slack tools via...

All available Slack tools via...

Firecrawl

Firecrawl

Firecrawl

All available Firecrawl tools via...

All available Firecrawl tools via...

All available Firecrawl tools via...

753 integrations are available for loadouts.

753 integrations are available for loadouts.

753 integrations are available for loadouts.

The one tool

for every tool

your agent needs.

Give any AI agent real capabilities in seconds. Connect 1,000+ tools once, skip the setup headache, and let your agents execute.