Retrato de Santiago Fernández

CubeLabs

IA · Fintech · Agentes · Automatización
🧠 IA

Claude Code: Tu Agente de Código en la Terminal

Programa con IA que entiende todo tu proyecto: lee, edita, ejecuta y verifica por ti.

⏱ 45 min 📊 Principiante 📝 10 lecciones

Claude Code es la herramienta agéntica de Anthropic que vive en tu terminal: entiende tu codebase, ejecuta tareas rutinarias, explica código complejo y gestiona flujos de git mediante lenguaje natural. Con 143K estrellas en GitHub es una de las herramientas de desarrollo con IA más usadas del planeta. En este curso aprenderás desde la instalación hasta automatizar tu CI con modo headless, pasando por memoria persistente (CLAUDE.md), integraciones MCP, skills, subagentes, plugins y hooks.

Claude Code — agente de código en la terminal
Fuente: github.com/anthropics/claude-code

Contenido

  1. El bucle agéntico y las herramientas
  2. Instalación en 5 minutos
  3. Autenticación y primera sesión
  4. El agente en acción: preguntar, editar y usar git
  5. Permisos, modos y checkpoints
  6. Memoria persistente: CLAUDE.md y auto memory
  7. Sesiones: resume, fork y worktrees
  8. MCP: conecta servicios externos
  9. Skills, subagentes y plugins
  10. Headless y CI: claude -p y Agent SDK

1. El bucle agéntico y las herramientas

Claude Code es un asistente agéntico que corre en tu terminal. A diferencia de un autocompletado inline que solo ve el archivo abierto, Claude Code ve todo tu proyecto: ficheros, git, comandos y configuraciones. Cuando le das una tarea, trabaja en tres fases que se mezclan continuamente: reunir contexto, actuar y verificar resultados.

Ese ciclo se llama bucle agéntico (agentic loop). Claude decide qué necesita en cada paso encadenando decenas de acciones y corrigiendo el rumbo sobre la marcha. Tú eres parte del bucle: puedes interrumpir en cualquier momento para redirigirlo.

Los modelos

Claude Code usa los modelos de Anthropic para razonar. Sonnet maneja bien la mayoría de tareas de código; Opus aporta razonamiento más fuerte para decisiones arquitectónicas complejas. Cambia de modelo durante la sesión con /model o al arrancar con claude --model <nombre>.

Las herramientas (tools)

Las herramientas son lo que hace agéntico a Claude Code. Sin ellas solo respondería texto; con ellas actúa: lee, edita, ejecuta y consulta. Cada uso de herramienta devuelve información que alimenta la siguiente decisión. Las herramientas integradas caen en cinco categorías:

CategoríaQué puede hacer
Operaciones de archivoLeer ficheros, editar código, crear archivos, renombrar y reorganizar
BúsquedaEncontrar ficheros por patrón, buscar contenido con regex, explorar codebases
EjecuciónEjecutar comandos de shell, arrancar servidores, correr tests, usar git
WebBuscar en internet, consultar documentación, mirar mensajes de error
Inteligencia de códigoVer errores de tipos tras editar, saltar a definiciones, encontrar referencias

Por ejemplo, si dices "arregla los tests que fallan", Claude podría: ejecutar la suite para ver qué falla, leer la salida del error, buscar los ficheros fuente, leerlos, editarlos y volver a ejecutar los tests para verificar. Eso es el bucle agéntico en acción.

💡 Tip

Claude Code es un harness agéntico: el modelo razona y las herramientas actúan. La extensibilidad (skills, MCP, hooks, subagentes) es una capa encima de este núcleo — la verás en las lecciones 8 y 9.

2. Instalación en 5 minutos

Instalar Claude Code es un comando. La instalación nativa es la recomendada: se actualiza sola en segundo plano. La instalación por npm está deprecada, no la uses.

1

macOS / Linux / WSL

Ejecuta el instalador oficial en tu terminal:

curl -fsSL https://claude.ai/install.sh | bash
2

Windows (PowerShell)

O con el instalador nativo de Windows:

irm https://claude.ai/install.ps1 | iex
3

Alternativas: Homebrew y WinGet

En macOS/Linux con Homebrew: brew install --cask claude-code (o claude-code@latest para el canal más reciente; recuerda que Homebrew no se autoactualiza). En Windows: winget install Anthropic.ClaudeCode.

4

Verifica la instalación

