← Claude Code Hub
✦ Tip #205 Sep 22, 2026

Claude Code Plugins: cómo hacer que se actualicen solos

Tus plugins oficiales se actualizan solos. Los tuyos y los de terceros, no, y el comando de update te dice que estás al día mientras te sirve el caché viejo.

Los siete marketplaces de mi máquina con su último refresco: los dos con auto-update al día, los cinco sin él congelados desde abril, y la línea autoUpdate true que los separa

TL;DR Los marketplaces de terceros y los de directorio local vienen con el auto-update apagado por defecto; solo el oficial y los de claude.ai lo traen encendido. Añade "autoUpdate": true a su entrada de extraKnownMarketplaces y Claude Code los refresca al arrancar. Y si claude plugin update te contesta already at the latest version mientras sigues viendo código viejo, no es el caché haciendo cosas raras: compara la cadena de versión, así que sube version en plugin.json.

Instalas un plugin, tuyo o de otra persona, y semanas después sigue igual que el día que lo instalaste. Ninguna notificación, ningún aviso. Y cuando por fin sospechas y lanzas el comando de actualizar, te contesta que estás al día.

No es un fallo. Son dos comportamientos distintos que se solapan y que la documentación cuenta en sitios separados.

Primero, míralo en tu propia máquina

Claude Code guarda los marketplaces que conoce en ~/.claude/plugins/known_marketplaces.json, con la fecha del último refresco de cada uno. Esto es lo mío, sin retocar:

claude-plugins-official   21 sep     (auto-update por defecto)
craft                     22 sep     "autoUpdate": true
ai-plugins                 8 jul
claude-code-warp          25 may
chrome-devtools-plugins    8 may
juanwmedia-cc-tips         2 may
seo-workflow              29 abr

Los dos primeros se refrescan solos. Los cinco de abajo llevan entre dos y cinco meses congelados. No es mi red, ni mi versión, ni el Desktop: es el valor por defecto.

La frase está en las docs y pasa desapercibida porque llega al final de una sección larga: claude-plugins-official, la mayoría de los marketplaces oficiales de Anthropic y los que añades desde claude.ai traen el auto-update encendido. Los demás, incluido el tuyo, lo traen apagado.

El arreglo, una línea por marketplace

En ~/.claude/settings.json, junto al source de esa entrada:

{
  "extraKnownMarketplaces": {
    "craft": {
      "source": {
        "source": "github",
        "repo": "juanwmedia/craft"
      },
      "autoUpdate": true
    }
  }
}

Eso es todo. A partir de la siguiente sesión, Claude Code refresca ese marketplace y actualiza sus plugins instalados en segundo plano.

Lo mismo se puede hacer a mano en /plugin, pestaña Marketplaces, eligiendo el marketplace y luego Enable auto-update. Es la misma palanca con otra manivela, y tiene una pega importante que verás más abajo.

Tres cosas que conviene saber antes de que te extrañe el comportamiento:

  • El refresco no es al arrancar, es después de arrancar, con un retardo aleatorio de hasta diez minutos. Eso es deliberado: la sesión que tienes abierta sigue usando las versiones que cargó al principio.
  • Si algo se ha actualizado, te sale un aviso para que lances /reload-plugins. Si lo ignoras, las versiones nuevas entran en el siguiente arranque.
  • Si tienes DISABLE_AUTOUPDATER puesto para congelar Claude Code, congelas también los plugins. Para separar las dos cosas, FORCE_AUTOUPDATE_PLUGINS=1, que es justo el efecto colateral que cuenta el tip del auto update failed.

Y ahora el segundo mordisco: la versión manda

Esto es lo que vuelve loco a cualquiera que mantenga su propio plugin. Mi marketplace ai-infra apunta a un directorio local, mi repo. Lanzo el comando de actualizar:

$ claude plugin update ai-infra@ai-infra
Checking for updates for plugin "ai-infra@ai-infra" at user scope…
✔ ai-infra is already at the latest version (1.1.8).

Y no es verdad. La copia que carga la sesión vive en ~/.claude/plugins/cache/ai-infra/ai-infra/1.1.8 y va dos commits por detrás de mi repo: difieren board.json, manifest.json y cuatro ficheros de examples/. Un diff -rq entre las dos carpetas lo canta.

