Skip to content

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

Description

@BuzzHari

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!

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:configurationConfig files, instruction files, settings, and environment variablesarea:pluginsPlugin system, marketplace, hooks, skills, extensions, and custom agents

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions