Descripción general de mods
Agregue paneles, comandos y reglas de llamadas de herramientas a Claude Code con un mod. Vea qué puede hacer un mod, cómo crear o instalar uno, y dónde se ejecutan los mods.
Un mod es un plugin que cambia cómo se ve y se comporta Claude Code. Está hecho de controladores de eventos JavaScript o TypeScript: Claude Code llama a uno cuando ocurre un evento, como una llamada de herramienta, un mensaje enviado, o una parte de la interfaz siendo dibujada, y el controlador puede observar el evento, cambiarlo, o hacerse cargo de él. Use un mod para agregar una característica propia a Claude Code, como un panel que muestre qué tan lleno está su contexto después de cada solicitud. Para los archivos en un mod y un ejemplo completo, vea Cómo funciona un mod.
Los hooks existentes de Claude Code también se ejecutan en eventos, como un comando de shell, una solicitud HTTP, o un mensaje que usted configura en un archivo de configuración. Los controladores de un mod son funciones que se ejecutan dentro de Claude Code en su lugar. Claude Code llama a ambos tipos de hooks: en estas páginas, "hook" significa un controlador de un mod, y el tipo de archivo de configuración es un "settings hook".
Qué puede hacer un mod
Los settings hooks, skills, líneas de estado, y servidores MCP funcionan desde fuera de Claude Code: cada uno ejecuta un script, o le da a Claude texto o herramientas. Un mod se ejecuta dentro de Claude Code, por lo que puede hacer cosas que ellos no pueden:
- Dibujar una interfaz que pueda usar: un panel junto a la transcripción o una banda encima del mensaje, con pestañas, botones, y campos de texto. Vea Dibujar en la interfaz.
- Redibujar la propia interfaz de Claude Code: reemplazar o cambiar el estilo de partes que Claude Code dibuja a sí mismo, como la fila de una llamada de herramienta, el spinner, o el diálogo en el que Claude hace preguntas. Vea Cambiar lo que Claude Code ya dibuja.
- Intervenir en una llamada de herramienta o una solicitud: por ejemplo, mantener una llamada de herramienta mientras hace una pregunta al usuario, responderla sin ejecutar la herramienta, o enviar una solicitud a un modelo diferente. Vea Proteger o cambiar una llamada de herramienta y Seguir un turno.
- Ejecutar su propio código en un comando: un
/commandque ejecuta su función de inmediato, sin un turno de Claude, incluso mientras Claude está trabajando. Vea Agregar un comando o una herramienta. - Compartir datos entre hooks: los hooks de un mod comparten las variables en su archivo, por lo que lo que un hook registra, otro puede mostrar. Por ejemplo, un hook puede contar llamadas de herramientas mientras otro muestra el conteo junto al spinner, o uno puede leer el uso de tokens de cada solicitud mientras otro lo grafica en un panel. Vea Reaccionar a eventos.
Los mods funcionan en la CLI de Claude Code y en la pestaña Code de la aplicación Claude Desktop. Vea Dónde se ejecutan los mods para entender cómo se comportan en otros lugares, como en la extensión de VS Code, claude -p, y sesiones en la nube. Si un settings hook, un skill, o un servidor MCP ya hace lo que necesita, compárelos antes de escribir un mod. Para administrar mods para una organización, vea Administrar mods para su organización.
Obtener un mod
Para comenzar con un mod:
- Usar uno que ya tienes: algunas de las propias características de Claude Code son mods, como
/diff. Consulta Mods integrados en Claude Code. - Hacer uno: describe lo que deseas en una sesión de Claude Code, y Claude escribe el mod. Consulta Pedir a Claude un mod. Para aprender cómo funciona el código de un mod, escribe uno tú mismo.
- Instalar uno: consulta Instalar o actualizar un mod, o prueba un mod de ejemplo
Instalar o actualizar un mod
Un mod es código que se ejecuta con tus permisos. Puede leer y escribir tus archivos, iniciar procesos y hacer solicitudes de red. Instala mods solo de autores y marketplaces en los que confíes. Consulta Decidir si confiar en un mod.
Un mod se instala como un plugin, desde un marketplace. Proporciona el nombre del plugin, una @ y el nombre del marketplace. Estos ejemplos instalan un plugin llamado token-chart desde un marketplace llamado your-org:
- En una sesión de Claude Code, ejecuta
/plugin install token-chart@your-org. - En tu shell, ejecuta
claude plugin install token-chart@your-org.
Instalar plugins cubre marketplaces, alcances, la extensión de VS Code y la aplicación Desktop, y mantener plugins actualizados, todo lo cual se aplica sin cambios a un plugin que contiene un mod.
Si instalas o actualizas un mod desde tu shell mientras una sesión está abierta, ejecuta /reload-plugins en esa sesión para cargarlo. De lo contrario, se carga la próxima vez que inicies Claude Code.
Probar un mod de ejemplo
Anthropic comparte mods de ejemplo en el directorio claude-code/mods del repositorio claude-code-playground. Cada uno es un plugin completo, y su README explica cómo se construyó. El repositorio los comparte tal como están, sin soporte.
token-weather: dibuja un pronóstico de tu ventana de contexto encima del promptblast-radius: retiene un comando de shell riesgoso, comorm -rfo un force push, y muestra lo que cambiaría, con botones para continuar o cancelarreplay-theater: agrega un comando/replayque recorre paso a paso las ediciones de archivos que Claude hizo en el último turno
Un mod de ejemplo se ejecuta con tus permisos. Para ver lo que hace uno antes de cargarlo, lista sus hooks y llamadas.
Para probar uno, clona el repositorio y carga el directorio del mod para una sesión con --plugin-dir. Para confirmar que el mod se cargó, comprueba qué mods cargó la sesión.
Para conservar uno, agrega el directorio claude-code/mods del clon como marketplace y luego instala el mod desde claude-code-playground-mods. El marketplace apunta a tu clon, por lo que el mod deja de cargarse si lo mueves o lo eliminas.
Decidir si confiar en un mod
Un mod es código que se ejecuta con tus permisos, dentro de Claude Code. Instala mods solo de autores y marketplaces en los que confíes.
A qué puede acceder un mod
Un mod se ejecuta con tus permisos, por lo que antes de instalar uno, debes saber a qué tiene acceso. Una vez que se carga, un mod puede:
- Actuar en tu máquina como tú: leer y escribir archivos en cualquier lugar donde tu cuenta de usuario pueda, iniciar programas y hacer solicitudes de red
- Leer tus secretos: variables de entorno y archivos de configuración, incluida una clave de API que guardes en cualquiera de ellos
- Ver tu sesión: cada prompt que envías y cada llamada a herramienta que hace Claude
- Cambiar tu sesión: reescribir un prompt o una llamada a herramienta, enviar un prompt como si lo hubieras escrito, o enviar un mensaje a otra de tus sesiones
- Actuar sin preguntarte: aprobar una llamada a herramienta antes de que se te pregunte
- Gastar tu uso: llamar a un modelo con tu plan o clave de API
Los mods no se ejecutan en un sandbox. Si activas el sandboxing, el sandbox aísla los comandos de Bash que ejecuta Claude, y un proceso que inicia un mod se ejecuta fuera de él.
Un mod que aprueba llamadas a herramientas puede aprobar una que una regla ask solicitaría, o que uno de tus propios hooks PreToolUse bloqueó. Extender permisos con hooks enumera lo que tal mod puede aprobar, incluido cuándo puede aprobar una llamada que una regla deny rechaza.
Un mod puede cambiar el estilo de gran parte de la interfaz de Claude Code, pero no la solicitud de permiso. No puede cambiar lo que una solicitud te muestra.
Enumerar lo que hace un mod antes de instalarlo
Antes de instalar un mod, puedes enumerar qué eventos maneja y qué le pide a Claude Code que haga, como leer un archivo o hacer una solicitud de red, sin ejecutarlo. Obtén primero los archivos del plugin, por ejemplo clonando su repositorio. Luego, en tu shell, ejecuta claude plugin validate en el directorio del plugin:
claude plugin validate ./some-mod
Las líneas hooks: y calls: en la salida enumeran los eventos que el mod maneja y qué le pide a Claude Code que haga. Revisar qué puede hacer un mod muestra la salida y qué llamadas buscar.
Activar o desactivar mods
Los mods requieren Claude Code v2.1.287 o posterior, y están activados de forma predeterminada. En tu shell, ejecuta claude --version para verificar, y actualiza Claude Code si el tuyo es más antiguo.
Para desactivar los mods, elige cuántos detener y por cuánto tiempo. Para activarlos de nuevo, deshaz el mismo cambio:
- Un mod: deshabilita o desinstala su plugin desde la pestaña Installed en
/plugin - Cada mod instalado, para una sesión: inicia Claude Code con
--safe-mode, que también deshabilita tus otras personalizaciones - Cada mod que instalaste, en cada sesión: establece
"disableAllHooks": trueen~/.claude/settings.json. Tus hooks de configuración y tu línea de estado personalizada también se detienen. Lo que tu organización administra sigue ejecutándose.
Si usas Claude Code a través de una organización, un administrador también puede limitar qué mods se cargan. Los administradores comienzan en Evitar que los mods instalados por el usuario se carguen.
disableAllHooks y el allowManagedModsOnly de tu organización detienen un mod y dejan el resto de su plugin en su lugar: el plugin sigue instalado, y sus skills, comandos, agentes y servidores MCP se cargan. Otros ajustes y flags llegan más lejos. disableAllHooks y Qué se ejecuta con allowManagedHooksOnly enumeran lo que cada uno le hace a un plugin y a sus hooks de configuración.
Para saber si los mods pueden cargarse para ti, consulta Verificar si los mods pueden cargarse.
Si estableciste CLAUDE_CODE_ENABLE_FUNCTION_HOOKS durante el acceso temprano, elimínalo. Claude Code v2.1.287 y posterior lo ignora, por lo que establecerlo en 0 no mantiene los mods desactivados.
Ver qué mods cargó una sesión
Para ver qué mods cargó una sesión de terminal, ejecuta /plugin en el prompt de Claude Code. Una línea atenuada bajo las pestañas da el conteo y los nombres, como 1 mod active · first-mod. Si un mod que instalaste no aparece allí, consulta Averiguar por qué un mod no hace nada.
Cómo funciona un mod
Un mod es un plugin cuyo código registra controladores de eventos, llamados hooks. Claude Code ejecuta un hook cuando ocurre su evento, como cuando Claude llama a una herramienta o cuando se dibuja el spinner. Un mod pequeño tiene tres archivos:
first-mod/
├── .claude-plugin/
│ └── plugin.json
└── hooks/
├── hooks.json
└── register.js
plugin.json: el manifiesto del pluginhooks.json: apunta a tu archivo de códigoregister.js: tu código, llamado el módulo de hooks. Le dice a Claude Code en qué eventos ejecutar tus funciones.
Este es un register.js completo. Cuenta las llamadas a herramientas que Claude hace y muestra el conteo junto al spinner mientras Claude trabaja, como en Thinking · tool calls: 3….
// The count, shared by the two hooks below
let calls = 0
// Claude Code calls this once when the mod loads
export function register(on) {
// Runs each time Claude is about to use a tool
on('tool.call', async ($, e, next) => {
calls += 1
// Ask Claude Code to draw the interface again, so the new count shows
$.ui.invalidate('ui.render')
// Let the tool run as usual
return next(e)
})
// Runs each time Claude Code draws the spinner
on('ui.render', { component: 'Spinner' }, async ($, e, next) => {
// Keep Claude Code's spinner, with the count added after its word
return next({ ...e, props: { ...e.props, suffix: ' · tool calls: ' + calls + '…' } })
})
}
El archivo registra dos hooks, y ambos usan la variable calls en la parte superior:
- El hook
tool.callse ejecuta cada vez que Claude está a punto de usar una herramienta. Suma uno acalls, le pide a Claude Code que dibuje la interfaz de nuevo, y deja que la herramienta se ejecute como de costumbre. - El hook
ui.renderse ejecuta cada vez que Claude Code dibuja el spinner. Mantiene el propio spinner de Claude Code y agrega el conteo después de la palabra.
Esta grabación muestra el mod en acción. Observa la línea del spinner encima del cuadro del prompt: mientras Claude enumera un directorio y lee dos archivos, muestra Thinking · tool calls: 1…, luego 2…, luego 3….
Qué puede hacer un hook con un evento
Claude Code ejecuta tu hook antes de actuar sobre el evento, por lo que el hook decide qué sucede a continuación. Puede:
- Observar: notar qué está sucediendo y dejar que continúe sin cambios, como lo hace el hook
tool.callen el ejemplo - Reescribir: cambiar el evento antes de que continúe, como lo hace el hook
ui.rendercuando agrega el conteo al spinner - Responder: manejar el evento por sí mismo, de modo que el comportamiento habitual no se ejecuta, como rechazar un comando
Para hacer cualquier cosa fuera de su propio código, como dibujar, agregar un comando, llamar a un modelo, leer un archivo, iniciar un proceso o hacer una solicitud de red, un hook llama a la API de mods. Un hook no tiene otra forma de hacer esas cosas, y por eso Claude Code puede enumerar qué hace un mod antes de que lo instales.
Para el código detrás de cada opción, consulta Reaccionar a eventos. Para lo que un hook puede llamar, consulta Usar la API de mods.
Dónde se ejecutan los mods
Los hooks de un mod se ejecutan en cada tipo de sesión que carga el plugin. El dibujo es más limitado: solo la terminal y la aplicación Desktop muestran los paneles, bandas y filas reemplazadas de un mod. Esta tabla enumera cada lugar donde podrías ejecutar Claude Code:
| Dónde ejecutas Claude Code | Los hooks se ejecutan | Lo que el mod dibuja aparece |
|---|---|---|
claude en una terminal, incluida la terminal integrada de un editor y el plugin de JetBrains |
Sí | Sí |
| La pestaña Code de la aplicación Desktop, excepto en una sesión WSL | Sí | Sí, excepto elementos que la tabla de elementos marca como solo terminal |
| Una sesión WSL en la aplicación Desktop | No, porque los plugins no están disponibles en sesiones WSL | No |
| El panel de chat de la extensión de VS Code | Sí | No |
claude -p y el Agent SDK |
Sí | No |
| Remote Control desde claude.ai o la aplicación móvil | Sí, en la sesión en tu máquina | En la terminal en tu máquina |
| Una sesión en la nube | Sí, para un plugin que llega a la sesión en la nube | No |
Un mod que dibuja puede verificar en qué aplicación se está ejecutando y recurrir a una línea en la transcripción o a la respuesta de texto de un comando donde nada se dibuja.
Controlar mods para su organización
Los administradores deciden si los mods se ejecutan y cuáles, a través de configuración administrada. Administrar mods para su organización cubre qué sucede de forma predeterminada, cómo revisar un mod, y cómo aplicar una política con un mod propio.
Comparar mods, settings hooks, skills, y servidores MCP
Los mods, settings hooks, skills, y servidores MCP se superponen. Esta tabla muestra qué es cada uno y cuándo elegirlo.
| Mod | Settings hook | Skill | Servidor MCP | |
|---|---|---|---|---|
| Qué es | Funciones en un plugin que Claude Code llama en su propio proceso | Un comando de shell, solicitud HTTP, o prompt que Claude Code ejecuta en un evento del ciclo de vida | Un archivo SKILL.md de instrucciones que Claude lee |
Un proceso o servicio externo que le da herramientas a Claude |
| Qué puede cambiar | Llamadas a herramientas, prompts, comandos, turnos, y lo que la interfaz dibuja | Si una llamada a herramienta o prompt continúa, los argumentos y resultado de una llamada a herramienta, y contexto agregado para Claude | Lo que Claude sabe y hace | Qué herramientas tiene Claude |
| ¿Puede dibujar en la interfaz? | Sí | No | No | No |
| Qué escribes | JavaScript o TypeScript | Un script y una entrada settings.json |
Markdown | Un servidor en cualquier lenguaje |
| Elígelo cuando | Quieres un panel, una banda encima del prompt, un comando personalizado, o reescribir un evento | Quieres bloquear, permitir, o registrar un evento con un script que ya tienes | Sigues pegando las mismas instrucciones en el chat | Claude necesita llegar a un sistema externo |
Cada uno de los otros tiene su propia página: Hooks, Skills, y MCP. Un plugin puede contener los cuatro, por lo que un mod puede enviarse en el mismo plugin que un skill y un servidor MCP.
Mods integrados en Claude Code
Algunas de las propias características de Claude Code son mods. Para ver los que tiene tu sesión, ejecuta /plugin en el prompt de Claude Code y ve a la pestaña Installed, que los enumera bajo Built-in. No puedes actualizar ni desinstalar un mod integrado, y la última columna de la tabla indica cómo desactivar cada uno. La línea mods active deja fuera los mods integrados.
Esta tabla enumera cada entrada por el nombre que /plugin muestra:
Nombre en /plugin |
Qué hace | Dónde está activado | Cómo desactivarlo |
|---|---|---|---|
cc-plugin-agents-md |
Carga AGENTS.md como instrucciones del proyecto |
Cada sesión, aparte de las que no pueden leer AGENTS.md |
Desactívalo en /plugin, o elige qué archivos de instrucciones se cargan |
cc-plugin-diff |
Se hace cargo de /diff y dibuja su panel |
Sesiones de terminal interactivas | Desactívalo en /plugin. /diff permanece, y la versión integrada de Claude Code del comando responde. |
cc-plugin-plugin-authoring |
Le da a Claude el skill plugin-authoring para escribir mods. Contiene un skill y ningún código de mod. |
A menos que Anthropic haya desactivado los mods instalados de forma remota | Desactívalo en /plugin |
cc-plugin-sec-default |
Protege lo que tu organización administra de los mods que instala un usuario | Dónde se carga el guardia | No puedes. Un administrador establece el orden en la configuración administrada |
cc-plugin-telemetry |
Envía los registros de análisis que Claude Code y sus mods integrados registran | Dondequiera que el análisis propio de Claude Code esté activado | Desactívalo en /plugin, o desactiva el análisis, por ejemplo con DISABLE_TELEMETRY |
cc-plugin-you-should-know |
Ejecuta un agente lateral que te cuida las espaldas mientras Claude trabaja en tareas más largas. Cuando encuentra algo que vale la pena saber y que podrías pasar por alto, te muestra una nota encima del prompt. | Desactivado de forma predeterminada. Enumerado en /plugin -> Installed -> Show disabled si está disponible para tu organización. Habilítalo con /plugin enable cc-plugin-you-should-know@builtin. |
Desactívalo en /plugin |
La configuración y los flags que detienen los mods instalados, como disableAllHooks, --bare y --safe-mode, no detienen los mods integrados.
Leer la fuente de los mods integrados
La fuente de algunos de estos mods es pública en el directorio mods del repositorio de Claude Code. Cada uno es un plugin completo con su módulo de hooks y pruebas:
diff: el panel/diff, con botones vinculados a acciones de teclado y un desplazamiento que el propio mod gestionaagents-md: cargaAGENTS.mdcomo instrucciones del proyecto, con una opciónuserConfigsec-default: el guardia descrito en Saber qué sucede de forma predeterminada, un modelo para un mod que aplica políticastelemetry: agrega métodos que otros mods pueden llamar, e incluye sus tipos
Próximos pasos
- Crear un mod: crea uno que cuente llamadas a herramientas, muestre el conteo junto al spinner y agregue un comando, y aprende el bucle de edición y recarga
- Dibujar en la interfaz: paneles, la banda encima del prompt, botones, campos de texto y estado
- Reaccionar a eventos: llamadas a herramientas, prompts, turnos y el orden en que se ejecutan los mods
- Usar la API de mods: comandos, herramientas, llamadas de modelo, temporizadores y archivos
- Probar un mod: pruebas automatizadas que se ejecutan sin una sesión
- Solucionar problemas de un mod: las razones por las que un mod no hace nada, y el registro de depuración
- Administrar mods para tu organización: valores predeterminados, configuración administrada, revisión de un mod y mods de política
- Referencia de mods: eventos, métodos, elementos y límites