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
- Introducción
- Modo de planificación
- Pensamiento extendido
- Modo automático
- Tareas de fondo
- Herramienta de monitor (corrientes impulsadas por eventos)
- Flujos de trabajo dinámicos
- Tareas programadas
- Modos de permiso
- Modo sin interfaz
- Gestión de las sesiones
- Mensajería cruzada
- Características interactivas
- Estilos de salida
- Línea de estado
- Modo TUI (Pantalla completa)
- Dictación de voz
- Canales
- Integración de Chrome
- Control remoto
- Sesiones en la Web
- Aplicación de escritorio
- Lista de tareas
- Sugerencias prontas
- Git Worktrees
- Caja de arena
- Configuración administrada (empresa)
- Configuración y configuración
- Confiar y obtener permiso
- Equipo de Agentes
- Mejores prácticas
- 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 enpermissions.allow. Anteriormente un permisivoEdit(...)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, ymaxse 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).xhighestá 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 esmediumsobre el Opus 5.5, Sonnet 5.5 y Haiku 5.5,highsobre el Opus 5, Soneto 5, Opus 4.8 (y el Opus 4.6 / Soneto 4.6) yxhighen 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./effortslider 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.xhighy se mantiene encendido cuando cambia el nivel;--effort ultracodey el agente SDKeffortLevel: "ultracode"todavía setxhigh.
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.disableAutoModea"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-modeLos 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
disableAutoModeen configuraciones gestionadas.CLAUDE_CODE_ENABLE_AUTO_MODEsigue 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:
- Reglas de permitir/negar -- Las reglas de permisos explícitos se comprueban primero
- Solo lectura/edición aprobada automáticamente -- El archivo lee y edita pasa automáticamente
- Clasificador -- El clasificador de fondo revisa la acción
- 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 /yrm -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 conCLAUDE_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 dropgit 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
sleepa 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
-pCuando 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_TELEMETRYoCLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFICset, 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 Usogrep --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-bufferedbandera 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
/workflowscomando muestra ejecución y completado flujo de trabajo se ejecuta con el progreso en vivo. ultracode: enciéndela con el Ultracode en el/effortdeslizante (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 ultracodey el agente SDKeffortLevel: "ultracode"todavía setxhigh./effort ultracodedura para el período de sesiones; establecer laultracodeclave en la configuración para iniciar cada sesión con ella (effortLevelyCLAUDE_CODE_EFFORT_LEVELno aceptesultracode). (A partir de v2.1.160 la palabra clave disparador esultracode; 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/loopy cron tareas en esta página tareas programadas con alcance de período de sesiones. El viejo nombre sobrevive en elclaude.ai/code/routinesURL, el/fireAPI 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
/scheduleautodesactivado por niveles de clave de API (v2.1.139): Nube/scheduleno está disponible en silencio cuando cualquiera deANTHROPIC_API_KEY,ANTHROPIC_AUTH_TOKENo bienapiKeyHelperse 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. LocalCronCreateno 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
defaultel 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 manualy--permission-mode defaulttrabajo, al igual que"defaultMode": "manual"y"defaultMode": "default"en la configuración. Tenga en cuenta que la clave de configuración espermissions.defaultMode— no haypermissions.modeclave, 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
useAutoModeDuringPlanla 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-permissionscobertura de la trayectoria extendida (v2.1.121, v2.1.126): El--dangerously-skip-permissionsMarca CLI (y equivalentebypassPermissionsmodo) 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=1El 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.rmde una trayectoria de transmisión montada, como/Volumes/USBo de WSL/mnt/c/Usersrecibe el mismo tratamiento incluso con unrmpermitir regla; iniciar Claude Code conCLAUDE_CODE_DISABLE_MOUNTED_DRIVE_RM_PROMPT=1para desactivar el prompt (una configuraciónenvel 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 Bypasspor lo que los scripts se ejecutan incluso si la política del sistema esRestricted. Para hacer que Claude Code honra la política de ejecución del sistema, establecerCLAUDE_CODE_POWERSHELL_RESPECT_EXECUTION_POLICY=1. Para desactivar la herramienta PowerShell por completo, setCLAUDE_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)
});
Configuración del modo de impresión
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:
/forky/subtaskfunciones intercambiadas en v2.1.212Antes de v2.1.161/forkfue 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,/subtaskno está disponible y/forkconserva 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_responseevento de registro (v2.1.193+): Claude Code emite unclaude_code.assistant_responseEvento 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_requesteventos añadircache_creation_5m_tokens/cache_creation_1h_tokens, y los lapsos llevan atributos de convenciÃ3n semántica GenAI comogen_ai.provider.name.Telemetría OTEL —
tool_decisionatributos (v2.1.301):tool_decisioneventos añadirclassifier_verdictypermission_mode.Telemetría OTEL —
safety_event(v2.1.307): un nuevoclaude_code.safety_eventlog 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, concategory,decision(accept/reject/sent_back) ydecision_sourceatributos. 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_decisionytool_resulteventos añadirrequest_id, para unirse a una llamada a su respuesta API, y los eventos de subagentparent_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-styleel 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./configy eloutputStyleLa 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:
statusLinerequiere confianza en el espacio de trabajo.COLUMNSyLINESen 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+):
--channelsahora 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
- Los servidores MCP actúan como complementos de canal que se conectan a servicios externos
- Los mensajes entrantes y los eventos son introducidos en la sesión activa de Claude Code
- Claude puede leer y responder a los mensajes en el contexto de la sesión
- Los plugins de canal deben estar en el lista de permisos Antrópicos mantenidos, o en la organización de su organización
allowedChannelPluginslista cuando un administrador establece una - 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-controlya no acepta--sandboxo--no-sandbox(nunca tuvieron un efecto; pasar cualquiera de las dos salidas ahora con un error). Para sandbox Remote Control sesiones, establecersandbox.enableden un archivo de configuración.
Conexión a una sesión
Tres maneras de conectarse desde otro dispositivo:
- URL de sesión — Impreso en el terminal cuando se inicia la sesión; abierto en cualquier navegador
- Código QR — Prensa
spacebardespués de comenzar a mostrar un código QR escaneable - 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_KEYANTHROPIC_AUTH_TOKENapiKeyHelper(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 prefiereclaude --teleporta 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
Tabaceptar la sugerencia - Prensa
Enteraceptar 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 deorigin/<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 localesHEAD, 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--worktreeSí. "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-sandboxbandera. Desde v2.1.300, pasándolos aclaude remote-controlsale 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.credentialsLas 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.enableWeakerNetworkIsolationse debilita que el aislamiento y es sólo para herramientas como Go CLI detrás de un MITMhttpProxyPortproxy
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
- Configuración del usuario:
~/.claude/settings.json - Configuración del proyecto:
.claude/settings.json(chequeado) - Configuración local del proyecto:
.claude/settings.local.json(no se registró) - Configuración administrada:
managed-settings.jsonen 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_CONTEXTensanchado: 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=1fuerza 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=1fuerza la salida sincrónica para terminales cuya capacidad de autodetección falla (por ejemplo, Emacs)eat).CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE=1permite 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--agentsbandera) 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
planpara revisión de código (sólo lectura) - • Uso
defaultpara el desarrollo interactivo - • Uso
acceptEditspara flujos de trabajo de automatización - • Uso
autopara trabajos autónomos con barandillas de seguridad - No uses
bypassPermissionsa 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:
- Documentación del modo interactivo oficial
- Documentación oficial del modo sin interfaz
- Referencia de la CLI
- Guía de puntos de control - Gestión de sesiones y rebobinado
- Comandos de barra - Referencia de órdenes
- Guía de memoria - Contexto persistente
- Guía de skills - Capacidades autónomas
- Guía de subagentes - Ejecución de tareas delegadas
- Guía del MCP - Acceso externo a los datos
- Guía de hooks - Automatización impulsada por eventos
- Guía de complementos - Extensiones agrupadas
- Documentación oficial de tareas programadas
- Documentación oficial de integración de Chrome
- Documentación oficial de control remoto
- Documentación oficial de los enlaces clave
- Documentación oficial de la aplicación de escritorio
- Equipo de Agente Oficial Documentación
Ú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