Skip to content

copilot plugin update fails for directly-installed plugins: source field not persisted during install #1885

@lossyrob

Description

@lossyrob

Bug Description

copilot plugin update <name> fails with Plugin "<name>" has no source information and cannot be updated for plugins installed directly from a GitHub repository (not via a marketplace).

Duplicate of #1290

Steps to Reproduce

copilot plugin install lossyrob/phased-agent-workflow
copilot plugin update paw-workflow

Expected Behavior

The update command should re-fetch the plugin from the original source repository and update the installed version.

Actual Behavior

Failed to update plugin: Plugin "paw-workflow" has no source information and cannot be updated

Observations

When a plugin is installed directly from owner/repo, the install source is not persisted to ~/.copilot/config.json. The installed_plugins entry has no source field. The update command then can't determine where to fetch from.

Interestingly, if you manually add the source to the config and successfully update once, subsequent updates work — suggesting the update code path does persist the source, but the initial install path does not.

Workaround

Manually add the source to ~/.copilot/config.json:

{
  "name": "your-plugin",
  "marketplace": "",
  "source": {"source": "github", "repo": "owner/repo"},
  ...
}

Environment

  • CLI version: 0.0.422-0 (also reproduced on 1.0.2)
  • OS: macOS (arm64)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions