Claude Code es la herramienta de programación con IA de Anthropic. Como OpenCode, vive dentro de la terminal y trabaja sobre los ficheros de la carpeta en la que se lanza. Aquí solo se cuenta lo que no tiene OpenCode o se hace de otra forma; lo que funciona igual ya está en su tema.
curl -fsSL https://claude.ai/install.sh | bash claude --version
irm https://claude.ai/install.ps1 | iex claude --version
cd mi-proyecto claude
Se actualiza solo, en segundo plano. Para forzarlo:
claude update
Es la gran diferencia con OpenCode: solo habla con modelos de Anthropic y no hay nada gratis. No existe /connect ni modelos free.
/login: entra con tu cuenta. Vale una suscripción Pro o Max de Claude (pago fijo al mes, con un límite de uso que se renueva cada pocas horas) o una cuenta de la API (pago por token). El plan gratuito de Claude no incluye Claude Code./usage: cuánto llevas gastado del límite de tu plan y cuándo se renueva.
Abre la lista de modelos. Enter lo deja como predeterminado y s lo cambia solo para esta sesión.
| Modelo | Cuándo |
|---|---|
fable | El más capaz y el más caro. Para lo más difícil |
opus | Muy capaz y más barato que Fable. Para planificar y para lo difícil |
sonnet | Más barato y rápido. Para implementar lo ya decidido |
haiku | El más barato. Tareas mecánicas |
Además del modelo se elige cuánto razona antes de responder: /effort low, medium, high, xhigh o max. Más esfuerzo es mejor respuesta, pero más lenta y más cara. Pero no es si piensa mejor sino que "le da más vueltas antes de responder"
/effort high
medium para el día a día y sube a high o xhigh para el diseño o para un fallo que no hay manera de encontrar.
Más informnación:
Qué es un subagente y para qué sirve está en el tema de Skills y agentes. De serie, Claude Code trae tres:
general-purpose: para tareas de varios pasos que investigan y cambian código.Explore: busca y entiende el código sin modificar nada.Plan: investiga el código en el modo Plan antes de proponerte el plan, sin modificar nada.Hay tres formas de lanzarlo:
@agent- y su nombre. Al escribir @ sale en la lista junto a los ficheros.
@agent-Explore ¿dónde se valida el token JWT y qué endpoints no pasan por esa validación?
Usa el subagente general-purpose para migrar los tests del módulo pedidos de JUnit 4 a JUnit 5
description. Es lo que pasa casi siempre: le preguntas algo sobre el código y verás que lanza Explore sin que se lo pidas.
Los subagentes van en segundo plano: sigues hablando con Claude mientras trabajan. Si uno se queda en primer plano bloqueando la sesión, Ctrl+B lo manda a segundo plano.
Cada subagente es un fichero .md:
.claude/agents/ en el proyecto: está en el repositorio para que sea solo de ese proyecto.~/.claude/agents/ en tu ordenador: para compartirlo entre proyectosQué es una skill y cómo se escribe está en el tema de Skills y agentes.
Hay tres formas de lanzarla:
/ y su nombre: cada skill es un comando más, y al escribir / sale en la lista. Lo que escribas detrás le llega como argumento.
/revisar-pr 128
Usa la skill revisar-pr con el PR 128
description encaja con lo que pides («revisa el PR 128»).
Cada skill es una carpeta con su SKILL.md:
.claude/skills/ en el proyecto: está en el repositorio para que sea solo de ese proyecto.~/.claude/skills/ en tu ordenador: para compartirla entre proyectos.
Como en OpenCode, hay dos modos: Plan y Build, y se cambia entre ellos con Mayús+Tab.
Lee, analiza y te propone un plan, sin editar ningún fichero, como el Plan de OpenCode. Puede ejecutar los comandos simples que necesite para investigar, pero antes los revisa el clasificador. Cualquier otro comando te lo pregunta.
El clasificador es una IA de Claude que decide qué tiene que preguntarte y qué no.
Cuando el plan está bien y lo aceptas, Claude Code ofrece pasar directamente a Build para ejecutarlo.
Ejecuta: edita ficheros y lanza comandos. Es un único modo, pero hay tres tipos según los permisos, es decir, según qué te pregunta antes de hacer algo:
| Tipo | Editar en la carpeta | Comandos simples (mkdir, mv, cp, rm…) | Todo el resto |
|---|---|---|---|
| Manual | Pregunta | Pregunta | Pregunta |
| Aceptar ediciones | ✓ | ✓ | Pregunta |
| Auto | ✓ | ✓ | ✓ El clasificador revisa cada acción: bloquea lo peligroso y sigue |
Mayús+Tab recorre los tres tipos de Build y el Plan en este orden: Manual, Aceptar ediciones, Plan y Auto.
Debajo de la caja de entrada se ve siempre en qué modo estás, con la coletilla «mode on»: plan mode on, auto mode on… En Manual no aparece nada.
Genera las instrucciones fijas del proyecto: analiza el código y escribe qué es el proyecto, su arquitectura y los comandos habituales (arrancar, probar, construir). Es un punto de partida: revísalo y edítalo a mano.
La trampa: genera un CLAUDE.md, no un AGENTS.md, y si existe un CLAUDE.md Claude Code deja de leer el AGENTS.md (por qué no usarlo). Así que se renombra; si ya tenías AGENTS.md, se pasa a él lo que interese y el CLAUDE.md se borra.
git mv CLAUDE.md AGENTS.md
Empieza de cero: borra la conversación y deja el contexto vacío. Se hace cada vez que cambias de tarea.
Vuelve atrás: abre la lista de tus prompts, eliges hasta cuál volver y qué se restaura: el código, la conversación o los dos.
rm, un mv, un git checkout) no se recupera. El deshacer de verdad sigue siendo git.
Resume la conversación para liberar contexto y seguir en la misma sesión.
/compact: antes de llegar a él, usa /clear. El resumen lo hace el modelo, que no sabe qué es lo importante para ti, y sigues trabajando con un contexto peor sin darte cuenta.
Copia al portapapeles la última respuesta de Claude Code
Exporta toda la conversación (no solo la última respuesta)
No es un comando, es una tecla: pulsada una vez, para al agente en seco, esté pensando o a media tarea. Lo que ya ha hecho se queda hecho: le dices qué cambiar y sigue.
ESC ESC no interrumpe, abre /rewind.
Un plugin de Claude Code es un paquete que puede traer skills, subagentes, hooks y servidores MCP a la vez. No se instalan desde npm sino desde marketplaces: repositorios de GitHub con un catálogo de plugins. Al instalar, el plugin se nombra con @ y el marketplace del que sale: plugin@marketplace.
Para ver los instalados y buscar en los catálogos, el gestor de plugins:
/plugin
El marketplace de Anthropic, claude-plugins-official, ya viene añadido: sus plugins se instalan directamente.
/plugin install frontend-design@claude-plugins-official
Un plugin que no está en el oficial se instala en dos pasos: primero se añade el marketplace de su repositorio y luego se instala el plugin.
usuario/repositorio de GitHub:
/plugin marketplace add jarrodwatts/claude-hud
/plugin install claude-hud@claude-hud
Lo que va detrás de la @ es el nombre del marketplace, no el del repositorio. Suelen coincidir, pero no siempre. Para ver los marketplace que hay usar /plugin marketplace list
Claude Code no enseña en pantalla el contexto ocupado ni cuánto queda del límite del plan: hay que pedirlo con /context y /usage. claude-hud lo pone en la barra de estado, debajo de la caja de entrada: modelo, porcentaje de contexto, uso del plan, la herramienta o el subagente que se está ejecutando y las tareas pendientes. No ocupa contexto.
Sin el plugin, debajo de la caja de entrada solo se ve el modo:
Con el plugin, en la misma sesión aparece debajo una barra de estado con varias líneas:
Vamos a ver qué es cada cosa:
Sonnet 5.5).tienda).+disenyo-interfaces).* indica que hay cambios sin commitear.1m)./clear.Read ×1). Mientras trabaja se ve la que está ejecutando, y también los subagentes y las tareas pendientes.Se instala desde su repositorio de GitHub, como en la sección anterior, y se activa con:
/claude-hud:setup
Por defecto solo enseña el modelo, el proyecto, la rama de git, el contexto y el uso del plan. El resto de lo que sale en las capturas (la duración, los MCP y hooks, las herramientas, los subagentes y las tareas) hay que activarlo con:
/claude-hud:configure
Te pregunta qué quieres ver y lo guarda en ~/.claude/plugins/claude-hud/config.json. Esta es la configuración de las capturas; las líneas a true de display son lo que se ve:
{
"lineLayout": "expanded",
"showSeparators": false,
"gitStatus": {
"enabled": true,
"showDirty": true,
"showAheadBehind": false,
"showFileStats": false
},
"display": {
"showModel": true,
"showContextBar": true,
"showTools": true,
"showAgents": true,
"showTodos": true,
"showProject": true,
"showConfigCounts": true,
"showTokenBreakdown": false,
"showSpeed": false,
"showUsage": true,
"usageBarEnabled": true,
"showSessionName": true,
"showDuration": true,
"customLine": ""
}
}