← ClaudeAtlas

updatelisted

Refreshes every Claude Code marketplace and then updates each installed plugin one by one, because "claude plugin update" has no --all flag. Use this skill whenever the user wants to update their plugins, bring them up to date, or check whether any plugin is outdated, for example "update my plugins", "are my plugins current", "check for plugin updates", "what's outdated", or the German equivalents "update meine plugins", "plugins aktualisieren", "sind meine plugins aktuell". Also use it when the user only mentions refreshing marketplaces, since a marketplace refresh alone does not update the installed plugins.
josefheld/claude-skills · ★ 0 · AI & Automation · score 70
Install: claude install-skill josefheld/claude-skills
# Bulk plugin update ## Why this skill exists Two things are easy to confuse: - `claude plugin marketplace update` only refreshes the **catalog**. The installed plugin version in the cache under `~/.claude/plugins/cache` stays untouched. - `claude plugin update <plugin>` updates the **plugin itself**, but requires a plugin argument. There is no `--all` (as of 09/2026, open feature request in anthropics/claude-code). The script handles both, in the right order: catalog first, then each plugin. ## How to run it ```bash bash "${CLAUDE_PLUGIN_ROOT}/scripts/update-plugins.sh" ``` `${CLAUDE_PLUGIN_ROOT}` points at the directory this plugin is currently loaded from. Do not replace it with a fixed path: in a marketplace install the plugin lives in a versioned cache directory that changes with every update. Useful options: | Option | Effect | | --- | --- | | `--dry-run` | Only shows which plugins would be touched | | `--only <name>` | A single plugin, with or without `@marketplace` | | `--scope <scope>` | Pin to one scope: `user`, `project`, `local` or `managed` | | `--no-marketplace` | Skip the catalog refresh | If the user only wants to know whether anything is outdated, use `--dry-run`. It lists the candidates without changing anything. ## Reading the output Each line is marked: - `OK` updated - `==` already current - `!!` failed, with the error message indented below it - `--` skipped A `[scope: project]` or `[scope: local]` after a plugin name means it was not insta