From 87676e0198c251deb67877882d37a3bc1c2d6aa5 Mon Sep 17 00:00:00 2001 From: lmiranda Date: Tue, 27 Jan 2026 14:51:21 -0500 Subject: [PATCH] fix(post-update): clear Claude plugin cache on update The Claude plugin cache at ~/.claude/plugins/cache/leo-claude-mktplace/ holds versioned copies of .mcp.json files. When we update .mcp.json to use run.sh instead of direct python paths, the cache retains old versions, causing MCP servers to fail. Now post-update.sh clears this cache, forcing Claude to read fresh configs from the installed marketplace on next session start. Co-Authored-By: Claude Opus 4.5 --- scripts/post-update.sh | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/scripts/post-update.sh b/scripts/post-update.sh index f7bdc96..bfb4987 100755 --- a/scripts/post-update.sh +++ b/scripts/post-update.sh @@ -5,13 +5,16 @@ # Usage: ./scripts/post-update.sh # # This script: -# 1. Restores MCP venv symlinks (instant if cache exists) -# 2. Creates venvs in external cache if missing (first run only) -# 3. Shows recent changelog updates +# 1. Clears Claude plugin cache (forces fresh .mcp.json reads) +# 2. Restores MCP venv symlinks (instant if cache exists) +# 3. Creates venvs in external cache if missing (first run only) +# 4. Shows recent changelog updates # set -euo pipefail +CLAUDE_PLUGIN_CACHE="$HOME/.claude/plugins/cache/leo-claude-mktplace" + SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" REPO_ROOT="$(dirname "$SCRIPT_DIR")" @@ -47,6 +50,14 @@ main() { echo "==============================================" echo "" + # Clear Claude plugin cache to force fresh .mcp.json reads + # This cache holds versioned copies that become stale after updates + if [[ -d "$CLAUDE_PLUGIN_CACHE" ]]; then + log_info "Clearing Claude plugin cache..." + rm -rf "$CLAUDE_PLUGIN_CACHE" + log_success "Plugin cache cleared" + fi + # Run venv-repair.sh to restore symlinks to external cache # This is instant if cache exists, or does full setup on first run if [[ -x "$SCRIPT_DIR/venv-repair.sh" ]]; then @@ -68,6 +79,7 @@ main() { echo "" log_success "Post-update complete!" echo "" + echo "IMPORTANT: Restart Claude Code for changes to take effect." echo "MCP servers will work immediately on next session start." }