Skip to content

fix(plugin): drop the static version so plugin updates track main - #54

Open
milanagm wants to merge 1 commit into
langfuse:mainfrom
milanagm:fix/issue-51-unpin-plugin-version
Open

fix(plugin): drop the static version so plugin updates track main#54
milanagm wants to merge 1 commit into
langfuse:mainfrom
milanagm:fix/issue-51-unpin-plugin-version

Conversation

@milanagm

Copy link
Copy Markdown
Contributor

Problem

claude plugin update reports "already at the latest version (1.0.0)". But main is many commits ahead. Installs stay on the commit they got at install time as the version field is never updated and proper versioning of the integration not set up yet. #51 shows a full reproduction.

Cause

Claude Code reads the update version from the version field in plugin.json. It compares this string to the installed version and thereby it does not compare git commits (docs: Version management).

If we keep our version field as is at 1.0.0 (since the first commit), the CLI never offers an update. The pinned version also blocks updates from the official Anthropic plugin directory as even if the directory re-pins commits, the manifest version has priority.

Fix

We remove the version field. Claude Code then uses the git commit as the version. Each commit on main becomes an update. This matches how we ship the plugin today: new installs always get the newest commit.

  • .claude-plugin/plugin.json — remove the field
  • README.md — add an "Update" section with the two update commands
  • tests/unit/test_plugin_manifest.py — new test: the manifests must not declare a version field again (claude plugin validate suggests one, so this can easily happen)

This PR adds no release process. If we want semver releases later, we add the field back, together with release tags (claude plugin tag-release).

Verification

We tested against the real CLI (v2.1.224) in an isolated CLAUDE_CONFIG_DIR, with a local marketplace that mirrors this repo (source: "./").

  • With the pinned version: the marketplace pulls new commits, but the installed files stay old. This is the bug.
  • Without the field: the CLI reports updated from 1.0.0 to <commit-id>. Stale installs move to the new model on their next update. No reinstall is needed.
  • The test suite passes (170 tests). claude plugin validate . passes.

After the merge, users on a stale install run:

claude plugin marketplace update langfuse-observability
claude plugin update langfuse-observability@langfuse-observability

Fixes #51
Linear: LFE-14887

@claude claude Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Claude Code Review

This pull request is from a fork — automated review is disabled. A repository maintainer can comment @claude review to run a one-time review.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

claude plugin update reports "already at the latest version" — plugin.json version pinned at 1.0.0 across 93 commits

1 participant