# Troubleshooting PM Skills Plugin Installation Errors on Windows: Complete Fix Guide

> Fix PM Skills plugin installation errors on Windows by deploying a PowerShell scheduled task to automatically restart the Cowork VM Service. Resolve common installation failures quickly.

- Repository: [Pawel Huryn/pm-skills](https://github.com/phuryn/pm-skills)
- Tags: how-to-guide
- Published: 2026-07-06

---

**The most common cause of PM Skills plugin installation failures on Windows is a stopped CoworkVMService, which you can fix permanently by deploying a PowerShell scheduled task that automatically restarts the Claude Cowork VM every minute.**

The `phuryn/pm-skills` repository provides a marketplace of AI-driven product management plugins for Claude Code, but Windows users frequently encounter execution errors when the underlying virtual machine fails to start. This guide walks through the exact steps to diagnose and resolve these installation errors using the official PowerShell monitoring solution and CLI commands documented in the source code.

## How the PM Skills Installation Flow Works

Understanding the four-stage architecture helps isolate where failures occur:

1. **Marketplace Registration** — The `claude plugin marketplace add phuryn/pm-skills` command registers the marketplace defined in [`pm-skills/marketplace.json`](https://github.com/phuryn/pm-skills/blob/main/pm-skills/marketplace.json), which tells Claude which plugins belong to the repository.

2. **Plugin Installation** — Individual plugins (`pm-toolkit`, `pm-product-strategy`, etc.) are pulled from their respective folders and their [`manifest.json`](https://github.com/phuryn/pm-skills/blob/main/manifest.json) files are parsed to register skills and slash-commands.

3. **VM Initialization** — Claude Cowork spins up a lightweight virtual machine via `CoworkVMService`. If this Windows service is stopped, commands appear unavailable even after successful installation.

4. **Command Execution** — Requests to `command-name` are routed to the VM, which loads skill documentation (`*.md` files) and returns structured responses.

When troubleshooting PM Skills plugin installation errors, failures most commonly occur at stage three on Windows systems where the `CoworkVMService` fails to auto-start.

## Common Windows-Specific Installation Failures

| Symptom | Root Cause | Immediate Fix |
|---------|------------|---------------|
| **"Plugin not found"** after UI installation | `CoworkVMService` is not running | Deploy the PowerShell monitor or start the service manually |
| **VM crashes repeatedly** | Corrupt VM image or stale state | Delete `~/.claude/cowork` and reinstall the marketplace |
| **CLI returns "plugin not installed"** | Skipped individual plugin install step | Run `claude plugin install pm-toolkit@pm-skills` for each missing plugin |

## Step-by-Step Resolution for Windows VM Errors

The `phuryn/pm-skills` README includes a ready-made PowerShell solution that resolves approximately 90% of Windows-related failures by monitoring and restarting the VM service automatically.

### 1. Deploy the Automated Service Monitor

Open PowerShell with Administrator rights and execute the following script to create a scheduled task that checks `CoworkVMService` every 60 seconds:

```powershell
$action = New-ScheduledTaskAction -Execute "powershell.exe" -Argument "-WindowStyle Hidden -Command `"if ((Get-Service CoworkVMService).Status -ne 'Running') { Start-Service CoworkVMService }`""
$trigger = New-ScheduledTaskTrigger -RepetitionInterval (New-TimeSpan -Minutes 1) -Once -At (Get-Date)
$settings = New-ScheduledTaskSettingsSet -AllowStartIfOnBatteries -DontStopIfGoingOnBatteries
Register-ScheduledTask -TaskName "CoworkVMServiceMonitor" `
  -Action $action `
  -Trigger $trigger `
  -Settings $settings `
  -RunLevel Highest `
  -User "SYSTEM"

```

This script registers a system-level task named **CoworkVMServiceMonitor** that silently restarts the service whenever it stops, eliminating the need for manual intervention.

### 2. Verify Service Status

Confirm the VM service is running with:

```powershell
Get-Service CoworkVMService

```

The `Status` field should display **Running**. If it shows **Stopped**, the scheduled task will restart it within 60 seconds, or you can start it immediately via `services.msc` by locating the **Claude** entry and clicking **Start**.

### 3. Clear Corrupt VM State

If the service crashes repeatedly, delete the VM cache directory and reinstall:

```bash

# Remove stale VM data

rm -rf ~/.claude/cowork

# Re-register the marketplace

claude plugin marketplace add phuryn/pm-skills

# Reinstall specific plugins

claude plugin install pm-toolkit@pm-skills
claude plugin install pm-product-strategy@pm-skills

```

### 4. Validate Plugin Commands

Once the `CoworkVMService` is stable, test functionality with slash-commands like `/review-resume` or by asking Claude: *"What does the review-resume skill do?"* Successful responses confirm that skills are loading correctly from their respective plugin folders.

## Key Source Files for Debugging

When troubleshooting PM Skills plugin installation errors, reference these files in the `phuryn/pm-skills` repository:

- **[`README.md`](https://github.com/phuryn/pm-skills/blob/main/README.md)** — Contains the PowerShell monitor script, CLI installation commands, and the "Known Issue on Windows" section detailing the `CoworkVMService` dependency.
- **[`CLAUDE.md`](https://github.com/phuryn/pm-skills/blob/main/CLAUDE.md)** — Defines how the marketplace structure is interpreted by the Claude agent.
- **[`pm-toolkit/manifest.json`](https://github.com/phuryn/pm-skills/blob/main/pm-toolkit/manifest.json)** and **[`pm-product-strategy/manifest.json`](https://github.com/phuryn/pm-skills/blob/main/pm-product-strategy/manifest.json)** — Define the specific skills and commands available in each plugin; verifying these files load confirms successful installation.

## Summary

- **Install** the marketplace using `claude plugin marketplace add phuryn/pm-skills` via CLI or the Claude Cowork UI.
- **Monitor** the `CoworkVMService` on Windows using the PowerShell scheduled task from the repository README to prevent VM downtime.
- **Reset** corrupt VM states by clearing `~/.claude/cowork` and reinstalling plugins individually with `claude plugin install [plugin-name]@pm-skills`.
- **Execute** slash-commands only after verifying the VM service status shows **Running**.

## Frequently Asked Questions

### Why do PM Skills plugins install but show as "not found" in the Claude UI?

This occurs when the **CoworkVMService** is stopped. Even though the plugin files are present in the marketplace directory, Claude cannot route commands to the virtual machine that executes the skills. Run the PowerShell monitor script provided in the `phuryn/pm-skills` README to automatically restart this service.

### How do I fix repeated VM crashes when loading PM Skills?

Delete the `~/.claude/cowork` directory to remove potentially corrupt VM images or stale state files, then reinstall the marketplace. This forces Claude Cowork to regenerate the virtual machine environment from scratch.

### Can I use PM Skills plugins without the Claude Cowork VM?

No. According to the repository architecture, all skills execute inside the **Claude Cowork VM** (`CoworkVMService`). The slash-commands and plugin logic are not available in standard CLI mode without this service running.

### What is the difference between adding the marketplace and installing a plugin?

**Adding the marketplace** (`claude plugin marketplace add phuryn/pm-skills`) registers the repository's [`marketplace.json`](https://github.com/phuryn/pm-skills/blob/main/marketplace.json), making plugins discoverable. **Installing a plugin** (`claude plugin install pm-toolkit@pm-skills`) pulls the specific plugin folder, parses its [`manifest.json`](https://github.com/phuryn/pm-skills/blob/main/manifest.json), and registers its individual skills and commands. Both steps are required for functionality.