Claude Code CLI: guía técnica completa en español (2026)
La primera referencia técnica completa en español sobre Claude Code CLI: instalación, configuración avanzada, permisos, hooks, MCP, subagentes y flujos de trabajo profesionales.
💻 Nivel: Intermedio / Avanzado
🗓 Actualizado: Abril 2026
Niveles de jerarquía de configuración
Capas de arquitectura (Core · Delegation · Extension)
Tipos de agentes especializados disponibles
Sesiones con memoria persistente entre conversaciones
📋 Índice de contenidos
02 Instalación en macOS, Linux y Windows (2026)
03 Autenticación y modelos disponibles
04 Modos de ejecución: REPL, no-interactivo y sesiones
05 Sistema de configuración: jerarquía y settings.json
06 Sistema de permisos: qué puede y no puede hacer
07 Hooks: automatización determinista en el flujo de trabajo
08 MCP: conectar herramientas externas
09 Subagentes: delegación de tareas complejas
10 Comandos slash y memoria persistente
11 Integración con git, CI/CD e IDEs
12 Preguntas frecuentes sobre Claude Code CLI
Qué es Claude Code CLI y en qué se diferencia del chat de Claude
Claude Code CLI es un agente de codificación desarrollado por Anthropic que opera directamente desde la terminal. A diferencia del chat web de Claude, tiene acceso real a tu sistema de archivos, puede ejecutar comandos de shell, gestionar operaciones git y modificar código sin que tengas que copiar y pegar nada manualmente.
La diferencia clave: el chat de Claude responde. Claude Code actúa. Cuando le indicas «refactoriza este módulo y ejecuta los tests», Claude Code lee los archivos, aplica los cambios, lanza los tests y te muestra el resultado — todo en el mismo flujo, sin salir de la terminal.
La arquitectura en tres capas: Core, Delegation, Extension
Entender la arquitectura de Claude Code no es academicismo — determina directamente cuánto cuesta cada operación y qué calidad de output puedes esperar.
Capa 1
Core
Capa 2
Delegation
Capa 3
Extension
Resultado
Tu proyecto
Core es el modelo de IA principal que recibe tus instrucciones, razona sobre ellas y decide qué herramientas usar. Delegation es el sistema de subagentes: Claude Code puede lanzar instancias especializadas en paralelo para explorar código, planificar arquitectura o investigar documentación. Extension engloba todo lo que conecta Claude Code con el exterior: hooks (scripts propios que se disparan en momentos del flujo) y servidores MCP (Model Context Protocol — el protocolo de Anthropic para integrar herramientas externas como GitHub, bases de datos o APIs).
Cuándo usar Claude Code CLI y cuándo no usarlo
| Escenario | ¿Usar Claude Code? | Por qué |
|---|---|---|
| Refactorizar módulos con múltiples archivos | Sí | Lee y edita todos los archivos relacionados en un solo paso |
| Debugging con contexto de stack trace + logs | Sí | Puede leer logs, ejecutar el proceso y analizar el output |
| Generar una imagen o un PDF | No | Claude Code trabaja con texto y código, no con archivos binarios complejos |
| Responder una pregunta puntual sobre sintaxis | No ideal | El chat web de Claude es más rápido para preguntas sin contexto de proyecto |
| Automatizar tareas repetitivas en CI/CD | Sí | El modo no-interactivo (-p) permite integrarlo en pipelines |
| Explorar un repositorio desconocido | Sí | Los subagentes Explore leen el árbol de archivos y extraen patrones clave |
Instalación de Claude Code CLI en macOS, Linux y Windows (2026)
Claude Code CLI se instala mediante npm como paquete global. El método con curl que circula en algunos tutoriales corresponde a versiones alpha obsoletas — el método oficial y actualizado es npm.
Requisitos del sistema
- Node.js 18 o superior (recomendado: Node.js 20 LTS)
- npm 9+ (incluido con Node.js)
- macOS 12+, Ubuntu 20.04+, Windows 10/11, o cualquier distribución Linux moderna
- Conexión a internet (Claude Code requiere acceso a la API de Anthropic)
Instalación con npm (macOS y Linux)
bash
# Instalar Claude Code CLI globalmente npm install -g @anthropic-ai/claude-code # Verificar la instalación claude --version # Primer arranque (abre autenticación en el navegador) claude
Instalación en Windows
En Windows, Claude Code CLI funciona mediante npm en PowerShell o a través de la aplicación de escritorio de Claude (disponible para Windows), que instala la CLI automáticamente. Si usas npm en Windows, asegúrate de ejecutar PowerShell como administrador la primera vez.
PowerShell
# En PowerShell (como administrador) npm install -g @anthropic-ai/claude-code # Si npm no está en el PATH, añadir al perfil de PowerShell: $env:PATH += ";$env:APPDATA\npm"
Solución a los errores más frecuentes de instalación
brew install nvm) o configura el prefijo de npm en tu home: npm config set prefix ~/.npm-global y añade ~/.npm-global/bin a tu PATH.node --version para verificarlo. Actualiza con nvm install 20 && nvm use 20 o descarga Node.js 20 LTS desde nodejs.org.npm bin -g para ver la ruta y añádela a tu ~/.zshrc o ~/.bashrc: export PATH="$(npm bin -g):$PATH". Recarga la terminal.CLAUDE_CODE_RELEASE_ALPHA=1. Este método corresponde a una versión alpha privada de 2024 y ya no funciona. Usa únicamente npm install.Autenticación y modelos disponibles en Claude Code CLI
Claude Code CLI admite dos métodos de autenticación: OAuth mediante el navegador (para suscripciones Pro, Max y Team) y clave de API directa mediante la variable de entorno ANTHROPIC_API_KEY (para uso con la API de Anthropic o entornos enterprise). El primer arranque de claude abre automáticamente el navegador para el flujo OAuth.
Claude Console, suscripción Pro/Max y plataformas enterprise
| Método de acceso | Quién lo usa | Límite de uso | Gestión de facturación |
|---|---|---|---|
| Suscripción Pro/Max (OAuth) | Individuos | Cuota mensual fija | claude.ai/settings |
| API Key (ANTHROPIC_API_KEY) | Developers, CI/CD | Pay-per-token | console.anthropic.com |
| Claude for Teams / Enterprise | Equipos y empresas | Cuota negociada | Panel de administración |
Qué modelo elegir según la tarea
Claude Code permite seleccionar el modelo de IA subyacente. La elección afecta tanto al coste por token como a la calidad del razonamiento. La familia de modelos disponible a abril de 2026:
| Modelo | ID | Mejor para | Coste relativo |
|---|---|---|---|
| Claude Haiku 4.5 | claude-haiku-4-5 |
Exploración rápida de código, tareas repetitivas, respuestas cortas | Bajo ●○○ |
| Claude Sonnet 4.6 | claude-sonnet-4-6 |
Implementación, refactoring, debugging, uso diario | Medio ●●○ |
| Claude Opus 4.7 | claude-opus-4-7 |
Decisiones arquitectónicas complejas, revisiones críticas, análisis profundo | Alto ●●● |
Modos de ejecución de Claude Code CLI: REPL, no-interactivo y sesiones
Claude Code CLI opera en tres modos principales: el REPL interactivo (la sesión de conversación por defecto), el modo no-interactivo con el flag -p (para scripting y CI/CD), y la reanudación de sesiones previas con --continue. Cada modo tiene un caso de uso distinto — elegir el incorrecto desperdicia tokens o rompe flujos automatizados.
Modo REPL: la sesión interactiva
El modo REPL (Read-Eval-Print Loop — bucle de lectura-evaluación-impresión) es el modo por defecto. Ejecutas claude y entras en una sesión conversacional donde puedes dar instrucciones en lenguaje natural, aprobar o rechazar acciones, y mantener contexto entre mensajes.
bash
# Iniciar sesión REPL claude # El prompt de Claude Code aparece y espera tu instrucción > Analiza el archivo src/auth.py y encuentra posibles vulnerabilidades SQL injection
Cuándo usar -p en lugar del REPL
El flag -p (o --print) ejecuta Claude Code en modo no-interactivo: recibe la instrucción, la ejecuta y termina. No espera más input. Es el modo correcto para scripts de automatización, GitHub Actions, cron jobs y cualquier contexto donde no haya un humano presente.
bash
# Modo no-interactivo: ejecuta y termina claude -p "Genera tests unitarios para src/utils.py" # Pasar contexto desde stdin (pipe) cat error.log | claude -p "Identifica la causa raíz de este error" # Especificar modelo para la sesión claude -p "Revisa la arquitectura de este PR" --model claude-opus-4-7
Gestión de sesiones y continuación de contexto
Cada sesión de Claude Code mantiene el historial de la conversación. Con --continue (o -c) reanuudas la última sesión activa, recuperando todo el contexto anterior. Con --resume <session-id> puedes recuperar cualquier sesión anterior por ID.
bash
# Continuar la última sesión claude --continue # O con la forma corta claude -c # Ver sesiones disponibles claude --list-sessions
/compact para comprimir el historial manteniendo los puntos clave, o inicia una sesión nueva con el contexto mínimo necesario. No continúes una sesión de 3 horas esperando que el modelo recuerde todo con precisión.Sistema de configuración de Claude Code: jerarquía y settings.json
Claude Code CLI usa un sistema de configuración en cascada con cuatro niveles de jerarquía. Cada nivel sobreescribe al anterior en el orden: Enterprise → User → Project → Local. Entender esta jerarquía evita conflictos entre configuración de equipo y configuración personal.
Tabla de niveles de configuración
| Nivel | Archivo | Alcance | ¿Se comparte con git? |
|---|---|---|---|
| Enterprise | Gestionado por IT/admin | Toda la organización | No (gestionado centralmente) |
| User | ~/.claude/settings.json |
Todos los proyectos del usuario | No (es tu home) |
| Project | .claude/settings.json |
El proyecto actual | Sí (commiteado al repo) |
| Local | .claude/settings.local.json |
El proyecto, solo tú | No (.gitignore) |
Configuración de equipo vs. configuración personal
La distinción entre Project y Local es especialmente importante en equipos: .claude/settings.json se commitea al repositorio y aplica a todos los miembros. .claude/settings.local.json se añade al .gitignore y permite que cada desarrollador tenga preferencias personales sin afectar al resto.
JSON
// .claude/settings.json — configuración de proyecto (commitear) { "model": "claude-sonnet-4-6", "permissions": { "allow": [ "Bash(npm run test)", "Bash(npm run lint)", "Read", "Edit" ] } }
JSON
// .claude/settings.local.json — preferencias personales (gitignore) { "model": "claude-opus-4-7", "theme": "dark" }
Sistema de permisos: qué puede y no puede hacer Claude Code
Claude Code solicita confirmación del usuario antes de ejecutar operaciones con impacto real: escribir archivos, ejecutar comandos de shell o realizar llamadas a red. Este comportamiento es configurable mediante listas de permisos explícitos en settings.json, lo que permite automatizar operaciones habituales sin interrupciones constantes.
Permisos por defecto y cómo modificarlos
Por defecto, Claude Code puede leer archivos libremente. Para escribir, ejecutar comandos o usar herramientas externas, pide aprobación en cada caso. Puedes definir un allowlist (lista blanca) de operaciones preaprobadas para tu proyecto.
JSON
// Estructura de permisos en settings.json { "permissions": { "allow": [ "Read", "Edit", "Bash(git status)", "Bash(git diff)", "Bash(git log)", "Bash(npm run *)" ], "deny": [ "Bash(rm -rf *)", "Bash(git push --force)" ] } }
Configuración para entornos de CI/CD
En pipelines automatizados donde no hay un humano que apruebe cada acción, Claude Code necesita operar con un modo de permisos más permisivo — pero controlado. El flag --dangerously-skip-permissions desactiva todas las confirmaciones. Úsalo exclusivamente en entornos aislados (contenedores Docker, sandboxes de CI).
Hooks, MCP y Subagentes: el núcleo del poder de Claude Code
Hooks: automatización determinista en el flujo de Claude Code CLI
Los hooks son comandos de shell que el sistema ejecuta automáticamente en momentos concretos del flujo de Claude Code: antes de que use una herramienta, después, cuando termina, o cuando genera una notificación. La diferencia con instruir a Claude «haz X antes de Y» es fundamental: los hooks son deterministas, no dependen del razonamiento del modelo.
Tipos de hooks disponibles
| Tipo de hook | Cuándo se ejecuta | Caso de uso típico |
|---|---|---|
| PreToolUse | Antes de que Claude use cualquier herramienta | Validar que los archivos a editar no están bloqueados |
| PostToolUse | Después de que Claude use una herramienta | Ejecutar lint o formatter tras cada edición |
| Stop | Cuando Claude termina su turno | Notificar por Slack o ejecutar tests automáticamente |
| Notification | Cuando Claude genera una notificación | Enviar alertas a sistemas externos |
Ejemplo completo: hook de lint automático tras edición
Este ejemplo configura un hook PostToolUse que ejecuta ESLint automáticamente cada vez que Claude Code edita un archivo JavaScript o TypeScript — sin que tengas que recordar pedírselo.
JSON
// .claude/settings.json { "hooks": { "PostToolUse": [ { "matcher": "Edit", "hooks": [ { "type": "command", "command": "npx eslint --fix \"$CLAUDE_TOOL_INPUT_FILE_PATH\" 2>&1 || true" } ] } ], "Stop": [ { "hooks": [ { "type": "command", "command": "osascript -e 'display notification \"Claude Code ha terminado\" with title \"Claude Code\"'" } ] } ] } }
$CLAUDE_TOOL_INPUT_* y $CLAUDE_TOOL_OUTPUT_* exponen el input y output de la herramienta que disparó el hook. Úsalas para hacer los hooks conscientes del contexto (qué archivo se editó, qué comando se ejecutó).MCP: conectar herramientas externas a Claude Code CLI
MCP (Model Context Protocol — Protocolo de Contexto de Modelo) es el estándar abierto de Anthropic para conectar modelos de IA con herramientas externas. Desde Claude Code CLI, los servidores MCP amplían las capacidades del agente con acceso a GitHub, bases de datos, servicios de monitorización, calendarios o cualquier API que tenga un servidor MCP disponible.
Cómo configurar un servidor MCP
Los servidores MCP se declaran en settings.json bajo la clave mcpServers. Cada servidor es un proceso que Claude Code lanza en segundo plano y con el que se comunica mediante el protocolo MCP.
JSON
// ~/.claude/settings.json — servidores MCP { "mcpServers": { "github": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-github"], "env": { "GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_tu_token_aqui" } }, "filesystem": { "command": "npx", "args": [ "-y", "@modelcontextprotocol/server-filesystem", "/Users/tu-usuario/proyectos" ] } } }
Casos de uso reales: GitHub, bases de datos, Sentry
| Servidor MCP | Qué aporta a Claude Code | Paquete npm |
|---|---|---|
| GitHub | Crear PRs, comentar issues, ver diffs, gestionar repos | @modelcontextprotocol/server-github |
| PostgreSQL / SQLite | Consultar esquemas, ejecutar queries, analizar datos | @modelcontextprotocol/server-postgres |
| Filesystem | Acceso ampliado a directorios fuera del proyecto actual | @modelcontextprotocol/server-filesystem |
| Notion | Leer y crear páginas, bases de datos y comentarios | MCP oficial de Notion |
| Google Drive | Acceder a documentos y hojas de cálculo | MCP oficial de Google |
~/.claude/settings.json (nivel User), nunca en el settings.json del proyecto que se commitea. Así evitas exponer tokens en el repositorio.Subagentes de Claude Code: delegación de tareas complejas
Claude Code puede lanzar subagentes — instancias especializadas del modelo que operan en paralelo o en secuencia para resolver partes de una tarea compleja. Cada subagente arranca con contexto propio, lo que protege la ventana de contexto del agente principal y permite paralelizar trabajo.
Tipos de subagentes disponibles
| Tipo de subagente | Especialidad | Cuándo usarlo |
|---|---|---|
| Explore | Análisis rápido de codebases | Buscar patrones en repositorios grandes, encontrar archivos por contenido |
| Plan | Diseño de arquitectura y estrategia de implementación | Planificar una feature compleja antes de implementar |
| General-purpose | Tareas mixtas: investigación, búsqueda y ejecución | Investigar documentación externa y aplicar el resultado al código |
Cuándo lanzar un subagente y cuándo no vale la pena
Los subagentes tienen un coste: cada instancia adicional consume tokens del modelo y añade latencia. No tiene sentido lanzar un subagente Explore para buscar una función en un archivo que ya tienes en contexto — el agente principal lo hará más rápido.
Comandos slash y memoria persistente en Claude Code CLI
Los comandos slash son instrucciones especiales que Claude Code reconoce dentro del REPL para controlar el comportamiento de la sesión. La memoria persistente es un sistema de archivos Markdown en ~/.claude/ que mantiene contexto entre sesiones distintas — el equivalente a la memoria a largo plazo del agente.
Comandos más útiles para el trabajo diario
| Comando | Qué hace | Cuándo usarlo |
|---|---|---|
/help |
Muestra todos los comandos disponibles y skills instalados | Siempre que no recuerdes un comando |
/clear |
Limpia el historial de la sesión actual | Al cambiar de tarea dentro de la misma sesión |
/compact |
Comprime el historial manteniendo los puntos clave | Cuando la sesión se alarga y el contexto empieza a saturarse |
/fast |
Activa el modo rápido (mayor velocidad de output) | Cuando necesitas respuestas rápidas y el razonamiento profundo no es prioritario |
/memory |
Gestiona los archivos de memoria persistente | Para revisar o actualizar lo que Claude Code recuerda entre sesiones |
/init |
Genera un archivo CLAUDE.md con documentación del proyecto | Al iniciar un proyecto nuevo o al incorporar un repositorio heredado |
/review |
Inicia una revisión de pull request | Para revisar PRs desde la terminal sin salir del flujo de trabajo |
Sistema de memoria: qué persiste entre sesiones
Claude Code almacena memorias como archivos Markdown en ~/.claude/projects/, organizados por proyecto. Existen cuatro tipos: user (perfil y preferencias del desarrollador), feedback (correcciones y confirmaciones de comportamiento), project (contexto activo del proyecto: decisiones, deadlines, deuda técnica) y reference (punteros a recursos externos como tableros de Jira o dashboards de Grafana).
CLAUDE.md en la raíz del proyecto. Claude Code lo lee automáticamente al iniciar cualquier sesión en ese directorio. Es el lugar ideal para documentar convenciones del proyecto, comandos de build/test, y restricciones que el agente debe respetar siempre.Integración de Claude Code CLI con git, CI/CD e IDEs
Claude Code CLI integra git de forma nativa: puede leer diffs, crear commits, gestionar ramas y abrir pull requests sin salir del REPL. En pipelines de CI/CD, el modo no-interactivo con -p permite automatizar tareas de análisis y generación de código como un paso más del workflow.
Flujo de trabajo con git desde Claude Code CLI
bash
# Flujo git completo desde Claude Code CLI # Crear rama y hacer cambios claude -p "Crea una rama feature/auth-refactor, refactoriza src/auth.py eliminando duplicados y commitea con mensaje descriptivo" # Revisar y abrir PR claude -p "Revisa los cambios en la rama actual vs main y crea un PR con título y descripción detallada"
Uso de Claude Code CLI en pipelines automatizados
El siguiente ejemplo muestra un paso de GitHub Actions que usa Claude Code para analizar automáticamente los cambios de un PR y publicar un comentario con el resumen de riesgos:
YAML
# .github/workflows/claude-review.yml name: Claude Code PR Review on: pull_request: types: [opened, synchronize] jobs: review: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 with: fetch-depth: 0 - name: Install Claude Code run: npm install -g @anthropic-ai/claude-code - name: Run analysis env: ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }} run: | claude -p "Analiza los cambios de este PR, identifica riesgos de seguridad y genera un informe en review-output.md"
Preguntas frecuentes sobre Claude Code CLI
¿Claude Code CLI es de pago?
Claude Code CLI está incluido en las suscripciones Claude Pro y Max de Anthropic — no hay un coste adicional por instalarlo ni usarlo dentro del límite de uso de tu plan. Si accedes mediante API Key directa (sin suscripción), pagas por tokens consumidos según la tarifa de la API de Anthropic. Para equipos, existe Claude for Teams con facturación por asiento.
¿Cuál es la diferencia entre Claude Code CLI y Cursor o GitHub Copilot?
Cursor y GitHub Copilot son herramientas que operan principalmente dentro del IDE: sugieren código inline, completan funciones y responden preguntas en un panel lateral. Claude Code CLI opera desde la terminal con acceso completo al sistema de archivos y capacidad de ejecutar comandos — es un agente que puede tomar acciones en tu proyecto, no solo sugerir código. Las tres herramientas son complementarias: muchos desarrolladores usan Claude Code para refactoring y análisis profundo, y Copilot para autocompletado rápido en el editor.
¿Funciona Claude Code CLI sin conexión a internet?
No. Claude Code requiere conexión a internet en todo momento — el modelo de IA reside en los servidores de Anthropic, no en local. No hay una versión offline de Claude Code CLI.
¿Mi código se envía a Anthropic y se usa para entrenamiento?
El código que Claude Code lee y procesa se envía a la API de Anthropic para generar las respuestas. Según la política de uso de Anthropic (actualizada en 2024), el contenido enviado mediante la API no se usa para entrenar modelos por defecto. Para suscripciones Enterprise, Anthropic ofrece acuerdos adicionales de privacidad de datos. Revisa siempre la política de privacidad actual en anthropic.com/privacy para información actualizada.
¿Claude Code CLI es compatible con Windows?
Sí. Claude Code CLI funciona en Windows mediante npm (requiere Node.js 18+) o a través de la aplicación de escritorio Claude para Windows, que instala la CLI automáticamente. El funcionamiento en Windows es equivalente al de macOS y Linux, aunque algunos hooks que dependen de comandos Unix (como osascript para notificaciones macOS) necesitan adaptarse a equivalentes de Windows.
¿Cómo se gestiona Claude Code en un equipo de varios desarrolladores?
El sistema de configuración en cascada está diseñado precisamente para equipos: commitea .claude/settings.json con las reglas del proyecto (modelo, permisos de herramientas permitidas, hooks de lint/test) y deja que cada desarrollador personalice su experiencia en .claude/settings.local.json (ignorado por git). El archivo CLAUDE.md en la raíz del repositorio actúa como documentación del proyecto que todos los miembros del equipo comparten.
¿Cuánto contexto puede manejar Claude Code por sesión?
El límite de contexto depende del modelo seleccionado. Claude Sonnet 4.6 y Opus 4.7 disponen de hasta 200.000 tokens de contexto (aproximadamente 150.000 palabras o un repositorio de tamaño mediano). En la práctica, sesiones de trabajo largas acumulan historial que consume ese límite gradualmente — usa /compact regularmente para comprimir el historial y liberar espacio de contexto sin perder el hilo de la conversación.
📋 Resumen ejecutivo
Lo que debes hacer
- Instalar con npm install -g @anthropic-ai/claude-code (método actualizado 2026)
- Configurar .claude/settings.json en el proyecto con permisos del equipo
- Usar .claude/settings.local.json para preferencias personales (gitignoreado)
- Añadir un CLAUDE.md en la raíz del repo con convenciones del proyecto
- Configurar hooks PostToolUse para lint/format automático tras ediciones
- Usar Sonnet 4.6 por defecto, Opus 4.7 solo para decisiones arquitectónicas
- Usar /compact regularmente en sesiones largas para liberar contexto
- Configurar servidores MCP en settings.json de nivel User (nunca en el proyecto)
Lo que debes evitar
- Usar el método de instalación con CLAUDE_CODE_RELEASE_ALPHA (obsoleto)
- Commitear settings.json con API keys o tokens de acceso
- Usar –dangerously-skip-permissions en tu máquina local de desarrollo
- Lanzar subagentes para tareas que el agente principal puede resolver con archivos ya en contexto
- Continuar sesiones muy largas sin usar /compact cuando el contexto se satura
- Asumir que Claude Code funciona offline o que tu código no viaja a servidores externos
¿Listo para implementar Claude Code en tu equipo?
En Sismatic ayudamos a equipos de desarrollo a integrar Claude Code CLI en sus flujos de trabajo: desde la configuración inicial hasta hooks, MCP y automatización avanzada con CI/CD.
Artículo listo. Podemos pulirlo antes de continuar.
¿Qué quieres ajustar?
