Skip to content

bug: contextbridge install claude fails on stale marketplace cache after plugin rename #61

Closed

Description

@blimmer

What happened?

After the Claude plugin id rename in #52 (closes #49), users whose machines already had the legacy cli@contextbridge plugin and the contextbridge marketplace configured cannot complete the migration with a single contextbridge install claude. The first invocation aborts because Claude's locally cached marketplace catalog is stale and still lists the old cli plugin id, not planbridge.

This affects every existing PlanBridge user upgrading across the rename — i.e., the exact population the migration code in ClaudeInstaller.runInstall is meant to serve.

contextbridge version

0.3.0-alpha.1

Operating system

macOS

Steps to reproduce

  1. Have the pre-rename Claude plugin already installed at user scope (claude plugin list --json shows cli@contextbridge @ user, claude plugin marketplace list --json shows contextbridge → contextbridge/claude-plugin).
  2. Update to a contextbridge binary carrying feat!: rename Claude plugin to planbridge@contextbridge; refresh plugins on update #52 (e.g. 0.3.0-alpha.1).
  3. Run contextbridge install claude --yes.

What did you expect to happen?

The migration to complete: planbridge@contextbridge installed at user scope, legacy cli@contextbridge removed, and the "renamed from cli@contextbridge to planbridge@contextbridge — migrated automatically" banner printed.

What actually happened?

The claude plugin install planbridge@contextbridge step fails because Claude's local copy of the contextbridge marketplace catalog is stale. The CLI exits non-zero and leaves the user on legacy state. Manually running claude plugin marketplace update contextbridge and then re-running contextbridge install claude succeeds — confirming the new plugin id is resolvable in the upstream catalog and the only blocker is the local cache.

Relevant logs or stack trace

$ contextbridge install claude --yes
{"level":50,"time":1778257218109,"pid":56365,"hostname":"...","msg":"✘ Failed to install plugin \"planbridge@contextbridge\": Plugin \"planbridge\" not found in marketplace \"contextbridge\". Your local copy may be out of date — try `claude plugin marketplace update contextbridge`."}
✘ Failed to install plugin "planbridge@contextbridge": Plugin "planbridge" not found in marketplace "contextbridge". Your local copy may be out of date — try `claude plugin marketplace update contextbridge`.

$ claude plugin marketplace update contextbridge
Updating marketplace: contextbridge...Refreshing marketplace cache (timeout: 120s)…
✔ Successfully updated marketplace: contextbridge

$ contextbridge install claude --yes
PlanBridge plugin renamed from cli@contextbridge to planbridge@contextbridge — migrated automatically.
✓ PlanBridge plugin installed for Claude Code (scope: user).
Restart Claude Code for the plugin to load.

Anything else

Activity

  1. added a commit that references this issue on May 8, 2026
    58be09a
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions