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." }