github / github/copilot-cli

Nested .github/copilot/settings.json does not override enabledPlugins when cwd is below git root (worked in version 1.0.60)

Open
#3,742 0 comments 0 reactions 0 assignees View on GitHub
area:configuration area:plugins
Dominant language
Shell
Stars
11.2k
Forks
1.9k
Avg merge
14h 16m
Merged PRs (30d)
6

Description

### Describe the bug

When starting Copilot CLI from a nested directory below the git root, a local`.github/copilot/settings.json` in that nested cwd is not honored for `enabledPlugins`. A globally enabled marketplace plugin still loads even when the cwd-local settings file disables it.

### Affected version

GitHub Copilot CLI 1.0.61.

### Steps to reproduce the behavior

Directory layout:

```
repo/.git/ module/
.github/
copilot/
settings.json
```

Global ~/.copilot/settings.json:

```
...
{
"enabledPlugins": {
"example-plugin@example-marketplace": true
}
}
...
```

Nested repo/module/.github/copilot/settings.json:

```
{
"enabledPlugins": {
"example-plugin@example-marketplace": false
}
}
```

From repo/module, run:

copilot plugin list

### Expected behavior

The cwd-local .github/copilot/settings.json should override global settings,
and example-plugin@example-marketplace should be disabled for that session.

But the plugin still appears enabled/loaded from the global setting.

## Notes

The nested directory is not the git root. The git root is repo/.
If the same override is placed at `repo/.github/copilot/settings.json`, it is honored.

### Additional context

Abililty to keep settings.json at nested path under .git repo, gives us more flexibility. This was supported till version 1.0.60!

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.