Code Mode es experimental y está desactivado de forma predeterminada. Puede cambiar o eliminarse en cualquier versión. Para compartir comentarios, ejecuta
/feedback.Cómo funciona Code Mode
En una sesión de Code Mode, sigues describiendo tu tarea en un prompt, y Claude escribe JavaScript para llevarla a cabo. Un solo fragmento de código puede ejecutar comandos en paralelo, usar un resultado en la siguiente llamada y devolver la parte de la salida que Claude necesita leer. Por ejemplo, si le pides a Claude que aumente un límite de reintentos, Claude podría escribir este código para encontrar el archivo, editarlo y ejecutar las pruebas. La última línea devuelve a Claude la ruta del archivo y la salida de las pruebas:Ctrl+O para abrir el visor de transcripciones. Cada fragmento de código aparece ahí como una fila Code contraída, con una indicación de cómo expandirla.
Cuándo usar Code Mode
Prueba Code Mode en tareas que requieren muchas llamadas a herramientas relacionadas, como:- Un cambio que se repite en muchos archivos
- Una búsqueda cuyos resultados necesitan filtrarse antes de que Claude los lea
- Varios comandos independientes que pueden ejecutarse al mismo tiempo
Limitaciones de Code Mode
Antes de activar Code Mode, comprueba que puedes aceptar estas limitaciones:- Reanudación: solo puedes reanudar una sesión de Code Mode en la terminal, con Code Mode activado
- Modo automático: el clasificador del modo automático revisa el código, no cada llamada a herramienta
- Código de larga duración: a menos que el código pueda ejecutarse en segundo plano, esperas a que termine, y se detiene después de diez minutos
- Hooks: puedes ver llamadas a herramientas rechazadas cuando un hook
PreToolUseno puede ejecutarse o se agota su tiempo de espera, y salida de código bloqueada por un hookUserPromptSubmit - Funciones no disponibles: no puedes usar Remote Control, Claude in Chrome ni computer use
- Mover la sesión: no puedes mover la sesión a la aplicación de escritorio ni convertirla en una sesión en segundo plano, y
/forkno puede iniciar una copia en segundo plano
Requisitos
- Versión: Claude Code v2.1.323 o posterior, en cualquiera de los dos canales de versiones. Una versión anterior se inicia sin Code Mode, con o sin el motivo
it isn't open to your account yet - Cuenta: una suscripción a Claude o una cuenta de Console. No puedes usar Code Mode a través de un gateway, Amazon Bedrock, Claude Platform on AWS, Agent Platform de Google Cloud ni Microsoft Foundry
- Organización: tu organización no usa la configuración HIPAA ni la retención cero de datos
- Modelo: Claude Opus 5.5, Sonnet 5.5, Haiku 5.5 o Fable 5.2
- Superficie: una sesión interactiva de
claudeen una terminal. Code Mode no funciona con-p, el Agent SDK, el panel de VS Code, la aplicación de escritorio ni las sesiones en la nube - Instalación: la compilación nativa de Claude Code
- Windows: Git for Windows está instalado
DISABLE_TELEMETRY. Para ver la solución de cada uno, consulta Code Mode no se inicia.
Prueba Code Mode
Activa Code Mode, dale una tarea a Claude y revisa el código que Claude escribió.1
Comprueba tu versión
Ejecuta
claude --version. Si la versión es anterior a v2.1.323, ejecuta claude update. Si estás en el canal stable y la actualización no llega a v2.1.323, espera a que stable se ponga al día o cambia a latest.2
Inicia Claude Code con Code Mode activado
Establece la variable de entorno
CLAUDE_CODE_EXPERIMENTAL_CODE_MODE en 1. Para probar Code Mode, establécela en tu shell. Para activar Code Mode en cada sesión nueva, establécela en tu configuración de usuario.- macOS, Linux, WSL
- Windows PowerShell
- settings.json
3
Confirma que quieres Code Mode
Claude Code te pide que confirmes antes de tu primera sesión de Code Mode. Selecciona Yes, turn on Code Mode. Claude Code se reinicia y muestra esta línea cerca de la parte superior de la sesión:Si ves una línea diferente o ninguna, consulta Code Mode no se inicia.
4
Dale a Claude una tarea con muchas llamadas a herramientas
En un proyecto que conozcas, envía un prompt como este:
5
Lee el código que escribió Claude
Presiona
Ctrl+O y expande una fila Code para ver el JavaScript detrás de las llamadas a herramientas. Presiona Ctrl+O de nuevo para volver a la conversación.Desactiva Code Mode
EliminaCLAUDE_CODE_EXPERIMENTAL_CODE_MODE de tu shell y de ~/.claude/settings.json, y luego inicia una sesión nueva. También puedes conservar la variable y cambiar su valor a 0 en cualquiera de los dos lugares. Con un 0 en un lugar, Code Mode permanece desactivado aunque establezcas 1 en el otro.
Bloquea Code Mode para tu organización
AgregaCLAUDE_CODE_EXPERIMENTAL_CODE_MODE con el valor 0 a tu configuración administrada para que nadie en tu organización pueda usar Code Mode:
0 esté establecido. No puedes activar Code Mode para tus usuarios desde la configuración administrada.
Permisos y código de larga duración
Tu modo de permisos decide cómo se revisa el código de Claude y si puedes hablar con Claude mientras el código se ejecuta.Comprobaciones de permisos
Cada llamada a herramienta que realiza el código de Claude pasa por tus reglas de permisosdeny y ask y tus hooks PreToolUse. No necesitas cambiar una regla ni un matcher para una herramienta como Bash. Además de las reglas y los hooks, un clasificador revisa el código en el modo automático, y tú respondes a las solicitudes en los modos que preguntan:
- Modo automático: el clasificador revisa cada fragmento de código antes de que se ejecute, no cada llamada a herramienta. No ve los valores calculados en tiempo de ejecución, como una ruta tomada de la salida de una búsqueda, así que mantén reglas o hooks para las llamadas que debas controlar. Aun así, se te puede pedir confirmación cuando se inicia código nuevo mientras se ejecuta código anterior
- Otros modos de permisos: el código se inicia sin revisión, y se te pide confirmación para cada llamada a herramienta que te la pediría en ese modo
PreToolUse que coincida con REPL, la herramienta que ejecuta el código de Claude, y lee el JavaScript de tool_input.code.
Código de larga duración
Mientras el código ejecuta una compilación o una prueba larga, Claude espera a que termine o lo deja continuar en segundo plano:- Esperando: Claude responde después de que el código termina, y el código se detiene después de diez minutos, incluido el tiempo que pasas en las solicitudes de permiso
- Segundo plano: puedes seguir hablando con Claude, y el código puede ejecutarse hasta dos horas
bypassPermissions. Si Claude sigue esperando, comprueba tu modo actual y cómo iniciaste la sesión:
- Cambiaste a otro modo: presiona
Shift+Tabhasta volver al modo en el que iniciaste - Iniciaste en otro modo, o elegiste la sesión de la lista de
claude --resume: si el modo automático está disponible para ti, sal y luego ejecutaclaude --continue --permission-mode autocon Code Mode activado - Pasaste nombres de herramientas a
--tools: vuelve a iniciar en el modo automático sin ese flag
Solución de problemas
Code Mode no se inicia
Code Mode (experimental) isn't available cerca de la parte superior de la sesión significa que Claude Code se inició sin Code Mode. El motivo aparece en la misma línea, y /status también lo muestra. Busca el motivo en esta tabla, haz el cambio e inicia una sesión nueva. Para un motivo que no aparezca en la lista, revisa los requisitos.
Si no ves ninguna línea sobre Code Mode, ejecuta
claude --version. Si tu versión es anterior a v2.1.323, actualiza. Luego comprueba que CLAUDE_CODE_EXPERIMENTAL_CODE_MODE sea 1 en tu shell o en tu configuración de usuario, y elimina cualquier 0 de ahí y de cualquier archivo de --settings.
Solicitud de permiso con cuenta regresiva
Cuando Claude inicia más código en el modo automático mientras el código anterior aún se está ejecutando, el código anterior pierde la revisión del clasificador. Claude Code entonces te pregunta por las llamadas restantes del código anterior que necesitarían una revisión. Sin un IDE conectado, la solicitud muestra una cuenta regresiva:Llamada a herramienta rechazada por un hook
Si Claude informa de una llamada a herramienta rechazada, pídele el texto del error. Estos errores significan que un hookPreToolUse no dio una decisión, lo que rechaza la llamada incluso cuando onFailure no está establecido:
the hook failed: en una llamada desde el código de Claude, tu hook no pudo iniciarse, fue terminado, salió con 126, 127 o un código superior a 128, o devolvió un error HTTP o una salida no válida. Corrige el hookthe hook did not finish: se agotó el tiempo de espera de tu hook en una llamada desde el código de Claude, o en cualquier otra llamada a herramienta una vez que Claude ha ejecutado código en la sesión. Aumenta eltimeoutdel hook
command o http falla o se agota su tiempo de espera, establece "onFailure": "continue" en él. Si un hook command sale con un código común como 1, la llamada continúa, a menos que establezcas "onFailure": "block".
Salida de código retenida por un hook
Si Claude informa del motivo de bloqueo de un hook donde esperabas la salida del código de Claude, revisa tus hooksUserPromptSubmit. Cuando el código puede ejecutarse en segundo plano, los hooks command, http y mcp_tool en ese evento también se ejecutan sobre la salida del código. Para dejar pasar la salida, cambia el hook para que no bloquee cuando source en su entrada sea poll_event.
Recursos relacionados
- Modos de permisos: compara el modo automático con los modos que te piden confirmación
- Referencia de hooks: escribe hooks
PreToolUseyUserPromptSubmit - Configuración administrada: aplica una configuración en toda una organización