Confirma que todo funciona:

claude --version

El comando imprime un número de versión seguido de (Claude Code). También puedes instalar con gestores de paquetes de Linux: apt (Debian/Ubuntu), dnf (Fedora/RHEL) o apk (Alpine).

⚠️ Error común

Si el instalador falla con syntax error near unexpected token '<' o un 403, consulta la guía oficial de troubleshooting (code.claude.com/docs/en/troubleshoot-install). En Windows nativo se recomienda Git for Windows para que Claude Code use la herramienta Bash.

3. Autenticación y primera sesión

Claude Code requiere una cuenta. Arranca una sesión interactiva con el comando claude y, en el primer uso, te pedirá iniciar sesión en el navegador:

cd /ruta/a/tu/proyecto
claude

Verás el prompt de Claude Code con la versión, el modelo actual y el directorio de trabajo. Escribe /help para ver los comandos disponibles o /resume para continuar una conversación anterior.

Tipos de cuenta soportados

CuentaDetalle
Claude Pro / Max / Team / EnterpriseLa opción recomendada para uso personal y de equipo
Claude Console (API)Crédito prepagado; se crea un workspace "Claude Code" para seguimiento de costes
Amazon Bedrock / Google Vertex / Microsoft FoundryProveedores cloud empresariales
Gateway corporativoSSO corporativo si tu organización lo configura

Si tienes la variable ANTHROPIC_API_KEY definida, Claude Code se salta el prompt de login y solo te pide aprobar el uso de la clave. Para cambiar de cuenta o reautenticarte, escribe /login dentro de la sesión. Las credenciales se guardan y no tendrás que volver a iniciar sesión.

💡 Tip

Dos comandos que te salvarán la vida desde el día uno: /init genera un CLAUDE.md para tu proyecto analizando tu codebase, y /doctor diagnostica y corrige problemas de instalación y configuración.

4. El agente en acción: preguntar, editar y usar git

Empieza preguntando sobre tu propio proyecto. Claude Code lee tus ficheros según los necesita — no tienes que añadir contexto manualmente.

¿qué hace este proyecto?
¿qué tecnologías usa?
¿dónde está el punto de entrada principal?
explícame la estructura de carpetas

Primer cambio de código

Pide una tarea concreta: "añade una función hello world al archivo principal". Claude localiza el archivo y te muestra el cambio; en tu primera sesión te preguntará antes de cada modificación. Después, el modo auto se convierte en el modo de permisos inicial en los planes Pro, Max y Team: un clasificador revisa las acciones en segundo plano y Claude edita la mayoría de archivos y ejecuta la mayoría de comandos sin preguntarte.

Git conversacional

Las operaciones de git se vuelven lenguaje natural:

¿qué archivos he cambiado?
haz commit de mis cambios con un mensaje descriptivo
crea una rama llamada feature/quickstart
enséñame los últimos 5 commits
ayúdame a resolver conflictos de merge

Refactor, tests y documentación

Interrumpir y dirigir

No necesitas esperar a que termine un turno para corregir el rumbo. Pulsa Esc para detener a Claude inmediatamente, o escribe una corrección y pulsa Enter para enviarla sin parar la herramienta en ejecución — Claude la lee al terminar la acción actual y ajusta su siguiente paso.

⚠️ Error común

Dictar, no delegar. Si le das a Claude una lista de archivos y comandos exactos, limitas su capacidad de decidir. Trátalo como a un compañero capaz: dale contexto y dirección, y deja que él descubra los detalles: "El flujo de checkout falla para usuarios con tarjetas caducadas. El código relevante está en src/payments/. Investiga y arréglalo."

5. Permisos, modos y checkpoints

Claude Code tiene dos mecanismos de seguridad: checkpoints para deshacer cambios de archivos y modos de permisos para controlar qué puede hacer sin preguntarte.

Checkpoints: deshacer es gratis

Antes de editar un archivo, Claude Code hace una instantánea del contenido. Si algo sale mal, pulsa Esc dos veces para retroceder a un estado anterior, o pídele que deshaga. Los checkpoints son independientes de git y siguen disponibles al reanudar una conversación. Solo cubren cambios de archivo: las acciones sobre sistemas remotos (bases de datos, APIs, despliegues) no se pueden deshacer con checkpoints.

Modos de permisos

Pulsa Shift+Tab para ciclar entre los modos de permisos de la sesión actual:

