plugins update doesn't fetch from remote, reports stale version as latest

Resolved 💬 3 comments Opened Apr 5, 2026 by it3xl Closed Apr 8, 2026

Bug Description

claude plugins update <plugin> reports a plugin is "already at the latest version" even when the remote git repository has newer versions available. The command checks the local marketplace cache without running git fetch/git pull first.

Steps to Reproduce

  1. Install a git-based plugin from a custom marketplace:

``
claude plugins install cbexpert@cbexpert
``

  1. Wait for the upstream repo to publish new versions (in this case, 2.1.1 → 2.3.0)
  2. Run:

``
claude plugins update cbexpert@cbexpert
``

  1. Output:

``
Checking for updates for plugin "cbexpert@cbexpert" at user scope…
✔ cbexpert is already at the latest version (2.1.1)
``

Expected Behavior

The update command should fetch the latest state from the remote repository before comparing versions, detect version 2.3.0, and update the plugin.

Actual Behavior

The command only checks the local marketplace cache at ~/.claude/plugins/marketplaces/<plugin>/, which is stale. It compares installed version against the stale local copy and incorrectly reports no update available.

Workaround

Manually pull the latest changes in the marketplace cache, then reinstall:

cd ~/.claude/plugins/marketplaces/<plugin> && git pull origin master
claude plugins remove <plugin>@<marketplace>
claude plugins install <plugin>@<marketplace>

Environment

  • Claude Code version: 2.1.81
  • OS: macOS (Darwin 25.4.0)
  • Plugin source: git-based custom marketplace

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