La razón es simple cuando la ves: lo que se compara es la cadena de versión de plugin.json, no el contenido. Yo había editado el repo sin tocar el version, así que para Claude Code no había nada que actualizar. Por eso a veces parece que el caché se porta bien y a veces no: no es el caché, es si subiste el número.

Súbelo y todo encaja:

{ "name": "ai-infra", "version": "1.1.9" }
✔ Plugin "ai-infra" updated from 1.1.8 to 1.1.9 for scope user. Restart to apply changes.

Cada versión se instala en su propia carpeta dentro del caché, así que si desarrollas a golpe de bump acabas con una pila de directorios ahí dentro. En mi caso, trece. Borré tres de las viejas y el plugin siguió cargando la activa sin rechistar; la única que no se toca es la que está en uso.

Si lo que quieres es ver tus cambios sin publicar ni subir versión, no pases por aquí: ese es el trabajo de --plugin-dir, que pisa al plugin instalado durante esa sesión. El auto-update es para lo que ya has publicado y consumen otros.

Si trabajas en Claude Code Desktop

Aquí está la parte que más despista, porque parece un fallo de la app y no lo es. El panel /plugin es del terminal. En Desktop tienes un navegador de plugins (el + junto a la caja de texto, luego Plugins), y ahí puedes instalar, activar, desactivar y desinstalar, pero no hay conmutador de auto-update.

O sea que el camino de la interfaz no existe en Desktop, y por eso da la sensación de que "en la CLI se actualiza y aquí no". No se actualizaba en ninguno de los dos: lo que cambia es que el terminal te ofrece la palanca.

En Desktop el arreglo es el mismo de arriba, editar settings.json, que además es el único que aguanta cambios de máquina. Y para forzar algo a mano en cualquier momento, desde tu shell:

claude plugin marketplace update <marketplace>
claude plugin update <plugin>@<marketplace>

Después, /reload-plugins dentro de la sesión. Funciona en Desktop desde la v2.1.260, con dos condiciones: lo tienes que escribir tú directamente en la caja de texto (por Remote Control no se ejecuta), y no reconecta los servidores MCP del plugin, que esperan a la siguiente sesión.

Referencia

Qué quieres Qué haces
Que un marketplace se actualice solo "autoUpdate": true en su entrada de extraKnownMarketplaces
Lo mismo desde el terminal /pluginMarketplacesEnable auto-update
Refrescar el catálogo ahora claude plugin marketplace update <nombre>
Actualizar un plugin ahora claude plugin update <plugin>@<marketplace>
Aplicarlo sin reiniciar /reload-plugins
Probar cambios sin publicar claude --plugin-dir ./ruta

Y antes de publicar cualquier versión nueva, claude plugin validate te caza lo que rompe el plugin y claude plugin eval te dice si de verdad aporta algo. Si el plugin todavía no existe, el marketplace es el paso previo.

Documentación oficial: Discover and install prebuilt plugins

Requisitos

  • Todo lo de arriba está ejecutado en la v2.1.278.
  • /reload-plugins en Desktop o en modo no interactivo pide la v2.1.260 o superior.
  • La ausencia de conmutador de auto-update en el navegador de plugins de Desktop es lo que documenta Anthropic; no la he podido capturar en pantalla.
Guía gratuita

Los 51 esenciales, en una guía.

Una página por tip. Cinco capítulos. Lo que de verdad uso a diario en producción. Sin teoría, sin humo.

  • I. Empieza bien 10 tips
  • II. Conciencia 3 tips
  • III. Maestría 22 tips
  • IV. Autonomía 10 tips
  • V. Comparativa 6 tips
¿Eres desarrollador/a Web profesional?

Recibirás la guía por email · Te unes a la newsletter Gravitas · Cancela cuando quieras

de 51
#

Wmedia · 51 Tips
Guía gratuita · 51 tips · 5 capítulos

Los 51 esenciales, en una guía.

¿Eres desarrollador/a Web profesional? · Cancela cuando quieras
Workshop para equipos

Multiplica el output de tu equipo sin sacrificar calidad: workshop AI First de 6 a 8 horas, online, sobre la plataforma Claude.

Ver el workshop

¿Quieres los 51 esenciales de Claude Code en una guía?