ModoComportamiento
AutoUn clasificador revisa la mayoría de acciones en segundo plano y bloquea las arriesgadas sin preguntarte. Es el modo inicial en Pro, Max y Team.
ManualClaude pregunta antes de editar archivos y ejecutar comandos.
Aceptar edicionesClaude edita archivos y ejecuta comandos comunes del filesystem (mkdir, mv) sin preguntar; sigue preguntando por otros comandos.
PlanClaude explora y propone un plan sin tocar tus ficheros fuente.

También puedes permitir comandos concretos en .claude/settings.json para que Claude no pregunte cada vez — útil para comandos de confianza como npm test o git status. La configuración se puede escalar desde políticas de organización hasta preferencias personales.

{
  "permissions": {
    "allow": [
      "npm test",
      "git status",
      "git log"
    ]
  }
}
💡 Tip

Usa el modo Plan antes de cambios grandes: deja que Claude explore y te presente un plan revisable antes de que toque el disco. Es la forma más segura de trabajar en refactors arquitectónicos.

6. Memoria persistente: CLAUDE.md y auto memory

Cada sesión de Claude Code empieza con una ventana de contexto fresca: no recuerda la conversación anterior. Dos mecanismos llevan conocimiento entre sesiones:

CLAUDE.mdAuto memory
Quién lo escribeTúClaude
Qué contieneInstrucciones y reglasAprendizajes y patrones
AlcanceProyecto, usuario u organizaciónPor repositorio
Cómo se cargaCada sesiónCada sesión (primeras 200 líneas o 25KB)
Para quéEstándares de código, workflows, arquitecturaTus preferencias y correcciones

Dónde vive cada CLAUDE.md

AlcanceUbicaciónUso
Política gestionada/etc/claude-code/CLAUDE.md (Linux)Instrucciones de toda la organización gestionadas por IT
Instrucciones de usuario~/.claude/CLAUDE.mdPreferencias personales para todos tus proyectos
Instrucciones de proyecto./CLAUDE.md o ./.claude/CLAUDE.mdEstándares y workflows compartidos por el equipo vía control de versiones
Instrucciones locales./CLAUDE.local.mdPreferencias personales del proyecto; añádela a .gitignore

Cómo escribir instrucciones efectivas

Ejecuta /init para que Claude analice tu codebase y genere un CLAUDE.md inicial con comandos de build, instrucciones de test y convenciones del proyecto. Para confirmar que un archivo de memoria se cargó, ejecuta /context y mira la sección Memory files.

💡 Tip

Regla de oro: si Claude comete el mismo error dos veces, es momento de escribirlo en CLAUDE.md. Un error repetido o un comentario recurrente de code review es una edición de CLAUDE.md, no una corrección puntual en el chat.

7. Sesiones: resume, fork y worktrees

Claude Code guarda tu conversación localmente mientras trabajas: cada mensaje, uso de herramienta y resultado se escribe en un archivo JSONL de texto plano bajo ~/.claude/projects/. Eso permite reanudar, bifurcar y rebobinar sesiones.

Las sesiones son independientes

Cada sesión nueva empieza con una ventana de contexto fresca, sin historial de sesiones anteriores. Claude puede persistir aprendizajes con auto memory y tú añades instrucciones persistentes en CLAUDE.md. Las sesiones están ligadas al directorio actual: si cambias de rama, Claude ve los archivos de la nueva rama pero conserva la conversación.

Reanudar y bifurcar

claude --continue    # reabre la última sesión con el mismo ID
claude --resume      # elige sesión del selector interactivo
claude --fork-session # copia el historial a un ID nuevo, sin tocar el original

Dentro de la sesión también puedes usar /resume para abrir el selector y /branch para bifurcar. El selector muestra por defecto las sesiones del worktree actual, con atajos de teclado para ampliar a otros worktrees o proyectos.

Sesiones paralelas con git worktrees

Como las sesiones están ligadas a directorios, puedes ejecutar varias sesiones en paralelo usando git worktrees, que crean directorios separados para ramas individuales. Es la forma recomendada de trabajar en varias ramas a la vez sin colisiones.

git worktree add ../proyecto-feature feature/quickstart
cd ../proyecto-feature
claude

Gestiona el contexto

