Objetivo del tema
Organizar el mapa completo de comandos de Claude Code: repasar los comandos slash por categoría, dominar las banderas de la línea de comandos, aprender a ejecutar tareas no interactivas con claude -p, elegir formatos de salida para scripts y preparar el terreno para automatizaciones y CI/CD.
Claude Code se opera con dos familias de comandos complementarias. Los comandos slash (tema 7) controlan la sesión interactiva desde dentro; las opciones del CLI controlan cómo arranca el proceso desde la terminal, y son la base de scripts, cron jobs y pipelines. El mapa general:
claude # sesión interactiva (por defecto)
claude "prompt inicial" # sesión interactiva con primer pedido
claude -p "tarea" # modo no interactivo: ejecuta y termina
claude --help # referencia completa de banderas
Toda bandera combina con las demás: claude -p --model sonnet --max-turns 10 "..." es una especificación completa de una tarea automatizada en una sola línea.
| Bandera | Función |
|---|---|
-p / --print |
Modo no interactivo: ejecuta la tarea, imprime el resultado y termina. |
--model / -m |
Fija el modelo para esta ejecución (sonnet, opus, haiku o el identificador completo). |
--permission-mode |
Arranca en un modo de permisos concreto (plan, acceptEdits, default). |
--allowedTools |
Lista de herramientas pre-aprobadas con patrones: "Bash(npm test:*)", "Read". |
--disallowedTools |
Lista de herramientas prohibidas para esta ejecución. |
-c / --continue |
Continúa la conversación más reciente del proyecto. |
-r / --resume |
Retoma una sesión: sin argumento abre el selector; con ID retoma esa. |
--add-dir |
Agrega directorios de trabajo adicionales (útil en monorepos). |
--settings |
Carga un archivo de configuración JSON específico para la ejecución. |
--max-turns |
Limita la cantidad de ciclos agénticos (imprescindible en automatización). |
--verbose |
Registro detallado de herramientas y eventos. |
--append-system-prompt |
Agrega instrucciones al prompt de sistema (solo con -p). |
El modo no interactivo convierte al agente en una función de terminal: recibe una tarea, trabaja sobre el proyecto (respetando permisos y reglas) y devuelve el resultado. Usos típicos:
# Consulta puntual sobre el proyecto
claude -p "¿Qué librerías de logging usa este proyecto?"
# Encadenado con pipes: el contenido entra por stdin
cat logs/error.log | claude -p "Explica la causa probable de este error"
# Generación de artefactos
claude -p "Redacta el changelog a partir de los commits de esta semana" > CHANGELOG.md
Los códigos de salida hacen que sea fácil de integrar en scripts: 0 indica éxito, otros valores señalan fallos operativos o problemas de uso, así que un pipeline puede reaccionar con && o comprobaciones explícitas.
Con --output-format eliges cómo recibe el resultado tu programa consumidor:
| Formato | Qué devuelve | Ideal para |
|---|---|---|
text (por defecto) |
La respuesta plana del modelo. | Uso humano directo en scripts simples. |
json |
Un objeto JSON con el resultado y metadatos: costo, duración, ID de sesión y tokens consumidos. | Procesar resultados, auditar consumos, reportes. |
stream-json |
Un flujo NDJSON con cada mensaje conforme ocurre (combinar con --verbose). |
Interfaces en vivo y pipelines reactivos. |
Ejemplo de salida en JSON (simplificado):
{
"type": "result",
"result": "El proyecto usa pino en el backend y consola...",
"session_id": "a1b2c3d4-...",
"total_cost_usd": 0.0243,
"duration_ms": 14320
}
Para tareas estructuradas, --json-schema valida que la salida cumpla un esquema JSON que tú definas, eliminando el parseo frágil por expresiones regulares.
Además de ejecutar tareas, el binario trae utilidades de mantenimiento y operación:
claude update y claude doctorFuerzan la actualización y ejecutan el diagnóstico integral de instalación (tipo de instalación, actualizador, duplicados).
claude configLee y ajusta opciones globales desde la terminal (claude config get / set), sin abrir la interfaz.
claude mcpAdministra servidores MCP (add, list, serve); lo detallamos en el tema 16.
claude setup-tokenGenera un token de larga duración basado en tu suscripción, pensado para ejecutar en CI (tema 5).
Como cierre del mapa, agrupamos los comandos slash vistos en el tema 7 según su propósito:
| Categoría | Comandos | Para qué |
|---|---|---|
| Contexto y sesión | /clear, /compact, /rewind, /resume, /export |
Gestionar el historial y el ciclo de vida de la conversación. |
| Configuración | /config, /model, /memory, /statusline, /terminal-setup, /vim |
Ajustar el entorno de trabajo a tu gusto. |
| Cuenta y consumo | /login, /logout, /status, /usage, /cost |
Controlar identidad, modelo activo y gasto. |
| Extensibilidad | /agents, /mcp, /ide, /add-dir |
Conectar subagentes, herramientas externas y editores. |
| Diagnóstico | /doctor, /help, /bug |
Resolver problemas y reportar errores. |
| Variable | Efecto |
|---|---|
ANTHROPIC_API_KEY |
Clave de API para autenticación sin navegador. |
ANTHROPIC_MODEL |
Modelo por defecto en entornos automatizados. |
ANTHROPIC_SMALL_FAST_MODEL |
Modelo para tareas internas ligeras del agente. |
ANTHROPIC_BASE_URL |
Endpoint alternativo (gateways y proxies de empresa). |
HTTP_PROXY / HTTPS_PROXY |
Salida por proxy corporativo. |
CLAUDE_CODE_MAX_OUTPUT_TOKENS |
Techo de tokens por respuesta. |
DISABLE_AUTOUPDATER |
Desactiva el actualizador automático (ideal en CI). |
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC |
Reduce llamadas no esenciales (telemetría, comprobaciones). |
Un script que analiza los cambios pendientes del repositorio y devuelve un informe estructurado, listo para un cron o un paso de pipeline:
#!/usr/bin/env bash
set -e
claude -p \
--model sonnet \
--max-turns 15 \
--allowedTools "Read" "Grep" "Glob" "Bash(git diff:*)" "Bash(git status:*)" \
--output-format json \
"Analiza git status y git diff. Resume los cambios en tres puntos, \
señala riesgos y sugiere el próximo paso." \
> informes/revision-$(date +%F).json
echo "Informe generado en informes/revision-$(date +%F).json"
Observa los ingredientes profesionales: --max-turns acota el gasto, --allowedTools otorga exactamente los permisos necesarios (lectura y comandos git informativos, nada más), y la salida JSON deja metadatos de costo y duración para el reporte mensual.
Consejo de economía: en tareas repetitivas, pide que el resultado sea breve y estructurado ("responde en máximo 5 líneas"). En modo headless cada ejecución parte de cero, así que prompts concisos y modelos pequeños (Haiku) para lo mecánico hacen una gran diferencia en la factura.
Conclusión: con el mapa completo de comandos, Claude Code queda en dos modos complementarios: interactivo para pensar y construir junto al agente, y headless con claude -p para convertir al agente en un componente programable de tus scripts. Con estas piezas estamos listos para el primer proyecto práctico completo con Node.js y Express.