Curso – Claude

Funciones avanzadas

Guía completa de las capacidades avanzadas de Claude Code, incluyendo modo de planificación, pensamiento extendido, modo automático, tareas de fondo, modos de permiso, modo de impresión (no interactivo), gestión de sesiones, funciones interactivas, canales, dictado de voz, control remoto, sesiones web, aplicación de escritorio, lista de tareas, sugerencias, git worktrees, sandboxing, configuración administrada y configuración.

Índice

  1. Introducción
  2. Modo de planificación
  3. Pensamiento extendido
  4. Modo automático
  5. Tareas de fondo
  6. Herramienta de monitor (corrientes impulsadas por eventos)
  7. Flujos de trabajo dinámicos
  8. Tareas programadas
  9. Modos de permiso
  10. Modo sin interfaz
  11. Gestión de las sesiones
  12. Mensajería cruzada
  13. Características interactivas
  14. Estilos de salida
  15. Línea de estado
  16. Modo TUI (Pantalla completa)
  17. Dictación de voz
  18. Canales
  19. Integración de Chrome
  20. Control remoto
  21. Sesiones en la Web
  22. Aplicación de escritorio
  23. Lista de tareas
  24. Sugerencias prontas
  25. Git Worktrees
  26. Caja de arena
  27. Configuración administrada (empresa)
  28. Configuración y configuración
  29. Confiar y obtener permiso
  30. Equipo de Agentes
  31. Mejores prácticas
  32. Recursos adicionales

Introducción

Las funciones avanzadas de Claude Code amplían las capacidades básicas con mecanismos de planificación, razonamiento, automatización y control. Estas características permiten flujos de trabajo sofisticados para tareas complejas de desarrollo, revisión de código, automatización y gestión de múltiples sesiones.

Las principales características avanzadas incluyen: - Modo de planificación: Cree planes de implementación detallados antes de codificar - Pensamiento extendido: Razonamiento profundo para problemas complejos - Modo automático: El clasificador de seguridad revisa cada acción antes de la ejecución - Tareas de fondo: Realizar operaciones largas sin bloquear la conversación - Modos de permiso: Controlar lo que Claude puede hacer (manual — anteriormente default, acceptEdits, plan, auto, dontAsk, bypassPermissions) - Modo de impresión: Ejecutar Claude Code no interactivamente para la automatización y CI/CD (claude -p) - Gestión de las sesiones: Administrar múltiples sesiones de trabajo - Características interactivas: Accesos rápidos de teclado, entrada multilínea e historial de comandos - Dictación de voz: Entrada de voz push-to-talk con soporte STT en 20 idiomas - Canales: Los servidores MCP introducen mensajes en las sesiones en ejecución (Previsualización de la investigación) - Control remoto: Control Claude Claude Code.ai o la aplicación Claude - Sesiones en la Web: Ejecute Claude Code en el navegador en claude.ai/code - Aplicación de escritorio: Aplicación independiente para la revisión visual de diff y múltiples sesiones - Lista de tareas: Seguimiento de tareas persistentes a través de compactaciones de contexto - Sugerencias prontas: Sugerencias de comandos inteligentes basadas en contexto - Git Worktrees: Ramas aisladas de árbol de trabajo para trabajos paralelos - Caja de arena: Sistema de archivos y aislamiento de red de nivel OS - Configuración administrada: Implementación de la empresa a través de plist, registro o archivos gestionados - Configuración: Personalizar el comportamiento con los archivos de configuración JSON


Modo de planificación

El modo de planificación permite a Claude pensar en tareas complejas antes de implementarlas, creando un plan detallado que puede revisar y aprobar.

¿Qué es el modo de planificación?

El modo de planificación es un enfoque de dos fases: 1. Fase de planificación: Claude analiza la tarea y crea un plan de implementación detallado 2. Fase de ejecución: Después de la aprobación, Claude ejecuta el plan

Cuándo utilizar el modo de planificación

• Utilizar el modo de planificación para: - Refactorización multi-archivo compleja - Nuevas implementaciones de funciones - Cambios arquitectónicos - Migraciones de bases de datos - Reelaboración de API importantes

No utilice el modo de planificación para: - Corrección sencilla de errores - Cambios de formato - Ediciones de un solo archivo - Consultas rápidas

Modo de planificación activa

Orden de barra:

/plan Implement user authentication system

Bandera CLI:

claude --permission-mode plan

Establecer como predeterminado:

{
  "permissions": {
    "defaultMode": "plan"
  }
}

Acceso directo al teclado: - Shift + Tab - Conmutar los modos de permiso (incluido el plan) Alt + M - Conmutar modos de permiso (sólo Windows, cuando el tiempo de ejecución no activa el modo de entrada VT)

Beneficios del modo de planificación

  • Enfoque estructurado de la aplicación: Desglose detallado de las medidas de aplicación
  • Examen y aprobación: Aprobar o ajustar el plan antes de la ejecución
  • Identificación de riesgos: Determinar posibles cuestiones antes de la aplicación
  • Fases claras: Fases y etapas de aplicación organizadas

Ejemplo: Aplicación de características

User: /plan Add a real-time notification system

Claude: I'll create a plan for implementing real-time notifications.

## Implementation Plan

### Phase 1: Infrastructure Setup
1. Install WebSocket libraries (socket.io)
2. Set up WebSocket server
3. Configure connection management

### Phase 2: Backend Implementation
4. Create notification service
5. Implement notification queue
6. Add database schema for notifications
7. Create API endpoints

### Phase 3: Frontend Integration
8. Set up WebSocket client
9. Create notification UI components
10. Implement notification state management
11. Add notification permissions

### Phase 4: Testing & Deployment
12. Write unit tests
13. Write integration tests
14. Update documentation
15. Deploy to staging

Estimated time: 3-4 hours
Files to modify: 12
New files to create: 8

Ready to proceed? (yes/no/modify plan)

User: yes

Claude: [Begins implementation following the plan]

Modificaciones del plan

User: Modify the plan - skip the queue for now, we'll add it later

Claude: Updated plan:
[Shows modified plan with queue removed]

User: Looks good, proceed

Claude: [Implements modified plan]

Configuración del modo de planificación

El modo de planificación se activa mediante el comando CLI flag o slash:

# Activate plan mode via CLI
claude --permission-mode plan

# Or use the /plan slash command inside the REPL
/plan Implement user authentication system

Modelo de alias para la planificación: Usar opusplan como modelo alias para utilizar Opus para la planificación y Sonnet para la ejecución:

claude --model opusplan "design and implement the new API"

Editar el plan externamente: Prensa Ctrl+G para abrir el plan actual en su editor externo para modificaciones detalladas.

Actualización v2.1.112: Los archivos de plan se nombran ahora por el prompt que los produjo (en lugar de palabras aleatorias), haciéndolos más fáciles de navegar y reutilizar.

v2.1.136 actualización — los bloques de escritura en modo plan son incondicionales: El modo Plan ahora bloquea todas las escrituras del archivo, incluyendo cuando un emparejamiento Edit(...) regla existe en permissions.allow. Anteriormente un permisivo Edit(...) regla podría dejar que las escrituras a través en modo de plan; que el bypass está cerrado. Si un flujo de trabajo dependía del comportamiento anterior, modo de plan de salida (Shift+Tab) antes de editar.


Pensamiento extendido

El pensamiento extendido permite a Claude pasar más tiempo razonando sobre problemas complejos antes de proporcionar una solución.

¿Qué es el pensamiento extendido?

El pensamiento extendido es un proceso de razonamiento deliberado, paso a paso, donde Claude: - Derriba problemas complejos - Considera múltiples enfoques - Evalúa compensaciones - Razones a través de casos extremos

Activar el pensamiento extendido

Acceso directo al teclado: - Option + T (macOS) / Alt + T (Windows/Linux) - Conmutar el pensamiento extendido. En el Opus 5.5 (el modelo predeterminado desde v2.1.280), Sonnet 5.5, Haiku 5.5, y los modelos de Fable, el pensamiento no se puede apagar — el cambio, alwaysThinkingEnabled, y MAX_THINKING_TOKENS=0 no tienen ningún efecto allí.

Activación automática: - Activado por defecto para todos los modelos (Opus 5, Opus 4.8, Opus 4.7, Sonnet 4.6, Haiku 4.5) - Opus 5 / Opus 4.8: Razonamiento adaptativo con niveles de esfuerzo: low (○), medium (◐), high (●), xhigh, max. El valor predeterminado es medium en el Opus 5.5 (el modelo por defecto desde v2.1.280), Sonnet 5.5 y Haiku 5.5, high en el Opus 5 (v2.1.219), Sonnet 5, Opus 4.8 (v2.1.154), Opus 4.6 y Sonnet 4.6, y xhigh sobre el Opus 4.7. xhigh está disponible en el Opus 5.5, Sonnet 5.5, Haiku 5.5, Opus 5, Sonnet 5, Opus 4.8 y Opus 4.7 (regresa a high sobre el Opus 4.6 / Soneto 4.6). max obras en el Opus 5.5, Sonnet 5.5, Haiku 5.5, Opus 5, Sonnet 5 y Opus 4.8/4.7/4.6 y Sonnet 4.6 (solo sesión). Haiku 4.5 no tiene niveles de esfuerzo. El Opus 5, Opus 4.8 y el Opus 4.7 tienen una ventana de contexto nativo de 1M-token (1M context fix aterrizó en v2.1.117 — antes de eso, /context Contó mal el Opus 4.7 contra una ventana de 200K y desencadenó autocompacto prematuro). /context muestra su visualización sólo en la interfaz de usuario; la ASCII viz ya no se filtra en el contexto de conversación (~1.6k tokens guardados por llamada), así que /context es seguro invocar libremente. - Suscriptores Pro/Max en el Opus 4.6 / Sonnet 4.6: el esfuerzo por defecto fue elevado desde medium a high en v2.1.117. - Otros modelos: Presupuesto fijo hasta 31.999 tokens

Métodos de configuración: - Toggle: Alt+T / Option+T, o a través /config - Ver razonamiento: Ctrl+O (modo de voz) - Establecer el esfuerzo: /effort orden o --effort bandera

Presupuesto personalizado:

export MAX_THINKING_TOKENS=1024

Nivel de esfuerzo (apoyado en Opus 5.5, Sonnet 5.5, Haiku 5.5, Opus 5, Sonnet 5, Opus 4.8, Opus 4.7, Opus 4.6 y Sonnet 4.6, no Haiku 4.5):

export CLAUDE_CODE_EFFORT_LEVEL=high   # low (○), medium (◐), high (●), xhigh (Opus 5.5, Sonnet 5.5, Haiku 5.5, Opus 5, Sonnet 5, Opus 4.8/4.7), or max — default is high on Opus 5 and Opus 4.8

Bandera CLI:

claude --effort high "complex architectural review"

Orden de barra:

/effort high

Nota: La palabra clave "ultrathink" en los prompts activa el modo de razonamiento profundo. low, medium, high, y max se apoyan en Opus 5.5, Sonnet 5.5, Haiku 5.5, Opus 5, Sonnet 5, Opus 4.8, Opus 4.7, Opus 4.6 y Sonnet 4.6 (Haiku 4.5 no tiene ninguno). xhigh está disponible en Opus 5.5, Sonnet 5.5, Haiku 5.5, Opus 5, Sonnet 5, Opus 4.8 y Opus 4.7. El esfuerzo por defecto es medium sobre el Opus 5.5, Sonnet 5.5 y Haiku 5.5, high sobre el Opus 5, Soneto 5, Opus 4.8 (y el Opus 4.6 / Soneto 4.6) y xhigh en el Opus 4.7. A diferencia del Opus 4.8 y el Opus 4.7, que marcan su esfuerzo por defecto en la primera ejecución, el Opus 5 no tiene tal posición, un nivel que anteriormente se estableció lleva encima. /effort slider también tiene un Ultracode toggle (Tab, o /effort ultracode [on|off]), que es no un nivel de esfuerzo modelo - que tiene Claude orquestan flujos de trabajo dinámicos a cualquier nivel de esfuerzo que la sesión se ejecuta en. xhigh y se mantiene encendido cuando cambia el nivel; --effort ultracode y el agente SDK effortLevel: "ultracode" todavía set xhigh.

Retroceso del clasificador de seguridad en el Opus 5

Separado de la fallbackModel ajuste (que maneja la sobrecarga y la indisponibilidad), Claude Code aplica un de la categoría cuando un clasificador de seguridad marca una solicitud. Requiere Claude Code v2.1.219 o posterior.

  • Opus 5: solicitudes de ciberseguridad con banderas re-pronunciadas en el Opus 4.8. Las solicitudes con banderas de biología terminan con un rechazo, porque el Opus 5 maneja sus propios clasificadores de biología sin modelo de reserva.
  • Cargas de trabajo en seguridad ofensiva o biología —pruebas de penetración, ejercicios de Capture the Flag (CTF) y bases de código adyacentes a la biología— desencadenan frecuentes retrocesos, a menudo en la primera solicitud.

¿Por qué esto importa aquí: si usted corre subagentes de revisión de seguridad o CTF/pentest en el Opus 5, esperen repeticiones silenciosas en el Opus 4.8 (techo de esfuerzo diferente y ventana de contexto) para avisos de ciberseguridad, y rechazos directos para los adyacentes a la biología.

Controlar el interruptor — los switchModelsOnFlag configuración (v2.1.170+, por defecto true) decide si el retroceso sucede en silencio. false y Claude Code se detiene en su lugar, permitiéndole elegir entre cambiar modelos y editar el prompt. Aparece en /config como Cambiar modelos cuando un mensaje está marcado.

{
  "switchModelsOnFlag": false
}

Beneficios del pensamiento extendido

  • Razonamiento profundo: Pasa más tiempo pensando en problemas complejos
  • Mejores decisiones arquitectónicas: Tomar decisiones informadas con una evaluación completa
  • Examen de los casos extremos: Pensar en posibles problemas y escenarios
  • Análisis exhaustivo: Enfoque estructurado para la solución de problemas complejos

Ejemplo: Decisión arquitectónica

User: ultrathink Should we use microservices or a monolith for our e-commerce platform?

Claude: Let me think through this architectural decision carefully...

<extended_thinking>
## Context Analysis
- Team size: 5 developers
- Expected traffic: 10k daily users initially
- Need to scale to 100k+ users
- Limited DevOps resources
- 6-month timeline to MVP

## Approach 1: Microservices
Pros:
+ Independent scaling
+ Technology flexibility
+ Team independence
+ Fault isolation

Cons:
- Operational complexity
- Network overhead
- Distributed tracing needed
- Requires DevOps expertise
- Slower initial development

## Approach 2: Monolith
Pros:
+ Simpler deployment
+ Faster initial development
+ Easier debugging
+ Lower operational overhead
+ Single codebase

Cons:
- Scaling challenges later
- All-or-nothing deployments
- Technology lock-in
- Potential for tight coupling

## Decision Factors
1. Team size (5 devs) → Favors monolith
2. DevOps resources (limited) → Favors monolith
3. Timeline (6 months) → Favors monolith
4. Future scale (100k users) → Achievable with monolith + caching
5. Complexity budget → Limited

## Recommendation
Start with a **modular monolith**:
- Single deployment unit
- Clear module boundaries
- Clean interfaces between modules
- Prepare for future extraction to microservices if needed

This gives you:
✓ Fast initial development
✓ Low operational complexity
✓ Option to extract services later
✓ Clear architecture

Migration path: When you reach 50k+ users or specific modules need independent scaling, extract those modules into microservices.
</extended_thinking>

**Recommendation**: Implement a modular monolith with clean module boundaries.

This approach balances your current constraints (team size, timeline, DevOps resources) with future scalability needs. You can migrate specific modules to microservices later when there's a clear business need.

Configuración extendida del pensamiento

El pensamiento extendido se controla a través de variables de entorno, atajos de teclado y banderas CLI:

# Set thinking token budget
export MAX_THINKING_TOKENS=16000

# Set effort level (Opus 5.5, Sonnet 5.5, Haiku 5.5, Opus 5, Sonnet 5, Opus 4.8, Opus 4.7, Opus 4.6, Sonnet 4.6): low (○), medium (◐), high (●), xhigh (Opus 5.5, Sonnet 5.5, Haiku 5.5, Opus 5, Sonnet 5, Opus 4.8/4.7), or max — default is high on Opus 5 and Opus 4.8
export CLAUDE_CODE_EFFORT_LEVEL=high

Conmutar durante una sesión con Alt+T / Option+T, esfuércese con /effort, o configurar vía /config.

Inclinar el sistema (v2.1.154): El indicador de sistema magro es ahora el predeterminado para todos los modelos excepto Haiku 4.5, Sonnet 5, Opus 4.7 y modelos anteriores en esas familias (Haiku 5.5 y Sonnet 5.5 lo usan también), reduciendo el valor de referencia del Opus 5 y Opus 4.8.


Modo automático