El contexto se llena con el historial, contenidos de archivos, salidas de comandos y memoria. Claude compacta automáticamente: primero limpia salidas de herramientas antiguas y luego resume la conversación si hace falta. Ejecuta /context para ver qué consume espacio, y /compact para resumir manualmente con un foco: /compact focus on the API changes.

⚠️ Error común

No pongas reglas persistentes en el historial de chat: las instrucciones de las primeras conversaciones se pueden perder en la compactación. Lo que debe sobrevivir siempre va a CLAUDE.md.

8. MCP: conecta servicios externos

El Model Context Protocol (MCP) permite a Claude Code usar herramientas más allá de las integradas: buscar en un gestor de issues, consultar una base de datos o controlar un navegador. Estas herramientas vienen de servidores MCP que corren en tu máquina o como servicios alojados.

Conectemos un servidor MCP de principio a fin con el CLI. El ejemplo usa el servidor MCP de la documentación de Claude Code, que no requiere autenticación y es perfecto como primer servidor de prueba:

1

Añade el servidor

Regístralo fuera de una sesión de claude:

claude mcp add --transport http claude-code-docs https://code.claude.com/docs/mcp
2

Comprueba el estado

Confirma que aparece en tu lista y mira su estado:

claude mcp list
EstadoSignificado
✔ ConnectedListo para usar
! Needs authenticationRequiere login en navegador o token vía --header
✘ Failed to connectEl servidor no respondió; revisa errores con claude mcp get <nombre>
3

Úsalo en una sesión

Arranca claude y pide al agente que use el servidor por nombre:

claude
usa el servidor claude-code-docs para buscar qué hace MCP_TIMEOUT
4

Elimina el servidor

Cuando termines de experimentar:

claude mcp remove claude-code-docs

Scopes de configuración

ScopeFicheroDisponible para
local (default)~/.claude.json, entrada del proyectoSolo tú, solo este proyecto
user (--scope user)~/.claude.jsonTú, en todos los proyectos
project (--scope project).mcp.json del repoEl equipo, vía control de versiones
💡 Tip

Cada servidor conectado ocupa espacio en la ventana de contexto (nombres de herramientas e instrucciones del servidor). Retira los servidores que ya no uses para mantener ese espacio libre. Dentro de una sesión, gestiona servidores con /mcp.

9. Skills, subagentes y plugins

La capa de extensión de Claude Code te permite personalizar qué sabe, a qué se conecta y cómo automatiza. Estas son las piezas clave:

Skills: conocimiento reutilizable

Una skill es un archivo markdown con conocimiento, workflows o instrucciones. Se invoca con un comando como /deploy, o Claude la carga automáticamente cuando es relevante. Claude ve las descripciones de las skills al inicio de la sesión, pero el contenido completo solo se carga on demand — así no desperdicias contexto.

# .claude/skills/deploy/SKILL.md
---
description: Ejecuta el checklist de despliegue del proyecto
---
1. Ejecuta `npm run build`
2. Verifica que no hay errores de tipos
3. Publica el artefacto con `npm publish`

Subagentes: trabajo aislado

Un subagente ejecuta su propio bucle en una ventana de contexto separada y devuelve solo un resumen. Ideal para tareas de investigación que leen muchos archivos, trabajo paralelo o workers especializados. Las llamadas a herramientas del subagente no ensucian tu contexto principal.

SkillSubagente
Qué esInstrucciones, conocimiento o workflows reutilizablesTrabajador aislado con su propio contexto
Beneficio claveCompartir contenido entre contextosAislamiento: el trabajo ocurre aparte, solo vuelve un resumen
Impacto en contextoAñade a tu ventana principalUsa una ventana separada con tokens propios
Mejor paraMaterial de referencia, workflows invocablesTareas que leen muchos archivos, trabajo paralelo

Plugins: empaqueta y comparte

Un plugin agrupa skills, subagentes, hooks y servidores MCP en una unidad instalable. Se comparte entre repositorios o se distribuye vía marketplaces. Cada plugin vive en su propio directorio con un manifiesto .claude-plugin/plugin.json:

mkdir -p my-first-plugin/.claude-plugin my-first-plugin/skills/hello
{
  "name": "my-first-plugin",
  "description": "Un plugin para aprender lo básico",
  "version": "1.0.0",
  "author": { "name": "Tu Nombre" }
}

Las skills de un plugin quedan con namespace (por ejemplo /my-first-plugin:hello), de modo que varios plugins pueden coexistir sin colisionar. Empieza con configuración standalone en .claude/ para iterar rápido y conviértela a plugin cuando quieras compartirla.

