Capítulo 06 — Patrones de terminal y configuración de shell
Los hábitos que hacen que Claude Code se afiance.
Módulo 2 · Instalación y entornos · Lección 3 de 5
Al terminar esta lección sabrás qué patrones de terminal demostrar el Día 1, cuáles enseñar en la semana dos y cómo alimentar datos reales a Claude Code a través del shell. Este patrón conecta el uso interactivo con los pipelines de CI de la Lección 2.5.
El ajuste de autenticación que más en silencio bloquea la primera ejecución
El método de autenticación de un despliegue de cliente depende de la arquitectura. Confírmalo antes de la primera sesión de desarrollador, no durante ella.
Métodos de autenticación
Los desarrolladores interactivos con un plan Team o Enterprise suelen autenticarse con el login por suscripción en navegador. Las claves de API son el estándar para CI, headless y flujos automatizados. El enrutamiento a través de un proveedor cloud (Bedrock, Vertex AI) es una tercera vía para clientes que despliegan a través de AWS o GCP.
Cuando se usa una clave de API, se coloca en el perfil de shell del desarrollador (~/.zshrc o ~/.bashrc en la mayoría de equipos de clientes) o, para entornos headless y de CI, en un almacén de secretos (cubierto en la Lección 2.5). Cuando está definida, ANTHROPIC_API_KEY anula el login por suscripción.
Cuando habilites a varios desarrolladores a la vez, confirma con TI la distribución de claves con antelación. Entrar en una sesión de habilitación sin saber si las claves están aprovisionadas cuesta un tiempo que no se recupera.
Variables de entorno
Muchas variables de entorno gobiernan la autenticación, el enrutamiento de red, la gobernanza y el comportamiento en ejecución. No necesitas enseñarlas todas el Día 1. Cuando un despliegue bloquea en silencio la autenticación o el tráfico de red, sabrás dónde buscar. Seis de las más relevantes para este escenario se detallan a continuación.
Las variables de entorno clave están en la siguiente tabla de referencia.
| Variable | Categoría | Qué hace |
|---|---|---|
ANTHROPIC_API_KEY | Autenticación | Clave de API para autenticarse. Opcional para uso interactivo cuando hay login por suscripción disponible. Obligatoria para despliegues headless, de CI o solo con clave de API. Cuando está definida, anula el login por suscripción. |
ANTHROPIC_AUTH_TOKEN | Autenticación | Token bearer personalizado para la cabecera Authorization. Se usa a menudo con gateways, autenticación gestionada o credenciales aprovisionadas externamente. Tiene precedencia sobre ANTHROPIC_API_KEY. |
ANTHROPIC_BASE_URL | Despliegue | Redirige el tráfico de la API de Claude a un LLM gateway o proxy corporativo. Apunta al endpoint con formato Anthropic de tu gateway. |
CLAUDE_CODE_USE_BEDROCK | Despliegue | Enruta el tráfico del modelo a través de Amazon Bedrock en lugar de la API de Anthropic. Establécelo en 1 para activarlo. |
CLAUDE_CODE_USE_VERTEX | Despliegue | Enruta el tráfico del modelo a través de Google Vertex AI. Requiere ANTHROPIC_VERTEX_PROJECT_ID y CLOUD_ML_REGION. |
ANTHROPIC_BEDROCK_BASE_URL | Despliegue | Sobrescribe el endpoint de Bedrock. Se usa normalmente para enrutar el tráfico de Bedrock a través de un LLM gateway. |
HTTPS_PROXY / HTTP_PROXY | Red | URL del servidor proxy corporativo. Usa HTTPS_PROXY primero; recurre a HTTP_PROXY si no está disponible. Las credenciales pueden incluirse en la URL. |
NO_PROXY | Red | Lista de hosts separados por comas o espacios que se omiten del proxy. Establécelo en * para omitirlo en todas las solicitudes. |
NODE_EXTRA_CA_CERTS | Red | Ruta a un archivo de certificado CA personalizado. Obligatoria cuando la red corporativa usa una CA que no está en el almacén de confianza del sistema operativo (por ejemplo, un certificado autofirmado de inspección TLS). |
CLAUDE_CODE_CERT_STORE | Red | Controla qué almacén de certificados CA confía Claude Code. Valores: bundled,system (por defecto), bundled o system. |
CLAUDE_CODE_CLIENT_CERT | Red | Ruta a un certificado de cliente para autenticación mTLS. Se usa junto con CLAUDE_CODE_CLIENT_KEY. |
DISABLE_TELEMETRY | Gobernanza | Desactiva el envío de telemetría. Úsalo en entornos donde el tráfico de telemetría saliente está restringido por política. |
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC | Gobernanza | Suprime el tráfico saliente no esencial (telemetría, descargas del changelog, etc.). Útil en entornos aislados o con salida restringida. |
DISABLE_AUTOUPDATER | Gobernanza | Impide que Claude Code se actualice automáticamente. Adecuado cuando el cliente gestiona las versiones de software de forma centralizada o necesita fijar una versión concreta por estabilidad. |
CLAUDE_CODE_MAX_TURNS | Comportamiento | Número máximo de turnos agénticos antes de que Claude Code se detenga y pida confirmación. Útil para controlar costos durante un piloto. Funciona junto con los ajustes de permisos. |
La lista completa de referencia está en code.claude.com/docs/en/env-vars.
Cuatro categorías de atajos: enséñalos en este orden
No todos los atajos son iguales. Algunos cambian el modelo de interacción; otros son de mantenimiento. El orden importa cuando habilitas a un equipo de cliente que ya está saturado el Día 1.
Modo bash: prefijo !
Ejecuta un comando de shell directamente. La salida del comando se muestra a Claude Code, de modo que puedes referenciarla en el siguiente prompt. Es más rápido que pedirle a Claude que ejecute un comando conocido. Enséñalo primero: es el atajo que cambia la forma en que los desarrolladores piensan sobre la herramienta.
Gestión de contexto: /clear, /compact, /context
/clear reinicia la conversación (no los archivos). /compact condensa el contexto para ahorrar espacio sin perder el hilo. /context muestra cuánta ventana de contexto está en uso.
Secuencia recomendada: introdúcelos en la semana dos, después de que los desarrolladores hayan alcanzado un límite de contexto y pregunten por qué el modelo parece olvidar cosas.
Navegación: Esc, Esc Esc, Shift+Tab
Esc cancela la acción actual en mitad de una ejecución. Esc Esc abre un menú de rebobinado (Fork conversation, Rewind code o Fork + Rewind) cuando la entrada está vacía. Si la entrada contiene texto, Esc Esc borra el borrador en su lugar.
Shift+Tab recorre tres modos de ejecución:
- default: comportamiento estándar.
- auto-accept edits: aplica los cambios sin pedir confirmación.
- plan: presenta los cambios propuestos y espera tu aprobación antes de ejecutarlos.
El modo plan es el que importa a los clientes empresariales con requisitos estrictos de revisión de código.
stateDiagram-v2
state "default" as DEF
state "auto-accept edits" as AAE
state "plan" as PLN
[*] --> DEF
DEF --> AAE : Shift+Tab
AAE --> PLN : Shift+Tab
PLN --> DEF : Shift+Tab
Archivos y sesión: @, --continue, /model
@ añade un archivo o carpeta al contexto mediante su ruta. —continue (o -c) retoma la conversación más reciente al iniciar una nueva sesión de Claude Code desde el shell; —resume <session-id> retoma una sesión concreta. Son flags de la CLI, no comandos de barra. Úsalos al iniciar Claude Code, no dentro de una sesión activa.
/model cambia el modelo subyacente durante la sesión sin reiniciarla. Recuerda: enséñalo cuando sea relevante para maximizar su impacto, en lugar de hacerlo el Día 1 junto con todo lo demás.
Modo bash: enseña primero el modo bash, porque cambia la forma en que se ve la herramienta
Tus desarrolladores verán Claude Code como una extensión de su terminal, no como un sistema aparte. Ese cambio ocurre el Día 1, cuando enseñas el prefijo !.
Por qué importa a tus desarrolladores: sin el modo bash, pedirle a Claude Code que ejecute un test o un comando de build significa que Claude decide qué ejecutar, el desarrollador espera la salida y luego la pega de nuevo. Con el modo bash, el desarrollador escribe el comando que ya conoce, se ejecuta de inmediato y la salida ya está en el contexto de Claude. No hay paso intermedio. Esa eficiencia cambia el compromiso de «probemos esta herramienta de IA» a «esto encaja con mi forma de trabajar».
Cómo funciona el modo bash: el prefijo ! indica a Claude Code que ejecute un comando de shell directamente, sin interpretación. El comando y su salida son visibles para Claude en el siguiente prompt, de modo que los desarrolladores pueden seguir inmediatamente y referenciar lo que se imprimió, sin copiar y pegar.
# Ejecuta un comando directamente: la salida pasa al contexto de Claude
! npm test
# Ahora pregunta a Claude por la salida: ya la vio
Fix the failing tests in the output above
flowchart LR
U["El desarrollador escribe ! npm test"] --> S["Claude Code ejecuta el comando en bash directamente"]
S --> O["La salida queda en el contexto de Claude"]
O --> N["En el siguiente prompt se referencia lo que mostró la salida"]
Patrones de shell: canalizar datos hacia Claude Code, el puente a la automatización en CI
Canalizar datos por el shell funciona con Claude Code igual que con cualquier comando Unix. Los patrones de aquí son los bloques que volverás a usar en la Lección 2.5 al configurar pipelines de CI de clientes.
Usa el operador pipe para enviar cualquier salida del shell directamente a Claude Code como entrada del prompt. Funciona con archivos de log, diffs de git, salida de PR y mensajes de error. Cualquier cosa que el shell pueda producir, Claude Code puede consumirla. Combinado con el flag -p para uso no interactivo, estos patrones se convierten en los patrones de pipeline de la Lección 2.5.
# Pasa un archivo de log a Claude para analizarlo
cat error.log | claude
# Envía el diff de un PR para una revisión de seguridad
gh pr diff "$1" | claude -p --append-system-prompt "Review for security vulnerabilities"
# Pasa la salida de git log para generar un resumen
git log --oneline -20 | claude -p "Summarise these commits for a release note"
Comprueba tu comprensión
Selección múltiple: ¿qué variables hay que configurar antes de que el primer desarrollador se autentique?
Un equipo de desarrollo de un cliente está configurando Claude Code. Su red enruta el tráfico externo a través de un proxy HTTPS corporativo, usa inspección TLS y tiene una política que exige versiones de software fijadas. Antes de que el primer desarrollador se autentique, ¿qué variables de entorno hay que configurar? Selecciona todas las que correspondan.
ANTHROPIC_API_KEYHTTPS_PROXYNODE_EXTRA_CA_CERTSDISABLE_AUTOUPDATERCLAUDE_CODE_USE_BEDROCKCLAUDE_CODE_MAX_TURNS
Ver respuesta
Cuatro de las seis. Autenticación, enrutamiento del proxy, certificados TLS y gobernanza de las actualizaciones automáticas son configuración previa a la sesión. El enrutamiento a Bedrock es específico de la ruta de despliegue: solo es relevante si este cliente opera a través de AWS. Los límites de turnos llegan más tarde, cuando los desarrolladores ya están activos y necesitas controles de costo.
Explicación de cada opción:
- Correcta.
ANTHROPIC_API_KEY(Autenticación): obligatoria para despliegues basados en claves de API. Cuando está definida, anula el login por suscripción. Para uso interactivo con un plan Team o Enterprise, el login por suscripción está disponible sin clave, pero en un despliegue corporativo este escenario usa claves de API. - Correcta.
HTTPS_PROXY(Red): el proxy corporativo intercepta el tráfico externo. Sin esta variable, Claude Code no puede alcanzar la API en una red restringida. - Correcta.
NODE_EXTRA_CA_CERTS(Red): la inspección TLS sustituye la cadena de certificados. Esta variable apunta a la CA del cliente. Sin ella, el handshake SSL falla. - Correcta.
DISABLE_AUTOUPDATER(Gobernanza): la política de versiones fijadas implica que las actualizaciones automáticas están desactivadas por diseño. Confírmalo antes de la sesión, no después de que los desarrolladores reporten desfase de versiones. - Incorrecta.
CLAUDE_CODE_USE_BEDROCK(Despliegue): solo es relevante si este cliente despliega a través de AWS. Es una decisión de ruta de despliegue, no un paso de configuración por defecto para todos los entornos. - Incorrecta.
CLAUDE_CODE_MAX_TURNS(Comportamiento): una configuración de la fase piloto para visibilidad de costos. Es útil una vez que los desarrolladores están ejecutando, no es un requisito previo para la primera autenticación.
Verdadero o falso. Indica si cada afirmación sobre el comportamiento de Claude Code en la terminal es verdadera o falsa.
1. “Anteponer ! a un comando lo ejecuta en el shell y hace que la salida esté disponible para Claude Code en el siguiente prompt.”
Ver respuesta
Verdadero. El prefijo ! ejecuta el comando directamente en bash. El comando y su salida se muestran a Claude Code, lo que permite al desarrollador seguir de inmediato referenciando lo impreso, sin copiar y pegar.
2. “Ejecutar /clear deshace los cambios en archivos que Claude Code hizo durante la sesión.”
Ver respuesta
Falso. /clear reinicia el contexto de la conversación (lo que Claude Code sabe de la sesión actual). No deshace los cambios en el sistema de archivos. Para deshacer cambios en archivos, usa git.
3. “Pulsar Shift+Tab recorre los modos de ejecución, incluido el modo plan, en el que Claude Code describe lo que va a hacer antes de realizar cualquier cambio.”
Ver respuesta
Verdadero. Shift+Tab recorre tres modos: default, auto-accept edits y plan. Cada pulsación pasa al siguiente. El modo plan, en el que Claude Code presenta los cambios propuestos para su aprobación antes de ejecutarlos, merece demostrarse a los equipos de clientes con políticas de revisión de código. Responde directamente a la pregunta «¿cómo controlamos lo que hace?».
4. “El pipe de shell funciona con Claude Code igual que con cualquier comando Unix: puedes canalizar la salida de cat, git u otra herramienta directamente a claude.”
Ver respuesta
Verdadero. Desde el shell, Claude Code es un comando Unix más. El operador pipe funciona como se espera. Eso es lo que hace posibles los patrones de pipeline de CI de la Lección 2.5: se apoyan en la misma base de pipes.
Conclusión clave: los patrones que hacen que Claude Code se afiance en un equipo son los que encajan en los hábitos existentes de los desarrolladores. El modo bash y el pipe por shell encajan en hábitos que los desarrolladores ya tienen. Los atajos de gestión de contexto resuelven el problema concreto que los desarrolladores encuentran en la semana dos. Programa la habilitación en consecuencia.
Ideas clave
Al terminar esta lección sabes qué atajos enseñar y cuándo, cómo funcionan el modo bash y el pipe por shell, y cómo secuenciar la habilitación para una cohorte de desarrolladores de cliente. La referencia de configuración de shell está lista para el Installation Configuration Pack.
- Explica el ajuste de autenticación antes de la primera sesión:
ANTHROPIC_API_KEYanula el login por suscripción, yANTHROPIC_AUTH_TOKENtiene precedencia sobre ella. - Enseña primero el prefijo
!(modo bash) el Día 1; deja los comandos de gestión de contexto para la semana dos. - Un pipe por shell (
cat,git,gh pr diff) envía cualquier salida a Claude Code; combinado con-p, es la base de los pipelines de CI. - Las cuatro categorías de atajos se enseñan en orden: modo bash, gestión de contexto, navegación y archivos/sesión.
- El modo plan (
Shift+Tab) responde a la pregunta de control que suelen plantear los equipos con políticas de revisión de código.