El modo automático es un modo de permiso que utiliza un clasificador de seguridad de fondo para revisar cada acción antes de la ejecución. Permite a Claude trabajar de forma autónoma mientras bloquea operaciones peligrosas. Está disponible en todos los planes, pero requiere un modelo elegible (Claude Opus 4.6 o posterior, Sonnet 4.6 o posterior, Haiku 5.5, o un modelo de Fable en la API Antrópica y la Plataforma Claude en AWS; Sonnet 5 o posterior, Opus 4.7 o posterior, Haiku 5.5, o un modelo de Fable en las sesiones de pasarela de aplicaciones Bedrock, Vertex, Foundry y Claude firmados). En Team y Enterprise está activado por defecto: los administradores pueden desactivarlo para la organización en configuraciones gestionadas.

Necesidades

El modo automático solo está disponible cuando su cuenta cumple todos estos requisitos:

  • PlanTodos los planes.
  • Organización: en Equipo y Enterprise, el modo automático está disponible por defecto. Los administradores pueden desactivarlo para la organización mediante la configuración permissions.disableAutoMode a "disable" en configuraciones gestionadas.
  • Modelo: en la API Antrópica y en la Plataforma Claude en AWS — Claude Opus 4.6 o posterior, Sonnet 4.6 o posterior, Haiku 5.5, o un modelo de Fable. En Amazon Bedrock, la plataforma Agente de Google Cloud (Vertex AI), Microsoft Foundry, y las sesiones de pasarela de aplicaciones de Claude — sólo Claude Sonnet 5 o posterior, Opus 4.7 o posterior, Haiku 5.5 (v2.1.293+), y los modelos de Fable. Los modelos más antiguos — Sonnet 4.5, Opus 4.5, Haiku 4.5 y Claude-3 — no son compatibles con ningún proveedor.
  • Proveedor: disponible por defecto en la Anthropic API, Claude Platform en AWS, Amazon Bedrock, Google Cloud's Agent Platform (Vertex AI), Microsoft Foundry, y sesión de entrada de aplicaciones de Claude. En v2.1.158 a v2.1.206, el modo automático estaba apagado en todos estos excepto la Anthropic API y Claude Platform en AWS hasta que se establece CLAUDE_CODE_ENABLE_AUTO_MODE=1; v2.1.207 eliminó el requisito. La variable sigue siendo aceptada para la compatibilidad y no tiene efecto a partir de v2.1.207 en adelante.
  • Clasificador: añade un coste adicional de token, excepto en planes Enterprise y cuentas API de Claude, donde v2.1.278+ ejecuta el lado servidor de verificación sin cargo

Activar modo automático

# Interactive sessions start in auto mode when no permission mode is configured (v2.1.284+)
# To pick it explicitly, for example when your settings default to another mode:
claude --permission-mode auto

# Or cycle to it with Shift+Tab in the REPL

Actualización v2.1.112: El modo automático ya no requiere el --enable-auto-mode Los suscriptores Max acceden directamente al Opus 4.7.

Actualización v2.1.158: El modo Auto se hizo disponible en Bedrock, Vertex, y Fundición para el Opus 4.7/4.8, encerrado detrás CLAUDE_CODE_ENABLE_AUTO_MODE=1.

Actualización v2.1.207El modo automático está ahora disponible de forma predeterminada en Bedrock, Vertex AI, Microsoft Foundry, y las sesiones de gateway de aplicaciones de Claude firmadas para Claude Sonnet 5, Opus 4.7, Opus 4.8 y Fable 5 (y Opus 5 de v2.1.219) — no se necesita ningún indicador o var env. Los administradores pueden desactivarlo con disableAutoMode en configuraciones gestionadas. CLAUDE_CODE_ENABLE_AUTO_MODE sigue siendo aceptado para la compatibilidad, pero no tiene efecto a partir de v2.1.207 en adelante.

O configúralo como el modo de permiso predeterminado:

claude --permission-mode auto

Configuración mediante configuración:

{
  "permissions": {
    "defaultMode": "auto"
  }
}

Cómo funciona el clasificador

El clasificador de fondo evalúa cada acción utilizando el siguiente orden de decisión:

  1. Reglas de permitir/negar -- Las reglas de permisos explícitos se comprueban primero
  2. Solo lectura/edición aprobada automáticamente -- El archivo lee y edita pasa automáticamente
  3. Clasificador -- El clasificador de fondo revisa la acción
  4. Retroceso -- Cae de nuevo a provocar después de 3 bloques consecutivos o 20 totales

Acciones bloqueadas predeterminadas

El modo automático bloquea por defecto lo siguiente:

Acción bloqueada Ejemplo
Instalaciones de tubería a shell curl \| bash
Envío de datos sensibles externamente Claves API, credenciales a través de la red
Despliegues de producción Implementar comandos que apunten a la producción
Eliminación de masa rm -rf en directorios grandes
Cambios en el IAM Permiso y modificaciones de funciones
Fuerza empujando a la principal git push --force origin main

Más decisiones pasaron al clasificador (v2.1.218): El clasificador también decide las eliminaciones dirigidas a la raíz del sistema de archivos o directorio home, tales como rm -rf / y rm -rf ~Antes de v2.1.218, los formularios simples solicitados para su aprobación y los formularios de sustitución solicitados en v2.1.208 a v2.1.217.& y sospechosos-Windows-path comprueba igualmente que ya no se abren los diálogos de permisos — el clasificador los juzga. Desde v2.1.281, las eliminaciones reconocidas de ruta crítica como estas vuelven a aparecer en modo automático, con una cuenta regresiva de 2 minutos en el terminal y una negación inmediata en otro lugar; el clasificador decide sólo con CLAUDE_CODE_DISABLE_DANGEROUS_RM_TIMEOUT=1.

Acciones predeterminadas permitidas

Acción permitida Ejemplo
Operaciones de archivos locales Leer, escribir, editar archivos de proyectos
Instalaciones declaradas de dependencia npm install, pip install del manifiesto
HTTP de solo lectura curl para obtener documentación
Empujando a la rama actual git push origin feature-branch

Configuración del modo automático

Imprimir reglas predeterminadas como JSON:

claude auto-mode defaults

Restaurar la configuración predeterminada del modo automático (v2.1.212), con un aviso de confirmación (--yes omitir):

claude auto-mode reset
claude auto-mode reset --yes

Configurar la infraestructura de confianza a través de autoMode.environment configuración administrada para implementaciones empresariales. Esto permite a los administradores definir entornos de confianza CI/CD, objetivos de implementación y patrones de infraestructura.

Borrador de entradas de entorno con /auto-mode-setup: el comando guiado lee su proyecto y sesiones recientes y propone autoMode.environment (y a veces regla) entradas, que escribe a ~/.claude/settings.json si acepta. Pro, Max y Team necesitan v2.1.228+ (v2.1.233+ en Windows nativa); Enterprise y Claude Console API necesitan v2.1.283+. Desde v2.1.304 también funciona en Bedrock, Vertex, Fundición, y con telemetría apagado.

Extender los valores predeterminados con "$defaults" (v2.1.118)

Desde el v2.1.118, autoMode.allow, autoMode.soft_deny, y autoMode.environment aceptar a "$defaults" token que añade sus reglas a la lista integrada en lugar de reemplazarla. Antes de v2.1.118, cualquier array definido por el usuario bloqueaba silenciosamente los arrays.

Bloques incondicionales con autoMode.hard_deny (v2.1.136)

autoMode.hard_deny (v2.1.136+) es un conjunto de reglas de clasificación que bloquean una clase de acciones independientemente de la intención inferida del usuario. Use esto para acciones que nunca deben ejecutarse en modo automático — por ejemplo, rm -rf en las vías raices o git push --force en ramas protegidas. A diferencia soft_deny, las reglas de negación dura no son negociables por el clasificador.

{
  "autoMode": {
    "hard_deny": ["Bash(rm -rf /:*)", "Bash(git push --force*)"]
  }
}

Antes (sustituye el comportamiento integrado — pre-v2.1.118):

{
  "autoMode": {
    "allow": ["Bash(gh pr list:*)"]
  }
}

Después (extiende los componentes incorporados — v2.1.118+):

{
  "autoMode": {
    "allow": ["$defaults", "Bash(gh pr list:*)"],
    "soft_deny": ["$defaults", "Bash(kubectl delete:*)"],
    "environment": ["$defaults", "trusted-ci.internal"]
  }
}

Uso "$defaults" mantener las normas de base enviadas mientras se agrupan las adiciones específicas de la organización o del proyecto en la parte superior.

Clasificar cada comando de shell con autoMode.classifyAllShell (v2.1.193)

autoMode.classifyAllShell rutas (booleanas, v2.1.193+) todos Comandos Bash/PowerShell a través del clasificador de modo automático. Habilite cuando desee que el clasificador inspeccione cada comando shell en la sesión.

{
  "autoMode": {
    "classifyAllShell": true
  }
}

La misma liberación de superficies un razón de denegación cuando el modo automático bloquea una acción — visible en la transcripción, el brindis de denegación, y la lista recientemente denegada bajo /permissions (v2.1.193+).

Protección integrada basada en la intención (v2.1.183)

Separados de los configurados por el usuario hard_deny, el modo automático bloquea los siguientes comandos destructivos por defecto a menos que se lo pida explícitamente en esta sesión:

  • git reset --hard, git checkout -- ., git clean -fd, git stash drop
  • git commit --amend (cuando el compromiso no fue hecho por el agente de esta sesión)
  • terraform destroy, pulumi destroy, cdk destroy (A menos que usted pidió la pila específica)

Esta es la protección por defecto integrada impulsada por intent inferida — no es necesario añadir estos a hard_deny Tú mismo.

Comportamiento de retroceso

Cuando el clasificador es incierto, el modo automático vuelve a indicar al usuario: - Después 3 consecutivas Bloques de clasificación - Después 20 total Bloques de clasificación en una sesión

Esto garantiza que el usuario siempre mantenga el control cuando el clasificador no puede aprobar con confianza una acción.

Sembrando permisos automode-equivalentes

Si quieres un enfoque más sencillo sin el clasificador de fondo, puedes sembrar tu ~/.claude/settings.json con una línea de base conservadora de reglas de permisos seguras. El script comienza con reglas de inspección local y de sólo lectura, luego le permite optar por ediciones, pruebas, escrituras git locales, instalaciones de paquetes y acciones de GitHub de escritura sólo cuando las desee.

Archivo: 09-advanced-features/setup-auto-mode-permissions.py

# Preview what would be added (no changes written)
python3 09-advanced-features/setup-auto-mode-permissions.py --dry-run

# Apply the conservative baseline
python3 09-advanced-features/setup-auto-mode-permissions.py

# Add more capability only when you need it
python3 09-advanced-features/setup-auto-mode-permissions.py --include-edits --include-tests
python3 09-advanced-features/setup-auto-mode-permissions.py --include-git-write --include-packages

El script añade reglas en estas categorías:

Categoría Ejemplos
Herramientas básicas de sólo lectura Read(*), Grep(*), Agent(*), WebSearch(*), WebFetch(*)
Inspección local Bash(git status:*), Bash(git log:*), Bash(git diff:*), Bash(cat:*)
Ediciones opcionales Edit(*)
Ensayo/construcción opcional Bash(pytest:*), Bash(python3 -m pytest:*), Bash(cargo test:*)
Opcional git escribe Bash(git add:*), Bash(git commit:*), Bash(git checkout:*), Bash(git switch:*), Bash(git stash:*), Bash(git tag:*)
Gestores de paquetes Bash(npm ci:*), Bash(npm install:*), Bash(pip install:*), Bash(pip3 install:*)
Construir & prueba Bash(make:*), Bash(pytest:*), Bash(go test:*)
Concha común Bash(ls:*), Bash(cat:*), Bash(find:*)
GitHub CLI Bash(gh pr view:*), Bash(gh pr create:*), Bash(gh issue list:*)

Operaciones peligrosas (rm -rf, sudo, empuje de la fuerza, DROP TABLE, terraform destroy, etc.) se excluyen intencionalmente. El script es idempotente — ejecutarlo dos veces no duplicará reglas.


Tareas de fondo

Las tareas de fondo permiten que las operaciones de larga duración se ejecuten sin bloquear la conversación.

¿Qué son las tareas de fondo?

Las tareas de fondo se ejecutan asíncronamente mientras continúa trabajando: - Largas pruebas suites - Construir procesos - Migraciones de bases de datos - Scripts de implementación - Herramientas de análisis

Uso básico:

User: Run tests in background

Claude: Started task bg-1234

/tasks    # View and manage background work (shells and subagents); stop a task from here
Ctrl+B    # Move a running Bash command or agent to the background

Iniciar tareas de fondo

User: Run the full test suite in the background

Claude: Starting tests in background (task-id: bg-1234)
You can continue working while tests run.

[You can continue the conversation]

User: Meanwhile, let's refactor the auth module

Claude: [Works on auth module while tests run in background]

[Later, when tests complete]

Claude: 📢 Background task bg-1234 completed:
✅ 245 tests passed
❌ 3 tests failed
View results: /tasks

Gestión de las tareas de fondo

Corre /tasks (alias /bashes) para listar los shells y subagentes en ejecución, abrir uno para ver su salida, o detenerlo. No hay /task Subcomandos.

User: /tasks

[Opens the background-work view: running shells and subagents,
 including subagents that have finished. Select one to see its
 output, or stop it from here.]

Ejemplo: Desarrollo paralelo

User: Run the build in the background

Claude: Starting build... (task-id: bg-5001)

User: Also run the linter in background

Claude: Starting linter... (task-id: bg-5002)

User: While those run, let's implement the new API endpoint

Claude: [Implements API endpoint while build and linter run]

[10 minutes later]

Claude: 📢 Build completed successfully (bg-5001)
📢 Linter found 12 issues (bg-5002)

User: Show me the linter issues

Claude: [Shows linter output from bg-5002]

Configuración

No hay settings.json bloque para tareas de fondo. La función está controlada por una variable de entorno:

# Turn off background Bash/subagent runs and Ctrl+B (MCP tasks and the Monitor tool still run in the background)
export CLAUDE_CODE_DISABLE_BACKGROUND_TASKS=1

La concurrencia tampoco es una configuración de tareas de fondo: cuántos agentes funcionan a la vez se rigen por CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS (por defecto) 20).

Fondo Los comandos Bash y PowerShell tienen un límite de tiempo solo en sesiones no atendidas (v2.1.288): en una -p ejecutar, una sesión de Agente SDK, CI, o una sesión en la nube, un comando comenzó con run_in_background se detiene después de su timeout — 30 minutos por defecto, como máximo 2 horas — y Claude es notificado cuando se detiene. Los comandos de fondo en una sesión de terminal, aplicación de escritorio o código VS no tienen límite de tiempo (en v2.1.285–v2.1.287 el límite aplicado a cada sesión).


Herramienta de monitor (corrientes impulsadas por eventos)

Nuevo en v2.1.98: La herramienta Monitor permite a Claude ver el stdout de un comando de fondo y reaccionar en el momento en que aparece un evento que coincide — reemplazando bucles de votación y sleep a la espera de procesos de larga duración.

Monitor se adhiere a cualquier comando shell que escriba a stdout. Cada línea stdout del comando se convierte en una notificación que despierta la sesión. Claude especifica el comando; el arnés emite salida y entrega eventos a medida que se disparan. Vea el enlace Tareas de fondo sección para iniciar los procesos subyacentes.

Plazos (v2.1.271): cada reloj de monitor ahora lleva un plazo — como máximo 30 minutos, o 10 minutos en un solo impulso -p Cuando el plazo vence, Claude es notificado para que pueda volver a armar el reloj. Ya no hay una manera de armar un reloj que nunca se apaga.

Disponibilidad (v2.1.310): en Amazon Bedrock, Claude Platform en AWS, Google Cloud's Agent Platform, o Microsoft Foundry, o con DISABLE_TELEMETRY o CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC set, Monitor necesita Claude Code v2.1.310 o posterior. En Windows necesita Git Bash.

¿Por qué importa?

Votación con /loop o sleep quema una API completa de ida y vuelta cada ciclo, si algo ha cambiado o no. Monitor permanece en silencio hasta que un evento se dispara, consumiendo tokens cero Cuando ocurre un evento, Claude reacciona de inmediato, sin que se retrase el descubrimiento a la espera de la próxima votación. Para cualquier cosa que dure más de unos minutos, esto es más barato y rápido que los bucles de las encuestas.

Dos patrones comunes

Filtros de flujo ver salida continua desde una fuente de larga duración. El comando se ejecuta para siempre; cada línea de coincidencia es un evento.

tail -f /var/log/app.log | grep --line-buffered "ERROR"

Filtros de poll-and-emit Compruebe una fuente periódicamente y solo emita cuando algo cambie. Use esto para APIs, bases de datos o cualquier cosa sin una secuencia nativa.

last=$(date -u +%Y-%m-%dT%H:%M:%SZ)
while true; do
  gh api "repos/owner/repo/issues/123/comments?since=$last" || true
  last=$(date -u +%Y-%m-%dT%H:%M:%SZ)
  sleep 30
done

Ejemplo concreto

