From 166c1c0752f564bc346eaacb3f9a0e2238d7cb66 Mon Sep 17 00:00:00 2001 From: Minas Arustamyan Date: Thu, 7 May 2026 01:48:37 +0200 Subject: [PATCH] fix(refresh-marketplace): pass --scope project to `claude plugin update` MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Without `--scope project`, `claude plugin update @agnes` operated at user scope (the default) instead of updating the project-scoped install — so version bumps in the served manifest never propagated to the workspace, even though `claude plugin install` correctly used `--scope project` for the missing-plugin path. Mirrors the install line in the same function. Any change refresh- marketplace makes to a plugin must now stay in project scope — consistent with the SessionStart hook firing per-workspace. --- cli/commands/refresh_marketplace.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cli/commands/refresh_marketplace.py b/cli/commands/refresh_marketplace.py index 499758e..ea7d152 100644 --- a/cli/commands/refresh_marketplace.py +++ b/cli/commands/refresh_marketplace.py @@ -361,7 +361,7 @@ def _reconcile_with_manifest( for name in to_update: target = f"{name}@{MARKETPLACE_NAME}" result = subprocess.run( - ["claude", "plugin", "update", target], + ["claude", "plugin", "update", target, "--scope", "project"], capture_output=True, text=True, encoding="utf-8", errors="replace", check=False, ) if result.returncode != 0: