github / github/copilot-cli

Plugin install fails: pluginRoot prepended to source path causing doubled directory segment

Open
#2,200 2 comments 1 reaction 0 assignees View on GitHub
area:installation area:plugins
Dominant language
Shell
Stars
11.2k
Forks
1.9k
Avg merge
14h 16m
Merged PRs (30d)
6

Description

## Bug Report

### Summary
When installing a plugin from the `microsoft-skills` marketplace (e.g. `azure-skills@skills`), the CLI constructs an incorrect path by joining `pluginRoot` with a `source` value that already contains the full path prefix. This produces a doubled directory segment and the install fails with a directory-not-found error.

### Steps to Reproduce
1. Run `/plugin` and install `azure-skills@skills` from the `microsoft-skills` marketplace.
2. Observe the error: directory not found.

### Expected Behavior
Plugin installs successfully. The resolved path should be:
```
~/.cache/copilot/marketplaces/microsoft-skills/.github/plugins/azure-skills
```

### Actual Behavior
The CLI looks for the plugin at:
```
~/.cache/copilot/marketplaces/microsoft-skills/.github/plugins/.github/plugins/azure-skills
```

### Root Cause (Observed)
In `marketplace.json` for `microsoft-skills`, the `metadata.pluginRoot` is set to `./.github/plugins` and each plugin entry's `source` field is `./.github/plugins/` (the full path from repo root). The CLI appears to join `pluginRoot + source` rather than treating `source` as repo-root-relative, resulting in the segment being appended twice.

Relevant `marketplace.json` snippet:
```json
{
"metadata": {
"pluginRoot": "./.github/plugins"
},
"plugins": [
{
"name": "azure-skills",
"source": "./.github/plugins/azure-skills"
}
]
}
```

### Workaround
Manually create a symlink at the doubled path pointing to the real plugin directory:
```bash
mkdir -p ~/.cache/copilot/marketplaces/microsoft-skills/.github/plugins/.github/plugins
ln -sf ~/.cache/copilot/marketplaces/microsoft-skills/.github/plugins/azure-skills ~/.cache/copilot/marketplaces/microsoft-skills/.github/plugins/.github/plugins/azure-skills
```

### Environment
- OS: Linux
- Marketplace: `microsoft-skills` (marketplace version 1.0.0)
- Plugin: `azure-skills` (plugin version 1.0.1)
- Copilot CLI version: 1.0.10

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.