"Inicia mi servidor dev y monitoriza si hay errores." Claude lanza el servidor como tarea de fondo, conecta un filtro Monitor (tail -F server.log | grep --line-buffered -E "ERROR|FATAL"En el momento en que aparece una línea de error en el registro, Claude se despierta, lee el error y puede reaccionar — reiniciar el servidor, corregir el error o sacarlo a la superficie — sin tener que registrarse.

Aviso: Cuando la tubería en grep, siempre Uso grep --line-buffered. Sin ella, los buffers grep stdout en trozos 4KB, que puede retrasar eventos por minutos en corrientes de tráfico bajo. Esta es la forma #1 de Monitor rompe en la práctica — si su filtro parece silencioso cuando no debería ser, compruebe para el --line-buffered bandera primero.


Flujos de trabajo dinámicos

Nuevo en v2.1.154

Los flujos de trabajo dinámicos permiten a Claude orquestar decenas o cientos de antecedentes subagentes Deterministamente — fan-out, tuberías y etapas paralelas codificadas en un script en lugar de dejarse a la improvisación del modelo. Cuando un único agente tiene una ventana de contexto, un flujo de trabajo descompone una tarea entre muchos agentes y recombina sus resultados.

A partir de v2.1.219, flujos de trabajo dinámicos predeterminados a un Norma de tamaño medio (impuesto para menos de 10 agentes) — o a pequeño cuando usted se haya registrado en un plan Pro, desde v2.1.271. Elija otro tamaño —o sin restricciones— a través de Tamaño dinámico del flujo de trabajo en /config, o establecer el workflowSizeGuideline la clave en el archivo de configuración. La línea de estado de flujo de trabajo muestra el tamaño activo y apunta a /config para cambiarlo.

Cuándo utilizarlos

  • Cobertura general — auditoría o revisión de muchos archivos/dimensiones en paralelo.
  • Confianza — generar perspectivas independientes, después verificar contradictoriamente los resultados antes de cometerlos.
  • Escala más allá de un contexto — grandes migraciones, grandes barridos o investigaciones que ningún contexto puede sostener.

Para una tarea única que usted ya entiende, un solo agente (o una edición directa) sigue siendo la herramienta correcta — los flujos de trabajo dan sus frutos cuando los fans del trabajo se apagan.

Lanzamiento y visualización

  • Lanzamiento: pida a Claude que cree un flujo de trabajo para la tarea (por ejemplo, "ejecute un flujo de trabajo para revisar cada archivo en src/Claude escribe el guión de orquestación y lo ejecuta en segundo plano.
  • Ver: el /workflows comando muestra ejecución y completado flujo de trabajo se ejecuta con el progreso en vivo.
  • ultracode: enciéndela con el Ultracode en el /effort deslizante (Tab) o /effort ultracode [on|off] — Claude orquesta entonces flujos de trabajo dinámicos por defecto, en cualquier nivel de esfuerzo que la sesión se ejecuta en. xhigh); --effort ultracode y el agente SDK effortLevel: "ultracode" todavía set xhigh. /effort ultracode dura para el período de sesiones; establecer la ultracode clave en la configuración para iniciar cada sesión con ella (effortLevel y CLAUDE_CODE_EFFORT_LEVEL no aceptes ultracode). (A partir de v2.1.160 la palabra clave disparador es ultracode; la palabra "workflow" ya no desencadena una carrera.)

Los flujos de trabajo se basan en el modelo de subagente — véase Subagentes para determinar cómo se definen y visorizan los distintos agentes.


Tareas programadas

Las tareas programadas le permiten ejecutar las indicaciones automáticamente en un horario recurrente o como recordatorios de una sola vez. Las tareas son session-scoped — se ejecutan mientras que Claude Code está activo y se borran cuando la sesión termina. Disponible desde v2.1.72+.

"Rutines" son ahora "tareas programadas de nubes" (octubre 2026): Documentos Antrópicos renombrado Rutinas, las tareas en la nube que se crean con /schedule (alias /routines; véase más abajo), a tareas programadas en la nube (anteriormente rutinas), y llamar a la /loop y cron tareas en esta página tareas programadas con alcance de período de sesiones. El viejo nombre sobrevive en el claude.ai/code/routines URL, el /fire API y el administrador conmutar Tareas programadas (Was Rutines).

Los /loop comando

# Explicit interval
/loop 5m check if the deployment finished

# Natural language
/loop check build status every 30 minutes

Las expresiones estándar de cron de 5 campos también son compatibles para una programación precisa.

Recordatorios puntuales

Establezca recordatorios que disparen una vez en un momento específico:

remind me at 3pm to push the release branch
in 45 minutes, run the integration tests

Gestión de tareas programadas

Herramienta Descripción
CronCreate Crear una nueva tarea programada
CronList Listar todas las tareas programadas activas. Desde v2.1.136, la salida también incluye el(los) calificado(s) y el cuerpo de prompt programado, para que pueda auditar lo que cada cron ejecutará sin abrirlo.
CronDelete Eliminar una tarea programada

Límites y comportamiento- Hasta 50 tareas programadas por sesión - Session-scoped - limpiado cuando la sesión termina - Tareas recurrentes auto-expir después 3 días - Las tareas sólo disparan mientras Claude Code está funcionando.

Detalles del comportamiento

Aspecto Detalle
Agitación recurrente Hasta el 10% del intervalo (máx. 15 minutos)
Agitación de un tiro Hasta 90 segundos en los límites :00/:30
Incendios perdidos No hay puesta al día — omitió si Claude Code no estaba funcionando
Persistencia No persistió en las reinicios

Tareas programadas en la nube

Uso /schedule para crear tareas programadas en la nube que se ejecuten en infraestructura antropogénica:

/schedule daily at 9am run the test suite and report failures

Las tareas programadas en la nube persisten en los reinicios y no requieren que Claude Code se ejecute localmente. Cada ejecución comienza en modo automático a menos que el modo automático no esté disponible, por lo que un clasificador aprueba o bloquea las acciones; una ejecución todavía se detiene y espera en su sesión para obtener una respuesta cuando una regla de pregunta coincide o bloques alcanzan los umbrales de bloque repetido del modo automático.

Desactivar tareas programadas

export CLAUDE_CODE_DISABLE_CRON=1

/schedule autodesactivado por niveles de clave de API (v2.1.139): Nube /schedule no está disponible en silencio cuando cualquiera de ANTHROPIC_API_KEY, ANTHROPIC_AUTH_TOKENo bien apiKeyHelper se establece, incluso si también está conectado con claude.ai. La misma condición deshabilita Control remoto, claude.ai Conectores MCP y preferencias de notificación. Desactive la clave API (o ejecute en un nivel Pro/Max OAuth) para utilizar /schedule. Local CronCreate no se ve afectada.

Ejemplo: seguimiento de un despliegue

/loop 5m check the deployment status of the staging environment.
        If the deploy succeeded, notify me and stop looping.
        If it failed, show the error logs.

Consejo: Las tareas programadas son de sesión. Para la automatización persistente que sobrevive reinicia, utilice las tuberías CI/CD, acciones GitHub o tareas programadas de Desktop App en su lugar.


Modos de permiso

Los modos de permiso controlan las acciones que Claude puede tomar sin aprobación explícita.

Modos de permiso disponibles

Modo Comportamiento
manual Sólo lea archivos; indica para todas las demás acciones. default en el punto 2.1.200 — default sigue siendo aceptado como un alias
acceptEdits Lea y edite archivos; indica para comandos
plan Sólo lectura de archivos (modo de investigación, sin ediciones)
auto Requiere un modelo elegible (Sonnet 5 o posterior, Opus 4.7 o posterior, Haiku 5.5, o un modelo de Fable en cada proveedor; los Opus 4.6 y Sonnet 4.6 también califican en la API Antrópica y la Plataforma Claude en AWS) y el proveedor — disponible en todos los planes, ver Modo automático
bypassPermissions Todas las acciones, sin controles de permisos (peligrosos)
dontAsk Sólo se ejecutan herramientas pre-aprobadas; todas las demás negadas

Nota: El default el modo de permiso fue renombrado a Manual en v2.1.200 (a través del CLI, --help, Código VS, y JetBrains), y una insignia gris aparece en el pie de página mientras está activo (v2.1.203).--permission-mode manual y --permission-mode default trabajo, al igual que "defaultMode": "manual" y "defaultMode": "default" en la configuración. Tenga en cuenta que la clave de configuración es permissions.defaultMode — no hay permissions.mode clave, por lo que los ejemplos a continuación utilizan la ortografía canónica.

Ciclo a través de modos con Shift+Tab en el CLI. Establecer un valor predeterminado con la --permission-mode o el permissions.defaultMode configuración. Cuando no se configura ningún modo de permiso, las sesiones de terminal interactivo y código VS comienzan en modo automático en cada plan y proveedor desde v2.1.284 (v2.1.283 sólo lo hizo en proveedores de terceros como Bedrock, la plataforma de agente de Google Cloud, y Foundry, o con telemetría apagada); permissions.defaultMode todavía lo anula, y una sesión donde el modo automático no está disponible comienza en Manual en su lugar. claude -p o el agente SDK ejecutar sin ningún modo de permiso se inicia en el modo Manual (valor de configuración default) y niega las llamadas de herramienta que necesitan aprobación; pase --permission-mode (por ejemplo: auto o acceptEdits) o --allowedTools.

El modo de planificación deferió los comandos de shell al clasificador (v2.1.218): Cuando modo automático está disponible y el useAutoModeDuringPlan la configuración está activada —que es por defecto— el clasificador revisa los comandos shell durante la planificación en lugar de pedirle. Los comandos aprobados se ejecutan y los rechazados están bloqueados. El modo Plan sigue bloqueando el archivo escribe incondicionalmente.

A partir de v2.1.160, incluso acceptEdits indica antes de escribir archivos shell-startup (.zshenv, .zlogin, .bash_login, ~/.config/git/) y configs de compilación de ejecución de código (.npmrc, .yarnrc*, bunfig.toml, .bazelrc, .pre-commit-config.yaml, .devcontainer/, ...), que de otro modo podría conducir a la ejecución de órdenes no deseada.

--dangerously-skip-permissions cobertura de la trayectoria extendida (v2.1.121, v2.1.126): El --dangerously-skip-permissions Marca CLI (y equivalente bypassPermissions modo) ahora evita las solicitudes de escrituras a una lista de permisos mucho más amplia — .claude/skills/, .claude/agents/, .claude/commands/, .claude/, .git/, .vscode/, y archivos de configuración shell. Comandos de eliminación catastrófica (rm -rf /, etc.) todavía solicita en este modo — ya que v2.1.281 el prompt terminal espera 2 minutos, luego niega el comando con una pista de reescritura para que las sesiones desatendidas sigan en marcha, y desde v2.1.309 la aplicación de escritorio y el código VS lo niegan inmediatamente con esa pista (CLAUDE_CODE_DISABLE_DANGEROUS_RM_TIMEOUT=1 El modo Auto maneja estas eliminaciones de ruta crítica de la misma manera — un indicador de 2 minutos en el terminal, una negación inmediata en otro lugar — y las envía al clasificador sólo cuando se establece esa variable. rm de una trayectoria de transmisión montada, como /Volumes/USB o de WSL /mnt/c/Users recibe el mismo tratamiento incluso con un rm permitir regla; iniciar Claude Code con CLAUDE_CODE_DISABLE_MOUNTED_DRIVE_RM_PROMPT=1 para desactivar el prompt (una configuración env el bloque es ignorado). Trate la bandera como una herramienta más nítida que antes; utilícela sólo en cajas de arena de desecho.

Detección de shell de Windows (v2.1.120, v2.1.126): Git para Windows / Git Bash ya no es necesario. Cuando Git Bash está ausente, Claude Code utiliza PowerShell como la herramienta de shell. primaria shell cuando la herramienta PowerShell está activada, y la detección cubre PowerShell 7 instalado a través de Microsoft Store, MSI sin PATH, o como un .NET global tool.

Herramienta PowerShell activada por defecto en Windows para Bedrock/Vertex/Foundry (v2.1.143): Desde v2.1.143, la herramienta PowerShell es activado por defecto en Windows Para los usuarios de Bedrock, Vertex y Fundición. Claude Code invoca PowerShell con -ExecutionPolicy Bypass por lo que los scripts se ejecutan incluso si la política del sistema es Restricted. Para hacer que Claude Code honra la política de ejecución del sistema, establecer CLAUDE_CODE_POWERSHELL_RESPECT_EXECUTION_POLICY=1. Para desactivar la herramienta PowerShell por completo, set CLAUDE_CODE_USE_POWERSHELL_TOOL=0.

Métodos de activación

Acceso directo al teclado:

Shift + Tab  # Cycle default → acceptEdits → plan, then bypassPermissions/auto when available (dontAsk never appears in the cycle)

Orden de barra:

/plan                  # Enter plan mode

Bandera CLI:

claude --permission-mode plan
claude --permission-mode auto

Ajuste:

{
  "permissions": {
    "defaultMode": "auto"
  }
}

Ejemplos de modo de permiso

Modo predeterminado

Claude pide confirmación sobre acciones significativas:

User: Fix the bug in auth.ts

Claude: I need to modify src/auth.ts to fix the bug.
The change will update the password validation logic.

Approve this change? (yes/no/show)

Modo de planificación

Examinar el plan de aplicación antes de la ejecución:

User: /plan Implement user authentication system

Claude: I'll create a plan for implementing authentication.

## Implementation Plan
[Detailed plan with phases and steps]

Ready to proceed? (yes/no/modify)

Aceptar el modo de edición

Aceptar automáticamente modificaciones de archivos:

User: acceptEdits
User: Fix the bug in auth.ts

Claude: [Makes changes without asking]

Casos de uso

Revisión de código:

User: claude --permission-mode plan
User: Review this PR and suggest improvements

Claude: [Reads code, provides feedback, but cannot modify]

Programación de parejas:

User: claude --permission-mode default
User: Let's implement the feature together

Claude: [Asks for approval before each change]

Tareas automatizadas:

User: claude --permission-mode acceptEdits
User: Fix all linting issues in the codebase

Claude: [Auto-accepts file edits without asking]

Modo sin interfaz

Modo de impresión (claude -p) permite a Claude Code funcionar sin entrada interactiva, perfecto para la automatización y CI/CD. Este es el modo no interactivo, reemplazando el anterior --headless bandera.

¿Qué es el modo de impresión?

El modo de impresión permite: - Ejecución automática de scripts - Integración CI/CD - Procesamiento por lotes - Tareas programadas

Ejecutar en modo de impresión (no interactivo)

# Run specific task
claude -p "Run all tests" --permission-mode auto

# Process piped content
cat error.log | claude -p "Analyze these errors"

# CI/CD integration (GitHub Actions)
- name: AI Code Review
  run: claude -p "Review PR"

Ejemplos adicionales de uso del modo de impresión

# Run a specific task with output capture
claude -p "Run all tests and generate coverage report" --permission-mode auto

# With structured output
claude -p --output-format json "Analyze code quality"

# With input from stdin
echo "Analyze code quality" | claude -p "explain this"

Ejemplo: Integración CI/CD

Acciones de GitHub:

# .github/workflows/code-review.yml
name: AI Code Review

on: [pull_request]

jobs:
  review:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - name: Install Claude Code
        run: npm install -g @anthropic-ai/claude-code

      - name: Run Claude Code Review
        env:
          ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
        run: |
          claude -p --output-format json \
            --max-turns 3 \
            "Review this PR for:
            - Code quality issues
            - Security vulnerabilities
            - Performance concerns
            - Test coverage
            Output results as JSON" > review.json

      - name: Post Review Comment
        uses: actions/github-script@v7
        with:
          script: |
            const fs = require('fs');
            const review = JSON.parse(fs.readFileSync('review.json', 'utf8'));
            github.rest.issues.createComment({
              issue_number: context.issue.number,
              owner: context.repo.owner,
              repo: context.repo.repo,
              body: JSON.stringify(review, null, 2)
            });

Modo de impresión (claude -p) soporta varias banderas para la automatización:

# Limit autonomous turns
claude -p --max-turns 5 "refactor this module"

# Structured JSON output
claude -p --output-format json "analyze this codebase"

# With schema validation
claude -p --json-schema '{"type":"object","properties":{"issues":{"type":"array"}}}' \
  "find bugs in this code"

# Disable session persistence
claude -p --no-session-persistence "one-off analysis"

Modo seguro (asuntos)

--safe-mode (y el CLAUDE_CODE_SAFE_MODE variable de entorno, por ejemplo. CLAUDE_CODE_SAFE_MODE=1) comienza Claude Code con todas las personalizaciones deshabilitadas — CLAUDE.md, plugins, skills, hooks y servidores MCP están apagados.

# Launch with every customization disabled
claude --safe-mode

# Equivalent via environment variable
CLAUDE_CODE_SAFE_MODE=1 claude

Es una herramienta de resolución de problemas: cuando una configuración personalizada está causando problemas, inicie en modo seguro para aislar si el problema está en su configuración o en el propio Claude Code.


Gestión de las sesiones

Administrar varias sesiones de Claude Code con eficacia.

Comandos de gestión de sesiones

Comando Descripción
/resume Reanudar una conversación por ID o nombre
/rename Nombre del período de sesiones en curso
/fork [prompt] Copie la conversación en una nueva sesión de fondo independiente y siga trabajando aquí (v2.1.212+)
/subtask <task> Desperdició un subagente bifurcado que hereda la conversación completa e informa de su resultado aquí (v2.1.212+)
/branch [name] Cambiar a una copia de la conversación en este punto, conservando el original
claude -c Continuar la conversación más reciente
claude -r "session" Reanudar sesión por nombre o ID

Reanudación de las sesiones

Continuar la última conversación:

claude -c

Reanudar una sesión nombrada:

claude -r "auth-refactor" "finish this PR"

Cambiar el nombre de la sesión actual (dentro de la REPL):

/rename auth-refactor

Actualización v2.1.212: Mecanografía /resume (sin argumentos) en la vista de agente ahora abre un selector de sesiones anteriores — incluyendo las sesiones eliminadas de la lista visible — y reanuda el elegido como sesión de fondo.

Actualización v2.1.304: En los planes Pro y Max, reanudar una larga conversación inactiva que utilizaría una parte notable de su límite de uso de 5 horas muestra un ¿Reanudar esta conversación? diálogo: reanudar de todos modos, o iniciar una nueva conversación (Claude todavía puede buscar la anterior si se refiere a ella).

Períodos de sesiones de Forking y Branking

Tres comandos hacen copias de una conversación, y difieren en donde se ejecuta la copia:

/subtask <task> engendra un subagente bifurcado que hereda la conversación completa y trabaja en la tarea mientras sigues trabajando — su propia fila en claude agents, con el resultado vuelto a su conversación cuando termina:

/subtask Investigate why the auth tests are flaky

/fork [prompt] copia la conversación en una nueva período de sesiones La copia comienza con todo hasta ahora y se ejecuta de forma independiente, nada vuelve a esta conversación:

/fork Try the OAuth approach end to end

Para cambiar a una copia usted mismo en lugar de delegar en absoluto, utilice /branch [name], que conserva el original y le permite volver a él con /resume:

/branch try-oauth-instead

Nota: /fork y /subtask funciones intercambiadas en v2.1.212Antes de v2.1.161 /fork fue un alias para /branch; de v2.1.161 a v2.1.211 se inició un subagente bifurcado — el comportamiento ahora llevado por /subtaskCuando la vista del agente está apagada, /subtask no está disponible y /fork conserva el comportamiento de los subagentes bifurcados.

O bifurcación del CLI:

claude --resume auth-refactor --fork-session "try OAuth instead"

Persistencia de la sesión

Las sesiones se guardan automáticamente y se pueden reanudar:

# Continue last conversation
claude -c

# Resume specific session by name or ID
claude -r "auth-refactor"

# Resume and fork for experimentation
claude --resume auth-refactor --fork-session "alternative approach"

Autocontinuación de la limitación del uso (v2.1.234)

A partir de v2.1.234, una sesión bloqueada en un límite de uso claude.ai continúa automáticamente una vez que el límite se restablece — no es necesario volver a ejecutar manualmente. /config bajo "Continuar automáticamente en el límite de uso."

Resumen de la sesión (v.2.108)

Cuando vuelves a una sesión después de estar fuera, Claude puede mostrar un resumen breve de lo que se logró. Esto está activado por defecto para cada plan y proveedor; desconectalo de /config → Resumen de la sesión.

Telemetría de OTEL: encuesta de retroalimentación reactivable (v2.1.136+): Las organizaciones que capturan los datos de OpenTelemetry pueden volver a activar la encuesta de calidad de sesión de Anthropic estableciendo CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL=1. La encuesta está desactivada por defecto en los despliegues de OTEL porque anteriormente se había desviado de las tuberías de telemetría.

Telemetría OTEL — assistant_response evento de registro (v2.1.193+): Claude Code emite un claude_code.assistant_response Evento de registro OpenTelemetry con el texto de respuesta del modelo, permitiendo que los oleoductos OTEL capturen lo que dijo Claude junto a la telemetría existente de herramientas/eventos.

Telemetría de OTEL — Caché y atributos GenAI (v2.1.300): api_request eventos añadir cache_creation_5m_tokens/cache_creation_1h_tokens, y los lapsos llevan atributos de convenciÃ3n semántica GenAI como gen_ai.provider.name.

Telemetría OTEL — tool_decision atributos (v2.1.301): tool_decision eventos añadir classifier_verdict y permission_mode.

Telemetría OTEL — safety_event (v2.1.307): un nuevo claude_code.safety_event log event se dispara para cada llamada de la herramienta que una regla de permiso, modo automático, un control de seguridad, un hook, o el sandbox rechazado, solicitado, o enviado de vuelta, con category, decision (accept/reject/sent_back) y decision_source atributos. No lleva ningún texto de órdenes, rutas de archivo o nombres de host.

Telemetría de OTEL: atributos de unión (v2.1.310): tool_decision y tool_result eventos añadir request_id, para unirse a una llamada a su respuesta API, y los eventos de subagent parent_agent_id.

Control del comportamiento de recapitulación:

/recap                                 # manually trigger a recap
/config                                # toggle auto-recap on/off

O a través de la variable ambiente:

CLAUDE_CODE_ENABLE_AWAY_SUMMARY=0 claude   # disable recap
CLAUDE_CODE_ENABLE_AWAY_SUMMARY=1 claude   # force enable recap

Mensajería cruzada

Añadido en v2.1.224, extendido a través de v2.1.239. Disponible en macOS, Linux y (desde v2.1.239) Windows.

Las sesiones solían ser islas. La mensajería entre sesiones permite que una sesión de Claude Code hable con otra, incluidas las sesiones en sus otras máquinas y sus sesiones en la nube, para que pueda entregar una pregunta a la sesión que ya tiene el contexto correcto cargado en lugar de volver a explicarla.

Descubriendo sesiones

ListAgents lista todo lo que puede dirigir: subagentes que ha generado, otras sesiones locales en esta máquina, sus sesiones en la nube y (cuando el control remoto está conectado) sesiones en sus otras máquinas. Cada fila está etiquetada por tipo, y como v2.1.229 filas también llevan offline y cloud etiquetas para que pueda distinguir una sesión accesible de una latente.

Los nombre en cada fila es la dirección — eso es a lo que se envía.

Envío de un mensaje

SendMessage toma el objetivo y el mensaje:

SendMessage({ to: "<session name>", message: "What did you conclude about the retry logic?" })

Desde v2.1.232, un nombre desnudo es suficiente — ya no es necesario añadir un ref desambiguante a menos que dos filas compartan genuinamente el mismo nombre.

Esperando una sesión para salir (notify_when_idle, v2.1.236)

Cuando la sesión de mensajería es de mitad de tarea, normalmente quieres saber cuándo termina en lugar de hacer una encuesta. SendMessage toma un notify_when_idle entrada para exactamente eso:

SendMessage({
  to: "auth-refactor",
  message: "ping me when the migration finishes",
  notify_when_idle: true
})

Lo es opt-in y one-shot — la sesión de target envía un solo aviso la próxima vez que quede inactivo, y luego se hace la suscripción. No hay bucle electoral ni notificación repetida si la sesión vuelve a estar ocupada e inactiva.

Dos cambios relacionados con v2.1.239: ListAgents ahora también informa nombre de la sesión (por lo que una sesión puede decir a otros cómo abordarlo) junto con sus compañeros de equipo en vivo, y mensajería transversal estuvo disponible en Windows.

@-Mención taquigráfica (v2.1.223)

En lugar de llamar a la herramienta explícitamente, se puede @-menciona una sesión directamente en tu prompt para llegar a ella:

@auth-refactor did the migration tests pass?

Controlando lo que llega: crossSessionInbound

Los mensajes entrantes se rigen por el crossSessionInbound configuración (v2.1.224+):

Valor Comportamiento
"accept" Mensajes entrantes se entregan a Claude en esta sesión
"hold" Usted ve un aviso de que un mensaje llegó; no se entrega
"refuse" Los mensajes entrantes se sueltan

Los valores forman una escalera: accept < hold < refuse — y los ajustes locales y de proyecto se aplican sólo cuando son más estrictos un proyecto puede apretar la entrega entrante, nunca aflojarla. Desde v2.1.232 el ajuste también tiene un /config fila, "Mensajes de tus otras sesiones".

Alcance y límites

  • Sesiones locales en la misma máquina, además de las sesiones en la nube.
  • Sesiones de control remoto en sus otras máquinas, direccionables por nombre (v2.1.225).
  • Una sesión en la nube recibe su mensaje, pero no puede enviar un mensaje de una sesión local todavía — leer su respuesta en su propia transcripción.
  • macOS y Linux desde v2.1.224; Windows desde v2.1.239.

Características interactivas

Accesos rápidos del teclado

Claude Code admite atajos de teclado para la eficiencia. Aquí está la referencia completa de documentos oficiales:

Acceso rápido Descripción
Ctrl+C Cancelar entrada/generación actual
Ctrl+D Salir de Claude Code
Ctrl+G Editar el plan en el editor externo
Ctrl+L Redibujar la pantalla (repintar solamente — la doble prensa /clear el acceso directo fue eliminado en v2.1.238)
Ctrl+O Cambiar la salida verbose (ver razonamiento)
Ctrl+R Historial de búsqueda inverso. todos los avisos en todos los proyectos (v2.1.129+); prensa Ctrl+S dentro del selector para estrechar al proyecto actual. Versiones anteriores predeterminadas a sólo proyecto.
Ctrl+T Conmutar la vista de lista de tareas
Ctrl+B Tareas de ejecución del fondo
Esc+Esc Rebobinar el código/conversación
Shift+Tab / Alt+M Conmutar modos de permiso
Option+P / Alt+P Modelo de conmutación
Option+T / Alt+T Conmutar el pensamiento extendido
Option+O / Alt+O Conmutar el modo rápido (/fast)
Ctrl+X Ctrl+K Detener todos los subagentes de fondo
Ctrl+Enter (o Ctrl+X Ctrl+S) Enviar ahora — enviar todos los mensajes en cola a la vez. Desde v2.1.281, las herramientas en ejecución y los subagentes se mueven al fondo en lugar de cancelar el turno. Los mensajes enviados y en cola permanecen grises hasta que el modelo los recibe (v2.1.275)
Ctrl+S Stash el prompt actual; pulse de nuevo para restaurarlo
Ctrl+_ Deshacer la última edición a la entrada del prompt
: Tipo : al comienzo de una palabra para abrir el código corto de emoji, por ejemplo. :heart: (v2.1.217+)

Edición de líneas (accesos rápidos estándar de readline):

Acceso rápido Medidas adoptadas
Ctrl + A Mover a inicio de línea
Ctrl + E Mover al final de la línea
Ctrl + K Cortar hasta el final de la línea
Ctrl + U Cortar hasta el inicio de la línea
Ctrl + W Suprimir la palabra atrás
Ctrl + Y Pasta (yanque)
Tab Autocompletado
↑ / ↓ Histórico de comandos

Accesibilidad

El modo lector de pantalla (v2.1.208+) cambia el CLI a un modo de renderizado de texto plano diseñado para lectores de pantalla. Habilitelo con la bandera CLI, una variable de entorno o la axScreenReader clave en la configuración del usuario (~/.claude/settings.json), configuración administrada, o un archivo pasado con --settings — dado que Claude Code (v.2.3.105) ignora la clave, y CLAUDE_AX_* variables en una env bloque, en la configuración del proyecto y local:

claude --ax-screen-reader
export CLAUDE_AX_SCREEN_READER=1
{
  "axScreenReader": true
}

Personalizar los enlaces de teclas

Crear atajos de teclado personalizados ejecutando /keybindings, que se abre ~/.claude/keybindings.json para edición (v2.1.18+).

Formato de configuración:

{
  "$schema": "https://www.schemastore.org/claude-code-keybindings.json",
  "bindings": [
    {
      "context": "Chat",
      "bindings": {
        "ctrl+e": "chat:externalEditor",
        "ctrl+u": null,
        "ctrl+k ctrl+s": "chat:stash"
      }
    },
    {
      "context": "Confirmation",
      "bindings": {
        "ctrl+a": "confirmation:yes"
      }
    }
  ]
}

Establecer un enlace a null para desvincular un acceso directo predeterminado.

Contextos disponibles

Los enlaces clave se aplican a contextos específicos de la interfaz de usuario:

Contexto Acciones clave
Charla submit, cancel, cycleMode, modelPicker, thinkingToggle, undo, externalEditor, stash, imagePaste
Confirmación yes, no, previous, next, nextField, cycleMode, toggleExplanation
Mundial interrupt, exit, toggleTodos, toggleTranscript
Autocompletado accept, dismiss, next, previous
HistorialBuscar search, previous, next
Configuración Navegación de configuración específica del contexto
Pestañas Conmutación y gestión de pestañas
Ayuda Navegación del panel de ayuda

Hay 18 contextos en total, incluyendo Transcript, Task, ThemePicker, Attachments, Footer, MessageSelector, DiffDialog, ModelPicker, y Select.

Apoyo a los acordes

Keybindings soporta secuencias de acordes (combinaciones de múltiples teclas):

"ctrl+k ctrl+s"   → Two-key sequence: press ctrl+k, then ctrl+s
"ctrl+shift+p"    → Simultaneous modifier keys

Sintaxis de pulsación de teclas: - Modificadores: ctrl (o control), alt (o opt, option, meta), shift, y cmd (o command, super, win) — cmd es un modificador separado, no un alias de meta, y sólo se detecta en terminales que informan de la clave Super - Uppercase implica cambio: K es equivalente a shift+k - Claves especiales: escape, enter, return, tab, space, backspace, delete, teclas de flecha

Claves reservadas y en conflicto

Clave Situación Notas
Ctrl+C Reservados No puede ser rebote (interrupción)
Ctrl+D Reservados No puede ser rebote (salida)
Ctrl+B Conflicto terminal tecla prefijo tmux
Ctrl+A Conflicto terminal Tecla de prefijo de pantalla GNU
Ctrl+Z Conflicto terminal Suspensión del proceso

Consejo: Si un atajo no funciona, compruebe si hay conflictos con su emulador de terminal o multiplexor.

Terminación de pestañas

Claude Code proporciona la finalización de pestañas inteligentes:

User: /rew<TAB>
→ /rewind

User: /plu<TAB>
→ /plugin

User: /plugin <TAB>
→ /plugin install
→ /plugin enable
→ /plugin disable

Historial de comandos

Acceda a comandos anteriores:

User: <↑>  # Previous command
User: <↓>  # Next command
User: Ctrl+R  # Search history

(reverse-i-search)`test': run all tests

Entrada de varias líneas

Para consultas complejas, inicie una nueva línea con \ + Intro, Opción+Intro (macOS), Shift+Enter o Ctrl+J. No hay \end Terminator — pulse Enter para enviar:

User: Long complex prompt \
spanning multiple lines

Ejemplo

User: Implement a user authentication system \
with the following requirements: \
- JWT tokens \
- Email verification \
- Password reset \
- 2FA support

Claude: [Processes the multi-line request]

Edición en línea

Editar comandos antes de enviar:

User: Deploy to prodcution<Backspace><Backspace>uction

[Edit in-place before sending]

Modo Vim

Habilitar enlaces de teclas Vi/Vim para la edición de texto:

Activación: - Activar vía /config (conmutar "Modo Editor / Vim") o en ~/.claude/settings.json bajo editorMode: "vim". El independiente /vim se eliminó el comando slash (ver número 43370); el modo vim ahora está basado en la configuración. - Conmutación de modo con Esc para NORMAL, i/a/o para INSERT, v para VISUAL, V para la línea VISUAL (v2.1.118+)

Claves de navegación: - h / l - Mueve a la izquierda/derecha j / k - Bajar/arriba - w / b / e - Muévase por palabra. 0 / $ - Mover a la línea de inicio/final - gg / G - Saltar al principio/final del texto - % - Saltar al soporte correspondiente; combinar con d, c, y (v2.1.301)

Objetos de texto: - iw / aw - Palabra interna/alrededor i" / a" - Cordón interior / alrededor de la cita - i( / a( - Paréntesis internas/alrededor de los paréntesis

Modos visuales (v2.1.118+):

Clave Modo Comportamiento
v Visual Selección de caracteres con retroalimentación visual; extender con teclas de movimiento
V Línea visual Selección en línea; siempre selecciona líneas enteras
y Yank Copiar la selección visual actual
d / x Borrar Borrar la selección visual actual
c Cambio Eliminar selección e introducir el modo INSERT
Esc Salir Volver al modo NORMAL

Las selecciones visuales se resaltan en el campo de entrada para que pueda ver exactamente lo que será arrancado, eliminado o cambiado antes de enviar el operador.

Modo Bash

Ejecutar órdenes de shell directamente con ! prefijo:

! npm test
! git status
! cat src/index.js

Utilice esto para ejecutar órdenes rápidas sin cambiar de contexto.

Desde el v2.1.193: modo bash (!) tiene autocompletado de camino-archivo en vivo, por lo que las rutas se completan a medida que escribe su comando shell sin dejar el prompt.

Desde el v2.1.186: la salida de un ! ahora se envía automáticamente a Claude, que responde a él. Para mantener el comportamiento anterior donde la salida sólo se añade al contexto sin una respuesta, set "respondToBashCommands": false en settings.json.


Estilos de salida

Cambiar los estilos de salida cómo Claude responde, no lo que sabe. Modifican el sistema para establecer rol, tono y formato de respuesta predeterminado. Alcanza uno cuando sigues pidiendo la misma voz cada vez, o cuando quieres que Claude actúe como algo distinto a un ingeniero de software.

Para obtener instrucciones sobre su proyecto o base de código, use CLAUDE.md En lugar de ello, se trata de un mecanismo diferente con diferentes compensaciones.

Estilos incorporados

Estilo Comportamiento
Predeterminado El sistema estándar, sintonizado para completar las tareas de ingeniería de software de manera eficiente
Proactivo Claude ejecuta inmediatamente y hace suposiciones razonables en lugar de hacer pausa para decisiones rutinarias. no cambiar el modo de permiso - todavía se ven las indicaciones de permisos
Explicación Añade "Insights" educativos entre pasos, explicando opciones de implementación y patrones de base de código
Aprendizaje Claude comparte ideas de aprendizaje colaborativo. y hojas TODO(human) marcadores para que usted mismo implemente piezas pequeñas y estratégicas
Conciso (v2.1.237) Claude conduce con el resultado y omite preámbulo y narración. La agudeza no cambia, sólo se deja caer el encuadre alrededor de la respuesta. /config → Estilo de salida, o conjunto "outputStyle": "Concise"

Seleccionar un estilo

Corre /config y elegir Estilo de salida, o correr /output-style <style> para cambiar directamente — sin ningún argumento que enumera los estilos disponibles y marca el actual. De cualquier manera la selección se guarda en .claude/settings.local.jsonPara configurarlo sin el menú, edite la configuración directamente:

{
  "outputStyle": "Explanatory"
}

Nota: El independiente /output-style el comando fue desprevenido en v2.1.73 y eliminado en v2.1.91, pero en v2.1.269 y está en vivo en v2.1.278. Funciona en sesiones sin interfaz y control remoto. /config y el outputStyle La puesta en marcha sigue funcionando también.

El estilo de salida es parte del sistema prompt, que Claude Code lee una vez al inicio de la sesión. /clear o en una nueva sesión.

Estilos de salida personalizados

Un estilo personalizado es un archivo Markdown con frontmatter, guardado en uno de los tres niveles:

  • Usuario: ~/.claude/output-styles/
  • Proyecto: .claude/output-styles/
  • Política administrada: .claude/output-styles/ dentro del directorio de ajustes gestionados

Los estilos de proyecto se cargan desde cada .claude/output-styles/ entre el directorio de trabajo y la raíz de repo. A partir de v2.1.178, cuando los directorios anidados definen el mismo nombre de estilo, gana el más cercano al directorio de trabajo.

---
name: Diagrams first
description: Lead every explanation with a diagram
keep-coding-instructions: true
---

When explaining code, architecture, or data flow, start with a Mermaid diagram
showing the structure, then explain in prose.
Frontmatter Finalidad Predeterminado
name Nombre de estilo, si no es el nombre del archivo Herencias del nombre del archivo
description Se muestra en la ventana /config selector Ninguna
keep-coding-instructions Mantenga las instrucciones de ingeniería de software integradas de Claude Code false
force-for-plugin Estilos de complemento solamente: aplicar automáticamente cada vez que el plugin está activado, overriding del usuario outputStyle false

Establecer keep-coding-instructions: true cuando usted está cambiando cómo se comunica Claude, pero todavía quiere que codifica de la misma manera. Déjelo fuera cuando Claude no está haciendo ingeniería de software en absoluto — un asistente de escritura o analista de datos.

Ámbito de aplicación y costes

Los estilos de salida se aplican a la conversación principal solamente. Un subagente ejecuta su propio sistema de aviso, por lo que los estilos no cambian cómo responden los subagentes; un tenedor es la excepción, ya que hereda el sistema completo del padre.

La adición de instrucciones aumenta los tokens de entrada, aunque el caché rápido absorbe la mayor parte de eso después de la primera solicitud.

Cómo se compara

Característica Cómo funciona Úsalo cuando
Estilos de salida Modifica el sistema prompt Usted quiere un papel, tono o formato diferente cada vez
CLAUDE.md Añade un mensaje de usuario después del prompt del sistema Claude siempre debe conocer las convenciones de su proyecto
--append-system-prompt Se añade al sistema sin quitar nada Una adición única para una sola invocación
Subagentes Ejecuta con su propio sistema, modelo y herramientas Usted quiere un ayudante con alcance separado
Skills Carga instrucciones específicas de la tarea cuando se invoca Usted tiene un flujo de trabajo reutilizable

Línea de estado

La línea de estado es un comando personalizado cuya salida se renderiza en la parte inferior de la sesión. /statusline, o bien establecerlo directamente:

{
  "statusLine": {
    "type": "command",
    "command": "~/.claude/statusline.sh",
    "padding": 0
  }
}

padding valores predeterminados a 0. Claude Code canaliza un objeto JSON al comando en stdin, por lo que el script decide qué mostrar.

Campos de entrada disponibles

Grupo Campos
Sesión session_id, session_name, prompt_id, transcript_path, cwd, version
Modelo model.id, output_style.name, effort.level, fast_mode, thinking.enabled
Agente agent.name, vim.mode
Costo cost.total_cost_usd, cost.total_duration_ms, cost.total_api_duration_ms, cost.total_lines_added
Contexto context_window.context_window_size, .current_usage, .remaining_percentage, .total_input_tokens, .used_percentage
Límites rate_limits.five_hour.used_percentage, .resets_at
Repo pr.number, pr.review_state, workspace.project_dir, workspace.added_dirs, workspace.git_worktree, workspace.repo.host
Worktree worktree.name, .branch, .path, .original_branch, .original_cwd

Ejemplo

#!/bin/bash
# ~/.claude/statusline.sh — model, context usage, and cost
input=$(cat)
model=$(echo "$input" | jq -r '.model.id')
used=$(echo "$input" | jq -r '.context_window.used_percentage')
cost=$(echo "$input" | jq -r '.cost.total_cost_usd')
printf '%s | ctx %.0f%% | $%.2f' "$model" "$used" "$cost"

Nota: statusLine requiere confianza en el espacio de trabajo. COLUMNS y LINES en su entorno (v2.1.153+) para que puedan dimensionar la salida a la terminal.


Modo TUI (Pantalla completa)

Nuevo en v2.1.110

El modo TUI (Interfaz de usuario de texto) representa Claude Code en pantalla completa con salida libre de parpadeo, ideal para multiplexores terminales como paneles divididos tmux o iTerm2.

Activar el modo TUI

Conmutar los renderizadores con la /tui comando, o establecer CLAUDE_CODE_NO_FLICKER=1 antes del lanzamiento:

/tui fullscreen               # switch to fullscreen from within a session
/tui default                  # switch back to the classic renderer
CLAUDE_CODE_NO_FLICKER=1 claude  # start directly in fullscreen

Configuración

Ajuste Descripción Predeterminado
autoScrollEnabled Desplazarse automáticamente al último mensaje true

Desactivar el desplazamiento automático a través de /config o settings.json:

{
  "autoScrollEnabled": false
}

Vista de enfoque

Los /focus comando cambia la vista de enfoque — una pantalla sin distracción que muestra sólo la salida más relevante. Ctrl+O ahora alterna entre la transcripción normal y verbosa solamente (vista de enfoque es /focus).


Dictación de voz

La Dictación de Voz proporciona entrada de voz push-to-talk para Claude Code, lo que le permite hablar sus avisos en lugar de escribirlos.

Activando la dictado de voz

/voice

Características

Característica Descripción
Empujar a hablar Mantenga una llave para grabar, liberar para enviar
20 idiomas Speech-to-text admite 20 idiomas
Teclas personalizadas Configure la tecla push-to-talk vía /keybindings
Requerimiento de cuenta Requiere una cuenta Claude.ai para el procesamiento de STT

Configuración

Personaliza la unión de teclas push-to-talk en tu archivo de enlaces de teclas (/keybindings). dictado de voz utiliza su cuenta de Claude.ai para el procesamiento de voz a texto.


Canales

Channels es una función de Previsualización de Investigación que empuja eventos de servicios externos a una sesión de Claude Code en ejecución a través de servidores MCP. Fuentes incluyen Telegram, Discord, iMessage y webhooks arbitrarios, permitiendo a Claude reaccionar a notificaciones en tiempo real sin encuestas.

Auth (v2.1.128+): --channels ahora trabaja con Pro/Max OAuth y Autenticación de la clave de API (consola). Las versiones anteriores requerían OAuth.

Suscribirse a los canales

# Subscribe to a channel plugin at startup
claude --channels plugin:telegram@claude-plugins-official

# Subscribe to multiple sources (space-separated)
claude --channels plugin:discord@claude-plugins-official plugin:telegram@claude-plugins-official

Integraciones apoyadas

Integración Descripción
Discord Recibir y responder a los mensajes de Discord en su sesión
Telegrama Recibir y responder a los mensajes de Telegram en su sesión
iMessage Recibir notificaciones de iMessage en su sesión
Hooks web Recibir eventos de fuentes arbitrarias de webhook

Configuración

Configurar canales con la --channels marque en el inicio. Para las implementaciones empresariales, utilice la configuración administrada para controlar qué plugins de canal están permitidos:

{
  "channelsEnabled": true,
  "allowedChannelPlugins": [
    { "marketplace": "claude-plugins-official", "plugin": "discord" },
    { "marketplace": "claude-plugins-official", "plugin": "telegram" }
  ]
}

Los allowedChannelPlugins control de configuración gestionado que los plugins de canal están permitidos en toda la organización. Reemplaza el lista de permisos Antrópica-mantenido y requiere channelsEnabled: true.

Cómo funciona

  1. Los servidores MCP actúan como complementos de canal que se conectan a servicios externos
  2. Los mensajes entrantes y los eventos son introducidos en la sesión activa de Claude Code
  3. Claude puede leer y responder a los mensajes en el contexto de la sesión
  4. Los plugins de canal deben estar en el lista de permisos Antrópicos mantenidos, o en la organización de su organización allowedChannelPlugins lista cuando un administrador establece una
  5. No se requiere votación: los eventos se desplazan en tiempo real

Integración de Chrome

La integración de Chrome conecta Claude Code a su navegador Chrome o Microsoft Edge para la automatización y depuración web en vivo. Esta es una función beta disponible desde v2.0.73+ (requiere Claude en la extensión de Chrome v1.0.36+).

Habilitando la integración de Chrome

Al iniciar:

claude --chrome      # Enable Chrome connection
claude --no-chrome   # Disable Chrome connection

En un período de sesiones:

/chrome

Seleccione "Habilitado por defecto" para activar la integración de Chrome para todas las sesiones futuras. Claude Code comparte el estado de inicio de sesión de su navegador, para que pueda interactuar con aplicaciones web autenticadas.

Nota: Desde v2.1.290 , los archivos de configuración de un proyecto no puede activar la integración de Chrome - utilizar --chrome, /chrome, o su configuración de usuario.

Capacidades

Capacidad Descripción
Depuración en vivo Leer registros de consola, inspeccionar elementos DOM, depurar JavaScript en tiempo real
Verificación del diseño Comparar páginas renderizadas con maquetas de diseño
Validación de formularios Envíos de formularios de prueba, validación de entradas y manejo de errores
Pruebas de aplicaciones web Interactúe con aplicaciones autenticadas (Gmail, Google Docs, Notion, etc.)
Extracción de datos Raspa y procesa el contenido de las páginas web
Grabación de la sesión Registrar las interacciones del navegador como archivos GIF

Permisos a nivel del sitio

La extensión de Chrome gestiona el acceso por sitio. Conceder o revocar el acceso para sitios específicos en cualquier momento a través de la extensión emergente. Claude Code sólo interactúa con los sitios que ha permitido explícitamente.

Cómo funciona

Claude Code controla el navegador en una ventana visible — puede ver las acciones que ocurren en tiempo real. Cuando el navegador encuentra una página de inicio de sesión o CAPTCHA, Claude se detiene y espera a que lo maneje manualmente antes de continuar.

Limitaciones conocidas

  • Soporte del navegador: Chrome y Edge ; Claude Code también se conecta en otros navegadores basados en cromo como Brave , Arco , Vivaldi , y Opera
  • WSL: No disponible en el subsistema de Windows para Linux
  • Terceros proveedores: No es compatible con proveedores de API de Bedrock, Vertex o Foundry
  • Trabajador de servicio inactivo: El trabajador del servicio de extensión de Chrome puede ir inactivo durante las sesiones prolongadas

Consejo: La integración de Chrome es una característica beta. El soporte del navegador puede expandirse en versiones futuras.


Control remoto

Control remoto le permite continuar una sesión de Claude Code que se ejecuta localmente desde su teléfono, tableta o cualquier navegador. Su sesión local sigue ejecutándose en su máquina — nada se mueve a la nube. Disponible en los planes Pro, Max, Equipo y Enterprise (v2.1.51+). Si los roles personalizados de Enterprise gobiernan su acceso, necesita un rol con el permiso de sesiones de nube y el Control remoto de Claude Code permiso.

El control remoto es ya no es una vista previa de la investigación — la etiqueta fue retirada en la semana 34 de 2026. claude remote-control ahora aparece como un tarjeta de dispositivo en la pestaña Código de la aplicación Claude, para que pueda iniciar una sesión en esa máquina directamente desde su teléfono en lugar de tener que iniciar primero una en la máquina y luego conectarse a ella.

Inicio del control remoto

Del CLI:

# Start with default session name
claude remote-control

# Start with a custom name
claude remote-control --name "Auth Refactor"

De dentro de una sesión:

/remote-control
/remote-control "Auth Refactor"

Banderas disponibles:

Bandera Descripción
--name "title" Título de sesión personalizado para una fácil identificación
--verbose Mostrar registros de conexión detallados

Nota (v2.1.300): claude remote-control ya no acepta --sandbox o --no-sandbox (nunca tuvieron un efecto; pasar cualquiera de las dos salidas ahora con un error). Para sandbox Remote Control sesiones, establecer sandbox.enabled en un archivo de configuración.

Conexión a una sesión

Tres maneras de conectarse desde otro dispositivo:

  1. URL de sesión — Impreso en el terminal cuando se inicia la sesión; abierto en cualquier navegador
  2. Código QR — Prensa spacebar después de comenzar a mostrar un código QR escaneable
  3. Buscar por nombre — Consulte sus sesiones en claude.ai/code o en la aplicación móvil de Claude (iOS/Android)

Seguridad

  • No hay puertos de entrada abierto en su máquina
  • Sólo HTTPS salientes sobre TLS
  • Credenciales alcance — múltiples fichas de corta duración y de alcance limitado
  • Aislamiento de sesión — cada sesión a distancia es independiente

Control remoto vs Claude Code en la web

Aspecto Control remoto Claude Code en la Web
Ejecución Ejecuta en su máquina Ejecuta en la nube Antrópica
Herramientas locales Acceso completo a servidores MCP locales, archivos y CLI No hay dependencias locales
Caso de uso Continuar el trabajo local desde otro dispositivo Empezar de nuevo desde cualquier navegador

Limitaciones

  • Una sesión remota por proceso interactivo de Claude Code — modo servidor (claude remote-control) sirve varios a la vez (--capacity, por defecto 32)
  • Terminal debe permanecer abierto en la máquina anfitriona
  • Si la red es inalcanzable, el modo servidor sale después de ~10 minutos; una sesión interactiva continúa intentando y reconectando cuando la red regresa

Casos de uso

  • Controle Claude Code desde un dispositivo móvil o tableta mientras esté lejos de su escritorio
  • Utilice la interfaz de usuario claude.ai más rica mientras mantiene la ejecución de herramientas locales
  • Comentarios de código rápido en marcha con su entorno de desarrollo local completo

Notificaciones push (v2.1.110)

Cuando el control remoto está activo y "Empuje cuando Claude decida" está activado en /config, Claude puede enviar notificaciones móviles push a su teléfono, por ejemplo, cuando una tarea larga se completa o necesita su entrada.

Para activar: 1. Activar control remoto: /remote-control o claude --rc 2. Abierto /config y habilitar Empuja cuando Claude decida

Las notificaciones push requieren una suscripción a Claude y la aplicación móvil de Claude.

Desactivación del control remoto (disableRemoteControl, v2.1.128+)

Los administradores en los planes de equipo o Enterprise pueden bloquear el control remoto por completo con el disableRemoteControl ajuste. Cuando true, ambos claude remote-control y /remote-control se niegan a empezar.

{
  "disableRemoteControl": true
}

El escenario es honrado en el managed/policy ámbito de aplicación (por ejemplo, /Library/Application Support/ClaudeCode/managed-settings.json en macOS) por lo que no puede ser anulado por usuarios individuales. Útil cuando la ejecución sólo local debe ser impuesta a toda la organización.

Cuando el control remoto se desactiva automáticamente por niveles de clave API (v2.1.139): El control remoto es inhabilitada silenciosamente siempre que se establezca cualquiera de estas opciones, incluso si estás conectado simultáneamente con claude.ai:

  • ANTHROPIC_API_KEY
  • ANTHROPIC_AUTH_TOKEN
  • apiKeyHelper (settings.json)

La misma condición deshabilita /schedule, los conectores MCP claude.ai y las preferencias de notificación — las cuatro superficies puente-claude.ai están cerradas en el login OAuth siendo la credencial activa. Desactive la clave API (o ejecute en un nivel Pro/Max OAuth) para usar estas características.


Sesiones en la Web

Las sesiones web le permiten ejecutar Claude Code directamente en el navegador en claude.ai/code, o crear sesiones web desde el CLI.

Crear una sesión web

# Create a new web session from the CLI
claude --cloud "implement the new API endpoints"   # --remote is a deprecated alias

Esto inicia una sesión de Claude Code en claude.ai a la que puedes acceder desde cualquier navegador.

Reanudación de sesiones web a nivel local

Si usted comenzó una sesión en la web y quiere continuar localmente:

# Resume a web session in the local terminal — opens a picker of your web sessions
claude --teleport

O desde dentro de una REPL interactiva:

/teleport

/tp es un alias para /teleport. Ambas requieren una suscripción claude.ai. Las sesiones en la nube muestran un /teleport A continuación se explica cómo continuar localmente (v2.1.223).

fuente de cambios: el registro de cambios v2.1.223 muestra una forma de argumento, claude --teleport <session id>, que salta directamente a una sesión conocida. La referencia CLI documentos sólo el formulario de selección desnudo, por lo que prefiere claude --teleport a menos que ya tengas una identificación de sesión en la mano.

Casos de uso

  • Comience a trabajar en una máquina y continúe en otra
  • Compartir una URL de sesión con los miembros del equipo
  • Utilice la interfaz de usuario web para la revisión visual de diff, y luego cambie a terminal para su ejecución

Aplicación de escritorio

La aplicación Claude Code Desktop ofrece una aplicación independiente con revisión visual de diferencias, sesiones paralelas y conectores integrados. Disponible para macOS y Windows (planes Pro, Max, Team y Enterprise).

Instalación

Descargar desde claude.ai para su plataforma: - macOS: Construcción universal (Apple Silicon e Intel) - Windows: instaladores x64 y ARM64 disponibles

Ver la Inicio rápido del escritorio para las instrucciones de instalación.

La entrega de CLI

Transfiera su sesión CLI actual a la aplicación de escritorio:

/desktop

Características básicas

Característica Descripción
Vista diff Revisión visual archivo por archivo con comentarios en línea; Claude lee comentarios y revisa
Vista previa de la aplicación Inicia automáticamente servidores dev con un navegador integrado para la verificación en vivo
Supervisión de las relaciones públicas Corrección automática ha corregido Claude las comprobaciones de IC y los comentarios de revisión que han fallado; Fusionar cuando esté listo activa GitHub auto-merge (squash en sesiones locales a menos que la rama base use una cola de fusión). ⋮ menú de la solicitud de tirón en la sesión Cambios tarjeta
Sesiones paralelas Múltiples sesiones en la barra lateral con aislamiento automático Git worktree
Tareas programadas Tareas recurrentes (horarias, diarias, días laborables, semanales) que se ejecutan mientras la aplicación está abierta
Renderizado rico Code, markdown y representación de diagramas con resaltado de sintaxis; casillas de verificación de lista de tareas GitHub-Flavored-Markdown (- [ ] / - [x]) renderizar como casillas de verificación (v2.1.149+)

Configuración de la vista previa de la aplicación

Configurar el comportamiento del servidor dev en .claude/launch.json:

{
  "version": "0.0.1",
  "configurations": [
    {
      "name": "my-app",
      "runtimeExecutable": "npm",
      "runtimeArgs": ["run", "dev"],
      "port": 3000
    }
  ]
}

Conectores

Conecte servicios externos para un contexto más rico:

Conector Capacidad
GitHub Supervisión de relaciones públicas, seguimiento de problemas, revisión del código
Slack Notificaciones, contexto de canal
Lineal Seguimiento de problemas, gestión de las huellas dactilares
Noción Documentación, acceso a la base de conocimientos
Asana Gestión de tareas, seguimiento de proyectos
Calendario Programar el conocimiento, contexto de la reunión

Nota: Los conectores no están disponibles para sesiones remotas (nube).

Sesiones remotas y SSH

  • Sesiones a distancia: Ejecutar en la infraestructura de nube Antrópica; continuar incluso cuando la aplicación está cerrada. Accesible desde claude.ai/code o la aplicación móvil Claude
  • Sesiones SSH: Conecte a máquinas remotas a través de SSH con acceso completo al sistema de archivos remoto y herramientas. Claude Code debe ser instalado en la máquina remota

Modos de permiso en el escritorio

La aplicación de escritorio admite los mismos modos de permiso que el CLI:

Modo Comportamiento
Manual (por defecto) Revisar y aprobar cada edición y comando
Aceptar ediciones El archivo edita auto-aprobado; los comandos requieren aprobación manual
Plan Enfoque de revisión antes de que se introduzcan cambios
Auto Se ejecuta sin indicaciones de rutina; primero un clasificador de fondo comprueba las acciones
Permisos de bypass Ejecución automática (sólo caja de arena, controlada por el administrador)

Características empresariales

  • Consola de administración: Configuración de acceso a la pestaña Código de control y permisos para la organización
  • Despliegue del MDM: Implementar MDM en macOS o MSIX en Windows
  • Integración de los OSS: Requerir un solo inicio de sesión para los miembros de la organización
  • Configuración administrada: Administrar centralmente la configuración del equipo y la disponibilidad del modelo

Lista de tareas

La función Lista de tareas proporciona seguimiento de tareas persistentes que sobrevive a compactaciones de contexto (cuando el historial de conversación se recorta para adaptarse a la ventana de contexto).

Configurando la lista de tareas

Prensa Ctrl+T para activar o desactivar la vista de la lista de tareas durante una sesión.

Tareas persistentes

Las tareas persisten a través de compactaciones de contexto, asegurando que los elementos de trabajo de larga duración no se pierdan cuando se recorta el contexto de conversación. Esto es particularmente útil para implementaciones complejas y de múltiples pasos.

Directorios de tareas designados

Usar la CLAUDE_CODE_TASK_LIST_ID variable de entorno para crear directorios de tareas nombrados compartidos entre las sesiones:

export CLAUDE_CODE_TASK_LIST_ID=my-project-sprint-3

Esto permite que varias sesiones compartan la misma lista de tareas, lo que la hace útil para los flujos de trabajo de equipo o proyectos multisesión.


Sugerencias prontas

Prompt Suggests muestra comandos de ejemplo grisizados basados en tu historial de git y contexto de conversación actual.

Cómo funciona

  • Las sugerencias aparecen como texto en gris debajo de su prompt de entrada
  • Prensa Tab aceptar la sugerencia
  • Prensa Enter aceptar y presentar inmediatamente
  • Las sugerencias son conscientes del contexto, a partir de la historia de git y el estado de conversación

Inhabilitar sugerencias prompt

export CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION=false

Git Worktrees

Git Worktrees le permite iniciar Claude Code en un árbol de trabajo aislado, permitiendo el trabajo paralelo en diferentes ramas sin ocultar o cambiar.

Empezando en un árbol de trabajo

# Start Claude Code in an isolated worktree
claude --worktree
# or
claude -w

Ubicación de Worktree

Los árboles de trabajo se crean en:

<repo>/.claude/worktrees/<name>

Escaso checkout para Monorepos

Usar la worktree.sparsePaths configuración para realizar una baja comprobación en monorepos, reduciendo el uso del disco y el tiempo de clonado:

{
  "worktree": {
    "sparsePaths": ["packages/my-package", "shared/"]
  }
}

Sucursal de base (worktree.baseRef)

worktree.baseRef (adicionado v2.1.133) — control de si claude --worktree sucursales de origin/<default> o local HEAD.

  • "fresh" (por defecto) — sucursal de origin/<default-branch>, ignorando los compromisos locales sin pushed. Esto revierte el comportamiento introducido en v2.1.128, por lo que los usuarios que confiaron en la rama local-HEAD después de v2.1.128 debe volver a entrar.
  • "head" — sucursal de locales HEAD, conservando los compromisos sin puré.

Establecer ~/.claude/settings.json:

{ "worktree": { "baseRef": "head" } }

Aislamiento de la sesión de fondo (worktree.bgIsolation)

worktree.bgIsolation (añadido v2.1.143) — controla si las sesiones de fondo (por ejemplo, desde /bg, claude --bg, o la vista de agente) obtener su propio árbol de trabajo o editar la copia de trabajo de primer plano directamente.

  • (por defecto) — las sesiones de fondo crean un worktree aislado bajo <repo>/.claude/worktrees/, de la misma manera --worktree Sí.
  • "none" — las sesiones de fondo editan la copia de trabajo actual directamente. Utilice esto cuando los árboles de trabajo no son prácticos (por ejemplo, artefactos nativos pesados) o cuando un agente de fondo debe coordinar las ediciones con la sesión de primer plano.
{ "worktree": { "bgIsolation": "none" } }

Negociaciones "none" elimina la red de seguridad del aislamiento worktree: las ediciones simultáneas de las sesiones de fondo y primer plano pueden producir conflictos de fusión en la copia de trabajo en directo.

Herramientas y hooks de árbol de trabajo

Tema Descripción
EnterWorktree Herramienta para entrar en un árbol de trabajo; a partir de v2.1.157 se puede cambiar entre árboles de trabajo gestionados por Claude mediados de la sesión
ExitWorktree Herramienta para salir y limpiar el árbol de trabajo actual
WorktreeCreate Evento de hook cuando se crea un árbol de trabajo
WorktreeRemove Evento de hook disparado cuando se elimina un árbol de trabajo

A partir de v2.1.157, los árboles de trabajo gestionados por Claude se dejan desbloqueados cuando el agente termina, así que git worktree remove/prune puede limpiarlos.

Auto-limpieza

Al salir de una sesión interactiva de Worktree y el worktree no tiene cambios, Claude lo elimina y su rama automáticamente (una sesión con nombre pregunta primero). Si tiene cambios o nuevos commits, u otra rama con nuevos commits se selecciona en él (desde v2.1.304), Claude pregunta si guardarlo o eliminarlo. No interactivo -p las carreras dejan sus árboles de trabajo en su lugar.

Casos de uso

  • Trabajar en una rama de características mientras mantiene intacta la rama principal
  • Ejecutar pruebas de forma aislada sin afectar al directorio de trabajo
  • Pruebe cambios experimentales en un entorno desechable
  • Paquetes específicos de escaso control en monorepos para un inicio más rápido

Caja de arena

Sandboxing proporciona sistema de archivos a nivel OS y aislamiento de red para comandos Bash ejecutados por Claude Code. Esto es complementario a las reglas de permisos y proporciona una capa de seguridad adicional.

Habilitar el sandboxing

Orden de barra (ahorra su elección a .claude/settings.local.json para este proyecto):

/sandbox

Configuración del archivo (todos los proyectos): "sandbox": { "enabled": true } en ~/.claude/settings.json.

Por período de sesiones, sin escribir un archivo de configuración:

claude --settings '{"sandbox": {"enabled": true}}'

No hay claude --sandbox / --no-sandbox bandera. Desde v2.1.300, pasándolos a claude remote-control sale con un error.

Configuración

Ajuste Descripción
sandbox.enabled Activar o desactivar el sandboxing
sandbox.failIfUnavailable Fallo si el sandboxing no puede ser activado
sandbox.filesystem.allowWrite Rutas permitidas para el acceso de escritura
sandbox.filesystem.allowRead Rutas permitidas para el acceso de lectura
sandbox.filesystem.denyRead Rutas denegadas para el acceso de lectura
sandbox.network.allowedDomains Dominios Procesos lanzados por Bash se permiten alcanzar (apoyos *. comodín)
sandbox.network.deniedDomains Dominios a bloquear incluso cuando allowedDomains De lo contrario, el comodín les permitiría (v2.1.113+)
sandbox.network.strictAllowlist (v2.1.219) Denegar hosts no admitidos para comandos sandboxed sin indicar
sandbox.enableWeakerNetworkIsolation Activar aislamiento de red más débil en macOS
sandbox.bwrapPath (v2.1.133+, Linux/WSL) bubblewrap binario. Predeterminado: $PATH Busca.
sandbox.socatPath (v2.1.133+, Linux/WSL) socat binario. Predeterminado: $PATH Busca.
sandbox.credentials (v2.1.187+) Bloquear comandos sandboxed de la lectura de archivos credenciales y variables de entorno secretas.
sandbox.allowAppleEvents (v2.1.181+, macOS) Opte para permitir que los comandos arenosos envíen eventos de Apple.
sandbox.filesystem.disabled (v2.1.216+) Saltar completamente el aislamiento del sistema de archivos mientras se mantiene el aislamiento de la red impuesto — útil cuando el sandboxing de archivos rompe herramientas, pero el control de salida de red debe permanecer activo. --settings; la configuración del proyecto no puede configurarlo.
sandbox.excludedCommands Patrones de comandos en Bash(...) sintaxis de reglas, como "docker compose *", que se ejecuta fuera de la caja de arena y pasar por el flujo de permisos regular. Desde v2.1.309, mientras que la caja de arena está habilitado pero no puede ejecutar, se le pregunta antes de escribir en las rutas de lista de escritura de la caja de arena
sandbox.allowNestedUserNamespaces (v2.1.305+, Linux/WSL2) Deje que los comandos sandboxed creen espacios de nombres de usuario (cajas de arena de cromo/electrón, burbujas anidadas, unshare). Esto desactiva un límite de seguridad; honrado sólo desde la configuración del usuario o administrado o --settings. Para Podman sin raíces, use excludedCommands en su lugar

Rutas binarias Linux/WSL (v2.1.133+) — punto Claude Code en lugares de instalación no estándar:

{
  "sandbox": {
    "bwrapPath": "/opt/bubblewrap/bin/bwrap",
    "socatPath": "/opt/socat/bin/socat"
  }
}

Ejemplo de deniedDomains sobresaliendo un comodín amplio (v2.1.113+):

{
  "sandbox": {
    "network": {
      "allowedDomains": ["*.example.com"],
      "deniedDomains": ["evil.example.com"]
    }
  }
}

El comodín lo deja todo encendido example.com a través, pero deniedDomains sigue bloqueando el host específicamente llamado.

Nota (v2.1.243): el prompt de permisos de la herramienta Bash con caja de arena ya no lista los hosts de red permitidos. Claude simplemente intenta la solicitud, y usted aprueba cada nuevo host a medida que se presenta, así que no espere que el aviso para mostrar el lista de permisos por adelantado. La misma versión también dejó de soltar detalles de la red-violación cuando el comando bloqueado sucede a salir 0, por lo que un éxito de apariencia silenciosa ahora todavía reporta lo que fue bloqueado.

Enmascaramiento de credenciales (v2.1.221, v2.1.224)

fuente de cambios: estos sandbox.credentials Las opciones vienen de las entradas del registro de cambios v2.1.221 y v2.1.224; la referencia de configuración aún no las detalla.

Antes de v2.1.221, sandbox.credentials sólo podría deny un archivo de credencial — una orden sandboxed que necesitaba la credencial simplemente falló. mode: "mask" mantiene el comando funcionando sin exponer el secreto: el proceso de caja de arena lee un centinela copia del archivo, y el proxy sandbox sustituye el valor real en la salida a la red.

{
  "sandbox": {
    "network": { "tlsTerminate": true },
    "credentials": {
      "files": [
        { "path": "~/.aws/credentials", "mode": "mask" }
      ]
    }
  }
}
Capacidad Desde Lo que hace
mode: "mask" para la acreditación archivos v2.1.221 Los comandos Sandboxed leen un centinela; el proxy se intercambia en el valor real en la salida. Sólo Linux y WSL — en el enmascaramiento de archivo macOS cae de nuevo a deny.
extract / onExtractNoMatch v2.1.224 Enmascarar un campo dentro de un valor de entorno estructurado en lugar de toda la variable, y decidir qué sucede cuando el patrón no coincide.
decode: "jwt" con maskClaims v2.1.224 Decodificar un JWT y enmascarar sólo las afirmaciones nombradas, dejando el resto legible.
awsPairs / sigv4 v2.1.224 Volver a firmar las peticiones AWS SigV4 en el proxy después de sustituir la clave de acceso real.

Dos limitaciones que son fáciles de pasar por alto:

  • Todo enmascaramiento requiere network.tlsTerminate — el proxy tiene que ver dentro de la solicitud para sustituir el valor.
  • Estas opciones son honradas. solo desde la configuración del usuario, la configuración administrada, o --settings. La configuración del proyecto no puede encender el enmascaramiento o cambiar lo que se enmascara.

Configuración del ejemplo

{
  "sandbox": {
    "enabled": true,
    "failIfUnavailable": true,
    "filesystem": {
      "allowWrite": ["/Users/me/project"],
      "allowRead": ["/Users/me/project", "/usr/local/lib"],
      "denyRead": ["/Users/me/.ssh", "/Users/me/.aws"]
    }
  }
}

Cómo funciona

  • Los comandos Bash se ejecutan en un entorno sandboxed con acceso restringido al sistema de archivos
  • El acceso a la red se puede aislar para evitar conexiones externas no deseadas
  • Trabaja junto a las reglas de permisos para la defensa en profundidad
  • En macOS, Cinturón bloquea todas las conexiones de red excepto la del proxy de caja de arena; sandbox.enableWeakerNetworkIsolation se debilita que el aislamiento y es sólo para herramientas como Go CLI detrás de un MITM httpProxyPort proxy

Casos de uso

  • Ejecución segura de código no confiable o generado
  • Prevención de modificaciones accidentales en archivos fuera del proyecto
  • Limitación del acceso a la red durante las tareas automatizadas

Configuración administrada (empresa)

Las configuraciones administradas permiten a los administradores empresariales implementar la configuración de Claude Code en toda una organización utilizando herramientas de gestión nativas de plataformas.

Métodos de despliegue

Plataforma Método Desde
macOS Archivos de plist gestionados (MDM) v2.1.51+
Windows Registro de Windows v2.1.51+
Plataforma cruzada Archivos de configuración gestionados v2.1.51+
Plataforma cruzada Controlado de caídas (managed-settings.d/ directorio) v2.1.83+

Abandonos gestionados

Desde v2.1.83, los administradores pueden implementar varios archivos de configuración gestionados en un managed-settings.d/ directorio. Los archivos se fusionan en orden alfabético, lo que permite la configuración modular entre los equipos. managed-settings.json en el directorio del sistema (/Library/Application Support/ClaudeCode/ en macOS, /etc/claude-code/ en Linux, C:\Program Files\ClaudeCode\ en Windows):

/etc/claude-code/managed-settings.d/
  00-org-defaults.json
  10-team-policies.json
  20-project-overrides.json

Configuración administrada disponible

Ajuste Descripción
permissions.disableBypassPermissionsMode Establecer a "disable" para evitar que los usuarios permitan permisos de bypass
availableModels Restringir qué modelos los usuarios pueden seleccionar
enforceAvailableModels (v.2.175) Cuando true, el availableModels allowlist también limita la Predeterminado modelo — si el valor predeterminado configurado no está en la lista, Claude Code vuelve al primer modelo permitido. La configuración del usuario y del proyecto ya no puede ampliar una gestión availableModels lista.
allowedChannelPlugins Control de los complementos de canal permitidos
autoMode.environment Configurar la infraestructura de confianza para el modo automático
workflowSizeGuideline (v2.1.219) Establecer el asesoramiento guía de tamaño dinámico del flujo de trabajo. Se puede leer desde cualquier archivo de configuración, no sólo la configuración administrada; mientras que uno lo establece, el Tamaño dinámico del flujo de trabajo la fila está ocultada de /config
wslInheritsWindowsSettings Solo Windows/WSL (v2.1.118+): cuando true, Claude Code corriendo dentro de WSL hereda la configuración administrada del host de Windows, por lo que las políticas empresariales implementadas a través de Registry/MDM aplican uniformemente en Windows y WSL shells
parentSettingsBehavior (v2.1.133+, admin-tier) Controla cómo el SDK managedSettings se fusiona con la configuración del proceso padre. "first-wins" mantiene la precedencia existente (ganas de ajuste anteriores en los conflictos); "merge" - Los valores de fusión profunda.
Políticas personalizadas Políticas de permisos y herramientas específicas de la organización

Ejemplo: macOS Plist

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
  "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>permissions</key>
  <dict>
    <key>disableBypassPermissionsMode</key>
    <string>disable</string>
  </dict>
  <key>availableModels</key>
  <array>
    <string>claude-sonnet-4-6</string>
    <string>claude-haiku-4-5</string>
  </array>
</dict>
</plist>

Configuración y configuración

Ubicaciones de archivos de configuración

  1. Configuración del usuario: ~/.claude/settings.json
  2. Configuración del proyecto: .claude/settings.json (chequeado)
  3. Configuración local del proyecto: .claude/settings.local.json (no se registró)
  4. Configuración administrada: managed-settings.json en el directorio del sistema (ver Configuración administrada)

Ejemplo de configuración completo

Configuración de características avanzadas básicas (.claude/settings.json):

{
  "permissions": {
    "defaultMode": "manual"
  },
  "hooks": {
    "PreToolUse": [
      { "matcher": "Edit", "hooks": [{ "type": "command", "command": "~/.claude/hooks/eslint-fix.sh" }] }
    ],
    "PostToolUse": [
      { "matcher": "Write", "hooks": [{ "type": "command", "command": "~/.claude/hooks/security-scan.sh" }] }
    ]
  }
}

Los scripts de hook reciben la entrada de la herramienta como JSON en stdin (por ejemplo tool_input.file_path); no hay ${file_path} sustitución. Los servidores MCP no son una clave de configuración — definirlos en .mcp.json en la raíz del proyecto:

{
  "mcpServers": {
    "github": {
      "type": "http",
      "url": "https://api.githubcopilot.com/mcp/",
      "headers": { "Authorization": "Bearer ${GITHUB_PERSONAL_ACCESS_TOKEN}" }
    }
  }
}

Ejemplo de configuración extendida:

{
  "permissions": {
    "defaultMode": "manual",
    "allow": ["Bash(git log:*)", "Read"],
    "deny": ["Bash(rm -rf:*)"]
  },

  "hooks": {
    "PreToolUse": [{ "matcher": "Edit", "hooks": [{ "type": "command", "command": "~/.claude/hooks/eslint-fix.sh" }] }],
    "PostToolUse": [{ "matcher": "Write", "hooks": [{ "type": "command", "command": "~/.claude/hooks/security-scan.sh" }] }],
    "Stop": [{ "hooks": [{ "type": "command", "command": "~/.claude/hooks/notify.sh" }] }]
  }
}

El servidor GitHub MCP para esta configuración entra .mcp.json, como se muestra anteriormente.

Configuración adicional por usuario

Estas llaves van en ~/.claude/settings.json (o un proyecto) .claude/settings.json) y controlar el comportamiento interactivo para el usuario individual:

Ajuste Descripción
askUserQuestionTimeout Continuar automáticamente con una respuesta AskUserQuestion diálogo después de un intervalo de inactividad. A partir de v2.1.200 Los diálogos ya no se auto-continuan por defecto; establece esto para volver a optar por la auto-continuación cronometrada.
enableArtifact Habilitar/desactivar por usuario la herramienta Artifact (v2.1.196).
crossSessionInbound (v2.1.224) Cómo entrar mensajes entre sesiones se manipulen — "accept", "hold"o bien "refuse". Los valores locales y de los proyectos se aplican sólo cuando más estrictos sobre la accept < hold < refuse escalera. Expuesta en /config como "Mensajes de sus otras sesiones" desde v2.1.232.
dialogExpiry (v2.1.224) Cuánto tiempo permanece abierto un diálogo sin respuesta. "5m"; acepta "60s", "5m", "10m"o bien "never". Derogado por CLAUDE_CODE_USER_DIALOG_TIMEOUT_MS. Expuesta en /config como "Expiración de diálogo" desde v2.1.232.
modelPicker (v2.1.243) Elija qué modelos /model selector de listas, en su propio orden y con sus propias etiquetas. Una de las pocas configuraciones que reemplaza en lugar de fusionar entre las capas de configuración: el valor del alcance más cercano gana de plano.
promptCacheTtl (v2.1.243) Elija la vida útil de la memoria caché para la conversación principal.
subagentPromptCacheTtl (v2.1.243) La misma opción para los subagentes y otras peticiones fuera de la conversación principal.
modelPricing (v2.1.243) Ajuste manejado. Suministra las tarifas contratadas de su organización para /cost, la línea de estado, y telemetría reportan los en lugar de precio de lista.
keybindingFlavor Depreciado desde v2.1.261 y no tiene efecto. Las claves de edición de palabras del prompt siempre siguen las convenciones de readline, como Bash hace: Ctrl+W elimina de nuevo al espacio en blanco, Alt+F y Alt+D stop al final de la palabra, y puntuación separa las palabras. Claude Code todavía acepta la clave, por lo que un archivo de configuración que establece que sigue siendo válida. (En v2.1.238–v2.1.260 eligió entre "classic" y "readline".)
spellcheck (v2.1.235) Subraya palabras mal escritas en la entrada rápida utilizando cualquiera de las aspell, hunspello bien ispell está en su PATH, probado en ese orden. Objeto-valorado — {"enabled": true, "language": "en_GB"} — y apagado por defecto. Lea de la configuración del usuario, el --settings , y sólo se gestionan los ajustes: a spellcheck bloque en un proyecto .claude/settings.json o .claude/settings.local.json es ignorado.
bashOutputMaxChars (v2.1.261) ¿Cuántos caracteres de un exitoso La salida del comando Bash o PowerShell Claude recibe en línea, hasta 128K. Pasado el límite Claude Code guarda la salida a un archivo y Claude obtiene una breve vista previa más la ruta. BASH_MAX_OUTPUT_LENGTH.
taskOutputMaxChars (v2.1.261) Superado en v2.1.278 y no tiene efecto. Solía tapar cuántos caracteres de un tareas de fondo salida Claude recibió en línea al leerlo con el TaskOutput herramienta. v2.1.278 removido el TaskOutput herramienta — Claude ahora lee el archivo de salida de una tarea de fondo con Read — por lo que esta clave y TASK_MAX_OUTPUT_LENGTH ambos son inertes. Claude Code todavía acepta la clave, por lo que un archivo de configuración que lo establece permanece válido.
maxEffortLevel (v2.1.267) Capitulo del nivel de esfuerzo que Claude Code puede utilizar, en cada proveedor incluyendo Bedrock, Vertex y Fundición. modelSettings. Los usuarios todavía pueden elegir un nivel más bajo.
bashEditDiffEnabled (v2.1.269) Los resultados de la herramienta Bash incluyen una diferencia de los archivos que el comando cambió.
syncClaudeAiSkills / syncClaudeAiPlugins (v2.1.275) Establecer cualquiera de las dos opciones false para optar por no sincronizar las skills o plugins que ha habilitado en su cuenta claude.ai en sesiones de terminal.

Modelos de retroceso (fallbackModel)

Los fallbackModel configuración le permite configurar hasta tres modelos de retroceso, probados en orden, cuando el modelo primario está sobrecargado o no disponible.

{
  "fallbackModel": ["claude-opus-4-8", "claude-sonnet-4-6", "claude-haiku-4-5"]
}

A partir de v2.1.166 las --fallback-model También se aplica a las sesiones interactivas (no solo sin interfaz).En un caso de emergencia, Claude Code vuelve a introducir un error inesperado no retenible una vez; los errores de autenticación, límite de velocidad, tamaño de solicitud y transporte siguen fallando inmediatamente.

Variables de entorno

Anular configuración con variables de entorno:

# Model selection
export ANTHROPIC_MODEL=claude-opus-4-8
export ANTHROPIC_DEFAULT_MODEL=claude-opus-4-8   # (v2.1.236) Model new sessions start on. Unlike ANTHROPIC_MODEL, a /model pick still overrides it — and that pick persists across restarts
export ANTHROPIC_DEFAULT_OPUS_MODEL=claude-opus-4-8
export ANTHROPIC_DEFAULT_SONNET_MODEL=claude-sonnet-4-6
export ANTHROPIC_DEFAULT_HAIKU_MODEL=claude-haiku-4-5

# API configuration
export ANTHROPIC_API_KEY=sk-ant-...

# Thinking configuration
export MAX_THINKING_TOKENS=16000
export CLAUDE_CODE_EFFORT_LEVEL=high   # low, medium, high, xhigh (Opus 5.5, Sonnet 5.5, Haiku 5.5, Opus 5, Sonnet 5, Opus 4.8/4.7), or max — default is high on Opus 5 and Opus 4.8 (supported on Opus 5.5, Sonnet 5.5, Haiku 5.5, Opus 5, Sonnet 5, Opus 4.8, Opus 4.7, Opus 4.6, Sonnet 4.6)

# Feature toggles
export CLAUDE_CODE_DISABLE_AUTO_MEMORY=1    # Disable auto memory (no auto memory files are created or loaded)
export CLAUDE_CODE_DISABLE_BACKGROUND_TASKS=true
export CLAUDE_CODE_DISABLE_CRON=1
export CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS=true
export CLAUDE_CODE_DISABLE_TERMINAL_TITLE=true
export CLAUDE_CODE_DISABLE_1M_CONTEXT=true
export CLAUDE_CODE_DISABLE_NONSTREAMING_FALLBACK=true
export CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION=false
export CLAUDE_CODE_ENABLE_TASKS=0          # Task tools are the default; 0 reverts to the legacy TodoWrite tool
export CLAUDE_CODE_SIMPLE=true              # Set by --bare flag

# MCP configuration
export MAX_MCP_OUTPUT_TOKENS=50000
export ENABLE_TOOL_SEARCH=true

# Prompt caching
export ENABLE_PROMPT_CACHING_1H=1      # Request 1-hour cache TTL for all requests (default: 1h for the main conversation on a subscription, 5 min on API key / cloud providers)

# Task management
export CLAUDE_CODE_TASK_LIST_ID=my-project-tasks

# Agent teams (experimental)
export CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1

# Subagent and plugin configuration
export CLAUDE_CODE_SUBAGENT_MODEL=sonnet
export CLAUDE_CODE_PLUGIN_SEED_DIR=./my-plugins
export CLAUDE_CODE_NEW_INIT=1

# Subprocess and streaming
export CLAUDE_CODE_SUBPROCESS_ENV_SCRUB="SECRET_KEY,DB_PASSWORD"
export CLAUDE_AUTOCOMPACT_PCT_OVERRIDE=80
export CLAUDE_STREAM_IDLE_TIMEOUT_MS=30000
export ANTHROPIC_CUSTOM_MODEL_OPTION=my-custom-model
export SLASH_COMMAND_TOOL_CHAR_BUDGET=50000

# Output and package manager (v2.1.129+)
export CLAUDE_CODE_FORCE_SYNC_OUTPUT=1                      # Force synchronous output for terminals where auto-detect misses (Emacs eat, etc.)
export CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE=1            # Enable background upgrades for Homebrew/WinGet installs
export CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1         # Opt in to /v1/models gateway discovery when ANTHROPIC_BASE_URL is set

# Windows PowerShell tool (v2.1.143+) — default-on for Bedrock/Vertex/Foundry on Windows
export CLAUDE_CODE_USE_POWERSHELL_TOOL=0                    # Disable the PowerShell tool entirely
export CLAUDE_CODE_POWERSHELL_RESPECT_EXECUTION_POLICY=1    # Honor system ExecutionPolicy instead of `-ExecutionPolicy Bypass`

# Workload identity federation (v2.1.141+)
export ANTHROPIC_WORKSPACE_ID=ws_abc123                     # Scope the federated token to a specific workspace when the rule covers multiple

# Stop hook safety cap (v2.1.143+)
export CLAUDE_CODE_STOP_HOOK_BLOCK_CAP=8                    # Max consecutive Stop-hook blocks before the session ends with a warning. Set 0 to disable the cap.

# Session-wide spawn caps (v2.1.212)
export CLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSION=200         # Cap on WebSearch tool calls per session, to stop runaway search loops. Default 200.
export CLAUDE_CODE_WEB_SEARCH_REFILLS_PER_HOUR=100       # (v2.1.290) Refill rate for that budget, in calls/hour. Default 100 interactive, 0 (no refill) with -p.

# Accessibility (v2.1.208)
export CLAUDE_AX_SCREEN_READER=1                            # Enable plain-text screen reader rendering mode. Same effect as --ax-screen-reader or "axScreenReader": true in user or managed settings (ignored in project/local settings since v2.1.305).

# Newer variables (v2.1.221–v2.1.234) — changelog-sourced; the CLI reference has no env-var section
export CLAUDE_CODE_ENABLE_TODO_TOOLS=1                      # (v2.1.233) Restore the todo/task-tracking tools (TaskCreate/Get/Update/List, TodoWrite), which are available by default only on Claude 3.x models, Opus 4 through 4.7, Sonnet 4 through 4.6, and Haiku 4.5 (v2.1.268)
export CLAUDE_CODE_WEBFETCH_CACHE_TTL_MS=900000             # (v2.1.233) WebFetch URL cache TTL. Default 15 minutes.
export CLAUDE_CODE_TOOL_MEMORY_LIMIT=2G                     # (v2.1.233, Linux) Opt-in memory cgroup applied to Bash commands
export ANTHROPIC_BEDROCK_REGION_PREFIX=us                   # (v2.1.224) Prefer a specific Bedrock cross-region inference profile
export CLAUDE_CODE_DISABLE_UNKNOWN_MODEL_WINDOW_ENFORCEMENT=1  # (v2.1.223) Restore pre-v2.1.223 auto-compact behavior on unrecognized model IDs
export CLAUDE_CODE_WORKFLOW_PREFIX_STAGGER_MS=0             # (v2.1.229) Disable prefix staggering on dynamic-workflow fan-out
export CLAUDE_CODE_USER_DIALOG_TIMEOUT_MS=300000            # (v2.1.224) Overrides the dialogExpiry setting
export CLAUDE_CODE_PROJECT_DIR_NAME=my-app                  # (v2.1.234) Short name for the per-project transcript directory, for hosts that give each session its own config directory
export CLAUDE_CODE_GOAL_CHECKIN_MINUTES=30                  # (v2.1.234) Minutes a background task may stall before Claude checks in while a /goal is active. Set 0 to disable check-ins.

# Newer variables (v2.1.268-v2.1.278) - changelog-sourced
export CLAUDE_CODE_MCP_STARTUP_WAIT_MS=5000                 # (v2.1.274) How long the first non-interactive turn waits for MCP servers that are still connecting. 0 = do not wait, except for servers named by --allowedTools or an mcp_tool hook (still up to 2s, v2.1.284+).
export CLAUDE_CODE_WEBFETCH_DEADLINE_MS=300000              # (v2.1.268) Overrides WebFetch's new 300-second deadline. 0 disables the deadline.
export CLAUDE_CODE_WORKFLOW_MAX_CONCURRENT_AGENTS=32        # (v2.1.269) Raises the Workflow tool's per-run concurrent agent limit. Accepts 1-256.
export CLAUDE_CODE_AUTO_MODE_SERVER=0                       # (v2.1.278; direct Anthropic API since v2.1.281) Opt out of server-side auto-mode classifier review

# Newer variables (v2.1.299-v2.1.300)
export CLAUDE_CODE_DISABLE_FILE_MENTIONS=1                  # (v2.1.299) Don't expand @ file/directory mentions; Claude gets the paths and reads them with its file tools. Ignored in project/local settings.
export CLAUDE_CODE_IDLE_COMPACT_MIN_TOKENS=200000           # (v2.1.299, needs v2.1.290+) Context size at which idle compaction applies. Default 200000, minimum 100000. "idleCompaction": false turns it off.
export CLAUDE_CODE_GZIP_REQUEST_BODIES=0                    # (v2.1.300) Turn off gzip of large request bodies to api.anthropic.com (use if a TLS-inspecting proxy mishandles them).
export CLAUDE_CODE_ARTIFACT_PUBLISH_EDITS=0                 # (v2.1.300) Edit artifact files with file tools, then publish as a separate step, instead of in-publish edits.

# Newer variables (v2.1.301-v2.1.302)
export CLAUDE_CODE_AUTO_MODE_MODEL=claude-sonnet-4-6  # client-side auto mode classifier model (v2.1.302); ignored for Opus 5, Sonnet 5.5, Opus 5.5 or a model your policy excludes
export CLAUDE_CODE_RETRY_WATCHDOG_MAX_USAGE_LIMIT_WAIT_MS=3600000  # stop waiting on far-off usage-limit resets (v2.1.301)

# Newer variables (v2.1.304-v2.1.310) — set in the launching shell
export CLAUDE_CODE_AUTO_COMPACT_WINDOW=200k                 # (v2.1.304) Auto-compact window, 100000-1000000 tokens; k/M suffixes need v2.1.304+, a bare number is read as tokens
export CLAUDE_CODE_DISABLE_MOUNTED_DRIVE_RM_PROMPT=1        # (v2.1.304) Turn off the recursive-rm prompt for mounted drives such as /Volumes/USB or /mnt/c; ignored in a settings env block
export CLAUDE_CODE_WARN_DISK_FREE_GIB=10                    # (v2.1.304) Warn Claude when free disk space on the working directory's filesystem drops below N GiB
export CLAUDE_CODE_DISABLE_MCP_TASK_BACKGROUND=1            # (v2.1.304) Make Claude wait for an MCP task's result in an interactive session
export CLAUDE_CODE_RETRY_WATCHDOG_USAGE_LIMIT_RECHECK_MS=600000  # (v2.1.305) With CLAUDE_CODE_RETRY_WATCHDOG, re-check a usage limit this often (60000-10800000 ms) so a lifted limit resumes early
export CLAUDE_CODE_DISABLE_ULTRAREVIEW_TRUST_CHECK=1        # (v2.1.309) Let `claude ultrareview` run in an untrusted folder it can't ask about (CI); only where you trust the checkout

v2.1.223 — CLAUDE_CODE_DISABLE_1M_CONTEXT ensanchado: la variable ahora mantiene cada Modelo Claude con una ventana nativa de 1M-token hasta 200K a través de autocompactación, en lugar de sólo una lista fija de IDs de modelo.

v2.1.108: ENABLE_PROMPT_CACHING_1H=1 — solicitar la caché rápida TTL de 1 hora para la conversación principal y otras solicitudes. Sin ella, la conversación principal obtiene 1 hora en una suscripción Claude dentro del uso del plan y 5 minutos en una clave de API, créditos de uso o un proveedor de la nube; FORCE_PROMPT_CACHING_5M=1 fuerza 5 minutos. (v2.1.129 fija una regresión donde el TTL de 1 hora fue degradado silenciosamente a 5 minutos.)

v2.1.129: CLAUDE_CODE_FORCE_SYNC_OUTPUT=1 fuerza la salida sincrónica para terminales cuya capacidad de autodetección falla (por ejemplo, Emacs) eat). CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE=1 permite actualizaciones de fondo en las instalaciones Homebrew/WinGet, que de lo contrario nunca se actualizan automáticamente.

Comandos de gestión de configuración

User: /config
[Opens interactive configuration menu]

Los /config comando proporciona un menú interactivo para cambiar la configuración como: - Pensamiento extendido encendido/desactivado - Salida de Verbose - Modo de permiso - Selección de modelos - Tamaño dinámico del flujo de trabajo (v2.1.219) — oculto cuando workflowSizeGuideline se establece en un archivo de ajustes, ver Flujos de trabajo dinámicos - Compactación inactiva (v2.1.302)

En el menú interactivo, pulse Intro o Espacio para cambiar la configuración seleccionada, y Esc para guardar y cerrar (v2.1.183+).

También puede configurar un ajuste directamente desde el prompt sin abrir el menú:

/config thinking=false      # set a single setting inline (v2.1.181+)
/config --help              # list available shorthand keys (v2.1.183+)

Los key=value trabajos en sesiones interactivas, con -p, y en Control Remoto.

Configuración por proyecto

Crear .claude/settings.json en su proyecto:

{
  "hooks": {
    "PreToolUse": [{ "matcher": "Bash", "hooks": [{ "type": "command", "command": "npm test && npm run lint" }] }]
  },
  "permissions": {
    "defaultMode": "manual"
  }
}

Poner los servidores MCP del proyecto en .mcp.json en la raíz del proyecto:

{
  "mcpServers": {
    "project-db": {
      "command": "mcp-postgres",
      "env": {
        "DATABASE_URL": "${PROJECT_DB_URL}"
      }
    }
  }
}

Usar un usuario de base de datos de sólo lectura para PROJECT_DB_URL; vea la configuración de sólo lectura en MCP → Ejemplo de base de datos.


Confiar y obtener permiso

Fuente de cambio (v2.1.222, v2.1.232): estos aprietes vienen del registro de cambios; la referencia de ajustes aún no los explica.

Un tema recurrente en versiones recientes: los ajustes relevantes para la seguridad ya no pueden ser ampliados por un repositorio que clonó. Tres cambios que conocer.

Los repositorios anidados necesitan su propia confirmación de confianza (v2.1.232). Un repositorio git dentro de un directorio padre de confianza ya no hereda esa confianza. ~/work/monorepo y contiene un submódulo de proveedores, se le pedirá que confíe en el submódulo por separado la primera vez que Claude Code trabaja dentro de él.

sandbox.ripgrep es sólo el alcance del usuario (v2.1.232). La configuración que nombra el binario ripgrep que usa el sandbox se honra sólo de la configuración del usuario, la configuración administrada, o --settings. La configuración del proyecto ya no puede apuntar la caja de arena a un binario diferente.

El arranque automático del mando a distancia es sólo el telescopio de usuario (v2.1.222). La configuración Repo-local no puede activar el inicio automático del control remoto; sólo se puede activar en el alcance del usuario a través de /config.

El patrón a internalizar: si una configuración permitiría que un archivo registrado ampliara lo que se permite hacer con Claude Code en su máquina, asuma que ahora es sólo el usuario-scopio.


Equipo de Agentes

Agent Teams es una característica experimental que permite que múltiples instancias de Claude Code colaboren en una tarea. Está deshabilitada por defecto.

Equipos de agentes habilitados

Activar a través de la variable o configuración de entorno:

# Environment variable
export CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1

O añada a su configuración JSON:

{
  "env": {
    "CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1"
  }
}

Cómo trabajan los equipos de agentes

  • A jefe de equipo coordina la tarea general y las subtareas de los delegados a los compañeros de equipo
  • Compañeros trabajar independientemente, cada uno con su propia ventana de contexto
  • A lista de tareas compartida permite la autocoordinación entre los miembros del equipo
  • Usar definiciones de subagentes (.claude/agents/ o --agents bandera) para definir las funciones y especializaciones de los compañeros de equipo

Modos de visualización

Agent Teams admite dos modos de visualización, configurados con el --teammate-mode bandera:

Modo Descripción
in-process (por defecto) Los compañeros de equipo se ejecutan dentro del mismo proceso terminal
tmux Cada compañero de equipo recibe un panel dividido dedicado (requiere tmux o iTerm2)
auto Selecciona automáticamente el mejor modo de visualización
# Use tmux split panes for teammate display
claude --teammate-mode tmux

# Explicitly use in-process mode
claude --teammate-mode in-process

Casos de uso

  • Grandes tareas de refactorización donde diferentes compañeros manejan diferentes módulos
  • Examen y aplicación paralelos del código
  • Cambios multi-archivo coordinados en una base de código

Nota: Agent Teams es experimental y puede cambiar en futuros lanzamientos. Ver code.claude.com/docs/en/agent-teams para la referencia completa.


Mejores prácticas

Modo de planificación

  • • Uso para tareas complejas de varios pasos
  • • Revisar los planes antes de aprobarlos
  • • Modificar los planes cuando sea necesario
  • No utilizar para tareas simples

Pensamiento extendido

  • • Uso para decisiones arquitectónicas
  • • Uso para resolver problemas complejos
  • • Revisar el proceso de pensamiento
  • No usar para consultas simples

Tareas de fondo

  • • Uso para operaciones de larga duración
  • • Supervisar el progreso de las tareas
  • • Manejar con gracia los fallos de las tareas
  • No empieces demasiadas tareas concurrentes

Permisos

  • • Uso plan para revisión de código (sólo lectura)
  • • Uso default para el desarrollo interactivo
  • • Uso acceptEdits para flujos de trabajo de automatización
  • • Uso auto para trabajos autónomos con barandillas de seguridad
  • No uses bypassPermissions a menos que sea absolutamente necesario

Período de sesiones

  • • Usar sesiones separadas para diferentes tareas
  • • Guardar estados importantes de la sesión
  • • Limpiar las sesiones antiguas
  • No mezcle el trabajo no relacionado en una sesión

Recursos adicionales

Para obtener más información sobre Claude Code y funciones relacionadas:


Última actualización: 26 de octubre de 2026 Versión de Claude Code: 2.1.310 Fuentes: - https://code.claude.com/docs/en/output-styles - https://raw.githubusercontent.com/anthropics/claude-code/main/CHANGELOG.md - https://code.claude.com/docs/en/permissions - https://code.claude.com/docs/en/workflows#set-a-size-guideline - https://code.claude.com/docs/en/tools-reference#task-tool-availability - https://code.claude.com/docs/en/auto-mode-classifier-billing - https://code.claude.com/docs/en/env-vars - https://code.claude.com/docs/en/settings - https://code.claude.com/docs/en/sandboxing - https://code.claude.com/docs/en/commands - https://code.claude.com/docs/en/cli-reference - https://github.com/anthropics/claude-code/blob/main/CHANGELOG.md - https://code.claude.com/docs/en/model-config - https://code.claude.com/docs/en/permission-modes - https://code.claude.com/docs/en/settings.md - https://code.claude.com/docs/en/settings-reference - https://code.claude.com/docs/en/whats-new/2026-w34 - https://code.claude.com/docs/en/model-config#adjust-effort-level - https://code.claude.com/docs/en/interactive-mode - https://code.claude.com/docs/en/keybindings#modifiers - https://code.claude.com/docs/en/model-config#extended-thinking - https://github.com/anthropics/claude-code/releases/tag/v2.1.281 - https://github.com/anthropics/claude-code/releases/tag/v2.1.283 - https://code.claude.com/docs/en/permission-modes#critical-paths - https://code.claude.com/docs/en/settings-reference#ultracode - https://code.claude.com/docs/en/permission-modes#which-mode-a-session-starts-in - https://code.claude.com/docs/en/permission-modes#eliminate-prompts-with-auto-mode - https://github.com/anthropics/claude-code/releases/tag/v2.1.284 - https://github.com/anthropics/claude-code/releases/tag/v2.1.285 - https://code.claude.com/docs/en/tools-reference - https://code.claude.com/docs/en/chrome - https://github.com/anthropics/claude-code/releases/tag/v2.1.288 - https://github.com/anthropics/claude-code/releases/tag/v2.1.290 - https://github.com/anthropics/claude-code/releases/tag/v2.1.293 - https://code.claude.com/docs/en/remote-control - https://code.claude.com/docs/en/changelog#2-1-299 - https://code.claude.com/docs/en/changelog#2-1-300 - https://code.claude.com/docs/en/settings-reference#sandbox-enabled - https://code.claude.com/docs/en/prompt-caching - https://code.claude.com/docs/en/agent-teams - https://code.claude.com/docs/en/monitoring-usage - https://code.claude.com/docs/en/hooks - https://code.claude.com/docs/en/managed-settings - https://code.claude.com/docs/en/channels - https://code.claude.com/docs/en/desktop - https://code.claude.com/docs/en/fullscreen - https://code.claude.com/docs/en/changelog#2-1-301 - https://code.claude.com/docs/en/changelog#2-1-302 - https://code.claude.com/docs/en/permission-modes#which-mode-a-non-interactive-run-starts-in - https://code.claude.com/docs/en/permission-modes#choose-the-classifier-model - https://code.claude.com/docs/en/changelog#2-1-309 - https://code.claude.com/docs/en/permission-modes#critical-path-removals-in-each-permission-mode - https://code.claude.com/docs/en/permission-modes#the-mounted-drive-prompt - https://code.claude.com/docs/en/permission-modes#time-limits-and-denials-in-auto-and-bypasspermissions-modes - https://code.claude.com/docs/en/changelog#2-1-307 - https://code.claude.com/docs/en/settings-reference#axscreenreader - https://code.claude.com/docs/en/routines#where-the-name-routines-still-appears - https://code.claude.com/docs/en/scheduled-tasks - https://code.claude.com/docs/en/desktop#monitor-pull-request-status - https://code.claude.com/docs/en/changelog#2-1-281 - https://code.claude.com/docs/en/mcp#example-query-your-postgresql-database - https://code.claude.com/docs/en/routines#permission-prompts-during-a-run - https://code.claude.com/docs/en/changelog#2-1-310 - https://code.claude.com/docs/en/tools-reference#monitor-tool - https://code.claude.com/docs/en/monitoring-usage#safety-event - https://code.claude.com/docs/en/monitoring-usage#standard-attributes - https://code.claude.com/docs/en/monitoring-usage#tool-decision-event - https://code.claude.com/docs/en/changelog#2-1-304 - https://code.claude.com/docs/en/sessions#the-resume-this-conversation-dialog - https://code.claude.com/docs/en/worktrees#clean-up-worktrees - https://code.claude.com/docs/en/sandboxing#run-commands-outside-the-sandbox-with-excludedcommands - https://code.claude.com/docs/en/settings-reference#sandbox-allownestedusernamespaces - https://code.claude.com/docs/en/env-vars#variables - https://code.claude.com/docs/en/model-config#values-and-warnings-for-claude_code_auto_compact_window - https://code.claude.com/docs/en/auto-mode-config#generate-environment-entries-with-auto-mode-setup - https://code.claude.com/docs/en/remote-control#requirements - https://code.claude.com/docs/en/cli-reference#cli-flags Modelos compatibles: Claude Fable 5, Claude Opus 5, Claude Sonnet 5, Claude Sonnet 4.6, Claude Opus 4.8, Claude Haiku 4.5

Versión en español de Cris Severin. Basado en Claude How To de luongnv89, bajo licencia MIT. Proyecto original