💡 Tip

¿Cuándo usar qué? CLAUDE.md = reglas "siempre haz X". Skill = referencia o workflow que invocas con /nombre. Subagente = tarea lateral que inundaría tu conversación con salida que no vas a consultar. Hook = algo que debe pasar cada vez sin que lo pidas. Plugin = cuando un segundo repositorio necesita la misma configuración.

10. Headless y CI: claude -p y Agent SDK

El modo no interactivo (headless) ejecuta Claude Code desde scripts y pipelines de CI. Se usa con la bandera -p (o --print):

claude -p "Encuentra y arregla el bug en auth.py" --allowedTools "Read,Edit,Bash"

Claude Code sale con código 0 en éxito y código distinto de cero si el run falla, de modo que tus scripts pueden ramificar según el estado de salida.

Opciones que combinan con -p

OpciónPara qué
--continueContinuar una conversación anterior
--allowedToolsAutoaprobar herramientas concretas ("Read", "Edit", "Bash")
--output-formattext (default), json (estructurado con metadata) o stream-json
--bareArranque rápido para CI: omite hooks, skills, plugins, MCP, auto memory y CLAUDE.md

Pipe: Claude como herramienta de terminal

El modo no interactivo lee de stdin, así que puedes encadenarlo como cualquier herramienta CLI:

cat build-error.txt | claude -p 'explica de forma concisa la causa raíz de este error de build' > output.txt

Con --output-format json, la respuesta incluye total_cost_usd y desglose de costes por modelo — ideal para scripts que controlan el gasto por invocación. El stdin canalizado tiene un tope de 10MB.

Claude como linter en tu build

Envuelve una llamada no interactiva en un script de package.json para usar Claude como revisor de tu proyecto:

{
  "scripts": {
    "lint:claude": "git diff main | claude -p \"eres un linter de erratas. por cada errata en este diff, reporta archivo:línea en una línea y el problema en la siguiente. no devuelvas nada más.\""
  }
}

Ejecútalo con npm run lint:claude. Para CI, añade --bare para que no cargue hooks ni configuración del host y el resultado sea reproducible en cualquier máquina. En modo bare, define ANTHROPIC_API_KEY en el entorno (no usa tu login OAuth).

⚠️ Error común

claude -p sin --bare carga la configuración del directorio: hooks de .claude/settings.json y servidores de .mcp.json se ejecutan incluso en carpetas que nunca has confiado. Para llamadas scripted y SDK, --bare es el modo recomendado — y será el default de -p en una futura versión.

💡 Tip

Además del CLI, existe el Agent SDK con paquetes para Python y TypeScript: las mismas herramientas, bucle y gestión de contexto, pero con control programático total, salidas estructuradas y callbacks de aprobación de herramientas. Es la base para construir tus propios agentes sobre Claude Code.

Preguntas frecuentes

¿Cuánto cuesta Claude Code?

Requiere una suscripción de Claude (Pro, Max, Team o Enterprise) o una cuenta de Claude Console con crédito API prepagado. También puedes usarlo vía proveedores cloud empresariales como Amazon Bedrock, Google Vertex o Microsoft Foundry. Con claude -p --output-format json puedes monitorizar el coste estimado por invocación.

¿Es seguro dejar que edite mi código?

Sí, con los controles adecuados. Antes de editar un archivo se crea un checkpoint que permite deshacer con Esc+Esc. Los modos de permisos (Auto, Manual, Aceptar ediciones, Plan) controlan qué puede hacer sin preguntar, y puedes permitir o bloquear comandos concretos en .claude/settings.json. Los checkpoints no cubren efectos remotos (bases de datos, despliegues), así que revisa permisos antes de autorizar acciones externas.

¿Puedo usarlo con otros modelos o proveedores?

Claude Code usa los modelos de Anthropic (Sonnet para la mayoría de tareas, Opus para razonamiento complejo, cambiable con /model). Además de las cuentas de Anthropic, soporta Amazon Bedrock, Google Vertex AI y Microsoft Foundry para entornos empresariales, y gateways corporativos con SSO.

¿Dónde están las fuentes de este curso?

Todo el contenido está basado en la documentación oficial de Anthropic: code.claude.com/docs y el repositorio github.com/anthropics/claude-code (143K estrellas, changelog público y plugins incluidos en el repo).