Summary
vercel login repeatedly offers to update the Claude Code Vercel plugin (e.g. "update from 0.44.0 to 0.45.1"), reports Success! Updated the Vercel plugin, but the update never persists. The next vercel login prompts again with the identical version pair — an endless loop with a false success message.
Steps to reproduce
- Install the Vercel plugin in Claude Code via the official marketplace (
vercel@claude-plugins-official), which currently resolves to 0.44.0.
- Run
vercel login with the Vercel CLI (observed on 54.6.0).
- Accept the prompt:
Working with Vercel is easier with the latest Vercel Plugin for Claude Code. Would you like to update from 0.44.0 to 0.45.1? → yes.
- CLI prints
Success! Updated the Vercel plugin.
- Run
vercel login again later → the same prompt reappears, unchanged.
Expected
Either the plugin is actually updated (and the prompt stops), or — if the CLI cannot update a plugin that Claude Code installed from a pinned marketplace source — the CLI should detect that and not claim success / not re-prompt on every login.
Actual
The "update" is a no-op against Claude Code's plugin registry, but is reported as success.
Root cause (from inspecting the local Claude Code plugin state)
The plugin the Vercel CLI is trying to update is not owned by the Vercel CLI — it's installed and version-pinned by Anthropic's marketplace:
~/.claude/plugins/installed_plugins.json pins vercel@claude-plugins-official to version: 0.44.0, installed from the claude-plugins-official marketplace. Accepting the CLI prompt does not change this entry — version stays 0.44.0 and no 0.45.x build ever lands in ~/.claude/plugins/cache/claude-plugins-official/vercel/ (only 0.43.0 and 0.44.0 are present).
- That marketplace pins the plugin to a frozen git SHA of this repo:
"source": "url",
"url": "https://github.com/vercel/vercel-plugin.git",
"sha": "5f3f0ad7931ad49d6a4c6ed43ab4bf4781a69f6d" // == 0.44.0
claude plugin marketplace update claude-plugins-official + claude plugin update vercel@claude-plugins-official both confirm vercel is already at the latest version (0.44.0) — i.e. the marketplace hasn't advanced past 0.44.0, so 0.45.1 is unreachable through the channel Claude Code actually uses.
- The CLI appears to write its "update" to a different path than the one Claude Code loads. On this machine it left behind an empty
~/.claude/plugins/data/vercel-claude-plugins-official/ directory (created at first plugin install), which is not referenced by known_marketplaces.json or installed_plugins.json — a strong sign the CLI's update targets a location Claude Code doesn't read.
Net effect: the CLI compares the user's install (0.44.0, pinned by Anthropic's marketplace) against the latest upstream plugin release (0.45.1), tries to bridge the gap through a path Claude Code ignores, and so re-prompts forever while reporting success.
Suggested fixes (either/both)
- Make the success message truthful: verify the plugin version actually changed in
installed_plugins.json before printing Success!; if it didn't, say so.
- When the plugin was installed from a pinned marketplace source the CLI can't mutate (
vercel@claude-plugins-official), don't attempt the update or re-prompt — point the user at claude plugin update, or coordinate with Anthropic to bump the pinned SHA in anthropics/claude-plugins-official when a new plugin version ships.
Environment
- Vercel CLI: 54.6.0 (macOS, Darwin arm64)
- Claude Code plugin:
vercel@claude-plugins-official 0.44.0 (user scope)
- Marketplace SHA pin:
5f3f0ad7931ad49d6a4c6ed43ab4bf4781a69f6d
Summary
vercel loginrepeatedly offers to update the Claude Code Vercel plugin (e.g. "update from 0.44.0 to 0.45.1"), reportsSuccess! Updated the Vercel plugin, but the update never persists. The nextvercel loginprompts again with the identical version pair — an endless loop with a false success message.Steps to reproduce
vercel@claude-plugins-official), which currently resolves to0.44.0.vercel loginwith the Vercel CLI (observed on54.6.0).Working with Vercel is easier with the latest Vercel Plugin for Claude Code. Would you like to update from 0.44.0 to 0.45.1?→yes.Success! Updated the Vercel plugin.vercel loginagain later → the same prompt reappears, unchanged.Expected
Either the plugin is actually updated (and the prompt stops), or — if the CLI cannot update a plugin that Claude Code installed from a pinned marketplace source — the CLI should detect that and not claim success / not re-prompt on every login.
Actual
The "update" is a no-op against Claude Code's plugin registry, but is reported as success.
Root cause (from inspecting the local Claude Code plugin state)
The plugin the Vercel CLI is trying to update is not owned by the Vercel CLI — it's installed and version-pinned by Anthropic's marketplace:
~/.claude/plugins/installed_plugins.jsonpinsvercel@claude-plugins-officialtoversion: 0.44.0, installed from theclaude-plugins-officialmarketplace. Accepting the CLI prompt does not change this entry —versionstays0.44.0and no0.45.xbuild ever lands in~/.claude/plugins/cache/claude-plugins-official/vercel/(only0.43.0and0.44.0are present).claude plugin marketplace update claude-plugins-official+claude plugin update vercel@claude-plugins-officialboth confirmvercel is already at the latest version (0.44.0)— i.e. the marketplace hasn't advanced past 0.44.0, so 0.45.1 is unreachable through the channel Claude Code actually uses.~/.claude/plugins/data/vercel-claude-plugins-official/directory (created at first plugin install), which is not referenced byknown_marketplaces.jsonorinstalled_plugins.json— a strong sign the CLI's update targets a location Claude Code doesn't read.Net effect: the CLI compares the user's install (0.44.0, pinned by Anthropic's marketplace) against the latest upstream plugin release (0.45.1), tries to bridge the gap through a path Claude Code ignores, and so re-prompts forever while reporting success.
Suggested fixes (either/both)
installed_plugins.jsonbefore printingSuccess!; if it didn't, say so.vercel@claude-plugins-official), don't attempt the update or re-prompt — point the user atclaude plugin update, or coordinate with Anthropic to bump the pinned SHA inanthropics/claude-plugins-officialwhen a new plugin version ships.Environment
vercel@claude-plugins-official0.44.0 (user scope)5f3f0ad7931ad49d6a4c6ed43ab4bf4781a69f6d