Cómo funciona
Claude Code establece la variable de entornoCLAUDECODE en 1 para cada comando que ejecuta a través de las herramientas Bash y PowerShell, y para comandos de hook. A partir de v2.1.172 también establece CLAUDE_CODE_CHILD_SESSION en 1 en esos mismos subprocesos. Cuando tu CLI ve una de estas variables, escribe una etiqueta <claude-code-hint /> que se cierra automáticamente en stderr. En comandos hook la etiqueta de sugerencia se elimina e ignora. Solo la salida de las herramientas Bash y PowerShell activa el mensaje de instalación.
Cuando Claude Code recibe la salida del comando, hace lo siguiente:
- Busca líneas de sugerencia y las elimina antes de que la salida llegue al modelo
- Verifica que la sugerencia apunte a un plugin en un marketplace oficial de Anthropic
- Verifica que el plugin no esté ya instalado y no haya sido sugerido antes
- Muestra al usuario un mensaje de instalación que nombra el comando que emitió la sugerencia
Emite la sugerencia
Condiciona la emisión en una variable de entorno para que el marcador sea poco probable que aparezca cuando un usuario humano ejecute tu CLI directamente, luego escribe la etiqueta en stderr en su propia línea. Elige qué variable verificar:CLAUDECODE: se establece en cada versión de Claude Code, por lo que llega a la mayoría de sesiones. También se establece en sesiones de tmux y subprocesos del servidor MCP de stdio que Claude Code inicia, y las extensiones de IDE la establecen en sus terminales integradas, donde un usuario humano puede estar ejecutando tu CLI directamente.CLAUDE_CODE_CHILD_SESSION: se establece solo en subprocesos que el propio Claude Code genera, como llamadas de herramientas, comandos de hook y comandos de línea de estado, por lo que la etiqueta normalmente no llega a una terminal humana. Un proceso de larga duración que se inició dentro de una sesión, como un servidor tmux, captura la variable, por lo que los shells lanzados posteriormente desde ese proceso aún muestran la etiqueta sin procesar. Requiere Claude Code v2.1.172 o posterior, por lo que las sesiones en versiones anteriores pierden la sugerencia.
CLAUDECODE para máximo alcance y emiten una sugerencia para un plugin llamado example-cli en el marketplace oficial:
example-cli con el nombre de tu plugin en el marketplace oficial.
Elige dónde emitir
Controlas qué rutas de código emiten la sugerencia. Claude Code deduplica por plugin, por lo que emitir en cada invocación no tiene desventajas. Los puntos de contacto que funcionan bien incluyen:| Ubicación | Por qué funciona |
|---|---|
Salida de --help | Claude a menudo ejecuta help al explorar una CLI desconocida |
| Errores de subcomando desconocido | Llega al momento en que Claude está confundido sobre tu interfaz |
| Éxito de inicio de sesión o autenticación | El usuario ya está en una mentalidad de configuración |
| Mensaje de bienvenida de primera ejecución | Un momento natural de incorporación |
Lo que ve el usuario
Cuando la sugerencia pasa todas las verificaciones, Claude Code muestra un mensaje como el siguiente:- Una vez por plugin: después de que se muestre el mensaje, Claude Code registra el plugin y nunca vuelve a solicitar para él, independientemente de la respuesta del usuario.
- Una vez por sesión: en todas las CLI de la máquina, como máximo aparece un mensaje de sugerencia por sesión de Claude Code.
Formato de sugerencia
La sugerencia es una etiqueta que se cierra automáticamente con tres atributos requeridos.| Atributo | Requerido | Descripción |
|---|---|---|
v | Sí | Versión del protocolo. 1 es el único valor soportado |
type | Sí | Tipo de sugerencia. plugin es el único valor soportado |
value | Sí | Identificador del plugin en forma name@marketplace |
Requisitos
Claude Code aplica dos condiciones antes de actuar sobre una sugerencia. Las sugerencias que fallan en cualquiera de las verificaciones se descartan:- Línea propia: la etiqueta debe ocupar su propia línea. Una etiqueta incrustada a mitad de línea, por ejemplo dentro de una declaración de registro, se ignora. Se permite espacios en blanco al principio y al final de la línea.
- Marketplace oficial: el
valuedebe hacer referencia a un plugin en un marketplace controlado por Anthropic comoclaude-plugins-official. Las sugerencias que apuntan a otros marketplaces se descartan silenciosamente.
- Escribe en stderr: stderr mantiene la etiqueta fuera de tuberías de shell como
example-cli deploy | jq. Claude Code escanea ambas secuencias, por lo que stdout también funciona. - Condiciona en una variable de entorno: solo emite cuando
CLAUDECODEoCLAUDE_CODE_CHILD_SESSIONestá establecida. Consulta Emitir la sugerencia para saber cómo difieren las dos variables.
Obtén tu plugin en el marketplace oficial
El protocolo de sugerencia solo tiene efecto para plugins que se enumeran en el marketplace oficial de Anthropic,claude-plugins-official. Anthropic cura ese marketplace a su discreción, y los formularios de envío en la aplicación agregan plugins al marketplace de la comunidad en su lugar, que el protocolo de sugerencia no verifica. Si trabajas con un contacto de socio de Anthropic, comunícate con ellos para coordinar una enumeración en el marketplace oficial.
Ver también
- Crea plugins: construye el plugin que tu CLI recomienda
- Crea y distribuye un marketplace de plugins: aloja plugins fuera del marketplace oficial
- Variables de entorno: referencia completa para
CLAUDECODEy variables relacionadas