SpyBara
Go Premium

agent-view.md 2026-10-05 23:58 UTC to 2026-10-06 07:02 UTC

This page contains 398 additions and 395 deletions.

2026
Thu 1 23:59 Fri 2 22:59 Sun 4 23:58 Tue 6 09:00

Gestionar múltiples agentes con la vista de agentes

Distribuya y gestione muchas sesiones de Claude Code desde una pantalla. La vista de agentes muestra qué está haciendo cada sesión y cuáles necesitan su entrada.

La vista de agentes, abierta con claude agents, es una pantalla para todas sus sesiones en segundo plano: qué se está ejecutando, qué necesita su entrada y qué está hecho. Distribuya nuevas sesiones, observe su estado de un vistazo en lugar de desplazarse por transcripciones, e intervenga solo cuando una lo necesite. Cada sesión en segundo plano es una conversación completa de Claude Code que sigue ejecutándose sin una terminal conectada, por lo que puede abrirla, responder y marcharse cuando quiera.

Vista de agentes en una terminal. Una línea en la parte superior cuenta las sesiones que esperan entrada, las que están trabajando y las completadas. Cuatro sesiones se agrupan bajo Necesita entrada, Trabajando y Completado. Cada fila muestra el nombre de la sesión, su estado más reciente o pregunta, y una hora. En la parte inferior hay una entrada para describir una nueva tarea y una fila de sugerencias de teclado. Vista de agentes en una terminal. Una línea en la parte superior cuenta las sesiones que esperan entrada, las que están trabajando y las completadas. Cuatro sesiones se agrupan bajo Necesita entrada, Trabajando y Completado. Cada fila muestra el nombre de la sesión, su estado más reciente o pregunta, y una hora. En la parte inferior hay una entrada para describir una nueva tarea y una fila de sugerencias de teclado.

Utilice la vista de agentes cuando tenga varias tareas independientes en las que Claude pueda trabajar sin que usted observe cada paso. Distribuya una corrección de errores, una revisión de solicitud de extracción y una investigación de prueba inestable como tres filas, continúe trabajando en otra ventana y verifique cuando una fila muestre que la necesita o tenga un resultado.

Cuando desee trabajar de forma más directa en la sesión de cualquier agente, conéctese a la fila para entrar en la conversación completa.

Para comparar la vista de agentes con subagentes, equipos de agentes y worktrees, consulte Ejecutar agentes en paralelo. La vista de agentes ejecuta sesiones en su máquina y usted distribuye cada una; para que Claude inicie y rastree sesiones paralelas en la nube desde una conversación en su lugar, consulte Proyectos.

Inicio rápido

Este tutorial cubre el bucle principal de la vista de agentes: distribuir una tarea, observar cómo se actualiza su fila mientras Claude trabaja, echar un vistazo para verificar y responder, y conectarse para la conversación completa. La sesión que distribuye sigue ejecutándose después de cerrar la vista de agentes, por lo que puede irse y volver a ella.

1

Abrir la vista de agentes

Desde su shell, ejecute:

claude agents

Si aún no ha aceptado el diálogo de confianza del espacio de trabajo para el directorio, Claude Code lo muestra antes de que se abra la vista de agentes, el mismo diálogo que muestra claude. Acepte para guardar la confianza del espacio de trabajo y continuar. Si rechaza, Claude Code se cierra sin abrir la vista de agentes.

La vista de agentes se abre con una entrada en la parte inferior y una tabla que se completa a medida que comienzan las sesiones. Presione Esc para volver a su shell; si abrió la vista de agentes poniendo una sesión en segundo plano con ←, Esc vuelve a esa conversación en su lugar. Sus sesiones siguen ejecutándose mientras está fuera y reaparecen la próxima vez que abra la vista de agentes.

2

Distribuir una sesión

Escriba un mensaje describiendo una tarea y presione Enter. Una nueva sesión en segundo plano comienza en esa tarea y aparece como una fila que muestra si está funcionando, esperando su entrada o está hecha. La nueva sesión utiliza el modelo mostrado en el encabezado de la vista de agentes. El modo de permisos en el que comienza depende de cómo abrió la vista de agentes.

Cada mensaje que ingrese aquí inicia su propia sesión nueva. Escribir otro mensaje y presionar Enter lanza una segunda sesión junto a la primera en lugar de enviar una continuación a ella. Puede ejecutar varias en paralelo de esta manera.

Cada sesión utiliza su cuota de suscripción de forma independiente, así que consulte Limitaciones antes de distribuir muchas a la vez.

3

Echar un vistazo y responder

Seleccione una fila con las teclas de flecha y presione Space para abrir el panel de vista previa. Muestra la salida más reciente de la sesión, o la pregunta en la que está esperando, en lugar de la transcripción completa. Escriba una respuesta y presione Enter para enviarla sin salir de la vista de agentes.

4

Conectar y desconectar

Presione Enter o → en una fila para conectarse cuando desee la conversación completa. La sesión toma el control de la terminal como una sesión completa e interactiva de Claude Code. Presione ← en un mensaje vacío para desconectarse y volver a la tabla.

5

Traer una sesión existente

Este paso necesita una sesión en ejecución. Si siguió los pasos anteriores, no tiene una abierta en esta terminal, así que abra una sesión regular de claude en otra terminal y envíele un mensaje primero.

Para mover una sesión que ya tiene abierta a la vista de agentes, ejecute /bg dentro de ella, o presione ← en un mensaje vacío para enviarla al segundo plano y abrir la vista de agentes en un paso. En una sesión nueva sin mensajes aún, /bg le pide que envíe un mensaje primero, mientras que ← funciona de inmediato. La sesión sigue ejecutándose y aparece como una fila junto a las que distribuyó.

Dentro de una sesión regular de claude, la pista ← del pie de página del mensaje cuenta los agentes en segundo plano que están esperando su entrada, como ← 2 agents, y vuelve a ← for agents cuando ninguno necesita entrada. Los conteos superiores a 99 se muestran como 99+. El conteo se actualiza aproximadamente cada diez segundos mientras la terminal está enfocada e inmediatamente cuando el enfoque regresa. Cambia brevemente de color cuando se mueve y cuando un agente se completa, y cuando una sesión en segundo plano se completa mientras ninguno necesita su entrada, muestra brevemente el número completado, como ← 2 done. Ambos destellos se desactivan cuando la configuración prefersReducedMotion está activada, y la pista se oculta en modo de lector de pantalla.

Abrir la vista de agentes de forma predeterminada

Para que claude sin argumentos abra la vista de agentes en lugar de una nueva conversación, active una configuración /config.

1

Activar la configuración

En una sesión regular de claude, ejecute /config y active Abrir vista de agentes de forma predeterminada. Para omitir el menú, establezca la clave defaultToAgentsView directamente:

/config defaultToAgentsView=true
2

Iniciar Claude Code

Salga de la sesión y luego ejecute claude sin argumentos:

claude

La vista de agentes se abre en lugar de una nueva conversación.

Para iniciar una sesión regular mientras la configuración está activada, pase un mensaje: claude "fix the login test". Para desactivar la configuración, ejecute /config defaultToAgentsView=false en una sesión regular o en una a la que se conecte desde la vista de agentes.

Monitorear sesiones con la vista de agentes

Ejecuta claude agents para abrir la vista de agentes. Ocupa la terminal completa y enumera cada sesión agrupada por estado, con las sesiones fijadas y las que necesitan tu atención en la parte superior. Cada fila muestra el nombre de la sesión, la actividad actual y su antigüedad, contada desde que se creó la sesión; la antigüedad de una sesión finalizada se congela en lo que tardó la ejecución.

El nombre está teñido con el color establecido por /color en esa sesión, incluso cuando pasas una sesión a segundo plano con ← o /background.

De forma predeterminada, la lista muestra cada sesión en segundo plano que has iniciado, en todos tus proyectos. Una sesión que trabaja en un repositorio y otra en un worktree diferente aparecen aquí, independientemente del directorio desde el que abriste la vista de agentes. Para reducir la lista a un proyecto, pasa --cwd:

claude agents --cwd ~/projects/my-app

Esto muestra solo las sesiones iniciadas en ese directorio. Aún enumera una sesión que se ha movido a un worktree bajo ~/projects/my-app/.claude/worktrees/.

Las sesiones interactivas que tienes abiertas en otras terminales no aparecen hasta que las pases a segundo plano. Los subagentes y compañeros de equipo que genera una sesión no se enumeran como filas separadas.

Pinned
  ✽ clawd walk cycle          Drawing the walk-cycle sprite frames          3m

Ready for review
  ∙ jump physics              Opened PR with collision fix                 #2048  2h

Needs input
  ✻ power-up design           double jump or wall climb?                    1m

Working
  ✽ collision detection       Adding swept-AABB checks to CollisionSystem   2m
  ✢ playtest level 3          all checkpoints cleared ×12                in 4m

Completed
  ✻ title screen              menu, options, and credits done               9m
  ∙ sound effects             14 SFX exported to assets/audio               4h
  … 6 more

Leer el estado de la sesión

Cada fila comienza con un icono cuyo color y animación muestran el estado de la sesión:

Estado El icono se muestra como Qué significa
Working Animado Claude está ejecutando activamente herramientas o generando una respuesta
Needs input Amarillo Claude está esperando algo que solo tú puedes proporcionar: una respuesta a una pregunta, una decisión de permiso u otra solicitud que solo tú puedes responder, como una solicitud del sandbox para permitir un host de red o la solicitud de entrada de un servidor MCP. Un comando que necesita una terminal adjunta, como /install-github-app o la lista de configuración de /mcp, también mantiene aquí una sesión desatendida
Idle Atenuado La sesión no tiene nada que hacer y está lista para tu próximo prompt
Completed Verde La tarea se completó correctamente
Failed Rojo La tarea terminó con un error
Stopped Gris Detuviste la sesión con Ctrl+X o claude stop, su proceso se terminó desde fuera de Claude Code, o terminó mientras el servicio en segundo plano estaba apagado

Por separado, la forma del icono tiene su propio significado:

Forma Qué significa
✻ o ✽ animado El proceso de la sesión se está ejecutando, o la sesión necesita tu entrada
∙ El proceso ha terminado. Aún puedes echar un vistazo a la fila, y cuando respondas o te adjuntes, Claude se reinicia desde donde lo dejó
✢ Una sesión de /loop en reposo entre iteraciones. La fila muestra su recuento de ejecuciones y una cuenta regresiva

La etiqueta #N o !N que puede aparecer en el borde derecho de una fila es un enlace al pull request o merge request de la sesión, no parte del icono de estado.

El título de la pestaña de la terminal muestra el recuento de sesiones en espera de entrada mientras la vista de agentes está abierta: 2 awaiting input · claude agents cuando hay sesiones que necesitan entrada, o claude agents cuando ninguna la necesita.

Para leer el estado de la sesión desde un script u otro programa, usa claude agents --json en lugar de los archivos bajo ~/.claude/jobs/.

Mientras la vista de agentes está abierta, Claude Code también envía una notificación a través de tu canal de notificación de terminal configurado cuando una sesión local en segundo plano empieza a necesitar tu entrada, termina o falla. Las sesiones que se ejecutan según un cronograma, como las sesiones de /loop, notifican solo cuando necesitan tu entrada. Las notificaciones usan el mismo ajuste preferredNotifChannel que el resto de Claude Code y activan el hook Notification con el tipo agent_needs_input o agent_completed.

Las sesiones en segundo plano no necesitan ninguna terminal abierta para seguir trabajando. Un proceso supervisor separado las ejecuta, por lo que puedes cerrar la vista de agentes, cerrar tu shell o iniciar una nueva sesión interactiva y el trabajo que despachaste sigue adelante.

El estado de la sesión persiste en el disco a través de actualizaciones automáticas y reinicios del supervisor. Las sesiones también se conservan cuando tu máquina entra en suspensión. Sus procesos se reanudan al despertar y el supervisor se reconecta a ellos en lugar de tratar el intervalo de tiempo como inactividad. Apagar la máquina sí detiene las sesiones en ejecución; consulta Las sesiones se muestran como fallidas o detenidas después del apagado para saber cómo recuperarlas.

Una sesión que estaba a mitad de una respuesta cuando la máquina entró en suspensión puede volver sin responder. Cuando abres una sesión que ha dejado de responder, el supervisor reinicia su proceso y la sesión continúa la respuesta interrumpida desde donde la dejó.

Resúmenes de filas

El resumen de una línea en cada fila lo genera un modelo de clase Haiku para que la fila pueda decirte qué está haciendo la sesión, qué necesita o qué produjo sin abrir la transcripción. Mientras una sesión está trabajando activamente, el texto de la fila se actualiza como máximo una vez cada 15 segundos a partir de la salida reciente de la propia sesión sin enviar una solicitud al modelo, y el modelo escribe un resumen nuevo cuando termina cada turno.

Una fila en curso muestra lo que la sesión dice que está haciendo, y una fila bloqueada muestra la pregunta que está haciendo. Durante un turno largo, el modelo también reescribe el resumen cada pocos minutos para que una fila ocupada no siga mostrando uno desactualizado. El texto del resumen ocupa el ancho restante de la fila; abre el panel de vista previa para leer una oración que el borde de la terminal recorta.

Cuando la lista está agrupada por directorio, el resumen comienza con el estado de la sesión como una palabra coloreada, como Needs input · double jump or wall climb?. En la agrupación predeterminada por estado, el encabezado del grupo ya nombra el estado, por lo que la fila muestra solo el resumen.

El resumen de fin de turno y cada reescritura a mitad de turno son una solicitud corta de clase Haiku a través de tu proveedor habitual, facturada y gestionada bajo los mismos términos de uso de datos que la propia sesión. Las actualizaciones de 15 segundos entre reescrituras del modelo reutilizan la salida de la propia sesión y no envían una solicitud. En un proveedor de terceros o un gateway sin un modelo de clase Haiku configurado, la solicitud usa en su lugar el modelo principal de la sesión; establece ANTHROPIC_DEFAULT_HAIKU_MODEL para elegir uno.

Estado del pull request

Cuando una sesión abre un pull request, Claude Code agrega una etiqueta en el borde derecho de la fila, vinculada al pull request:

  • Claude Code escribe la etiqueta como #1234 para un pull request y como !1234 para un merge request de GitLab.
  • Claude Code emite el enlace incluso cuando no puede detectar soporte de hipervínculos, por ejemplo a través de SSH o tmux. Establece FORCE_HYPERLINK=0 para mostrar la etiqueta como texto sin formato.
  • Después de enviar un seguimiento a la sesión, Claude Code mantiene la etiqueta mientras la fila vuelve a mostrar el progreso en vivo.

Una sesión que trabaja en un pull request existente se vincula a él de la misma manera. Claude Code encuentra el pull request de forma diferente según el comando que ejecute Claude:

  • Cuando Claude edita, comenta, cierra o marca como listo un pull request con gh, Claude Code vincula el pull request que nombra la propia salida del comando. Un comando gh cuya salida capturada no nombra ningún pull request no crea un enlace; gh pr merge es el caso común, porque imprime su resultado solo en una terminal interactiva.
  • Cuando Claude hace checkout de un pull request con gh pr checkout o hace push a una rama, Claude Code busca la rama con gh pr view y vincula su pull request abierto.
  • No hace falta que el pull request exista todavía cuando Claude hace push: Claude Code reintenta la búsqueda de la rama después de hasta cinco comandos posteriores de git, gh, glab o curl ejecutados en el mismo directorio, por lo que un pull request creado después del push, incluido uno que Claude crea a través de la API REST de GitHub, se vincula cuando un reintento lo encuentra.

Cuando una sesión está vinculada a más de un pull request, la etiqueta muestra en su lugar un recuento, como 3 PRs, coloreado según el pull request abierto que más necesita atención. Abre el panel de vista previa para verlos todos.

El número del pull request se colorea según su estado:

Color Estado del pull request
Amarillo Esperando verificaciones o revisión, o las verificaciones fallaron
Verde Las verificaciones pasaron y ninguna revisión lo bloquea
Púrpura Fusionado
Gris Borrador o cerrado

Para una tarea que termina en un pull request, consulta esta etiqueta para ver el resultado: revisa y fusiona el pull request cuando su número se vuelva verde.

Vista previa y respuesta

Presiona Space en una fila seleccionada para abrir el panel de vista previa. Se abre con la oración que la fila trunca en el borde de la terminal, y cuál es esa oración depende del estado de la sesión:

  • Una sesión que te está esperando: la pregunta exacta que está haciendo, encima de la entrada de respuesta
  • Una sesión finalizada: su resultado
  • Una sesión en curso: su oración de estado completa

A continuación se enumeran los pull requests vinculados a la sesión. Para una sesión que te está esperando, una línea como waiting 3m debajo de ellos muestra cuánto tiempo lleva esperando, y es el único tiempo que se muestra en el panel. La antigüedad en el borde derecho de la fila es un número diferente: cuenta desde que se inició la sesión.

La mayoría de las veces el panel de vista previa es suficiente y no necesitas abrir la transcripción completa.

Escribe una respuesta en el panel de vista previa y presiona Enter para enviarla a esa sesión. Antepón ! a una respuesta para enviar en su lugar un comando Bash. Lo que pasa con la respuesta depende de la sesión y de lo que envíes:

  • Una sesión que está trabajando: la respuesta se une a la cola de mensajes de la sesión en lugar de interrumpir la respuesta, y surte efecto cuando lo hace la entrada en cola. Un comando espera a que termine el turno, incluso uno que se ejecuta en cuanto lo escribes en el propio prompt de una sesión
  • Una respuesta que es exactamente /stop: detiene la sesión de inmediato en lugar de entregársele, tanto si la sesión está trabajando como si te está esperando
  • Un trabajo de shell: la respuesta, incluido /stop, va a la terminal del comando como entrada escrita

Cuando la sesión te está esperando, cómo respondes desde el panel de vista previa depende de lo que esté esperando:

  • Una pregunta con opciones predefinidas: el panel enumera las opciones por número. Con la entrada de respuesta vacía, presiona el número de una opción para rellenarla y luego Enter para enviarla, o escribe tu propia respuesta en su lugar
  • Una pregunta sin opciones predefinidas: escribe tu respuesta. Cuando la entrada vacía muestra una respuesta sugerida, presiona Tab para rellenarla y editarla antes de enviarla
  • Una solicitud de permiso u otro diálogo, como un prompt del sandbox o la solicitud de entrada de un servidor MCP: responder no lo contesta. Tu respuesta espera en la cola. Para contestar el diálogo, adjúntate con →

Cuando un hook PermissionRequest o PreToolUse devuelve una salida que Claude Code no puede validar para la llamada que la sesión está pidiendo, la fila muestra el evento del hook y hook output invalid: con el error de validación antes del texto de la solicitud pendiente. Para un hook que falla de otra manera, la fila dice que el hook falló. La sesión sigue esperando la misma solicitud.

Una respuesta que no se puede entregar, porque el servicio en segundo plano es inaccesible o el envío falla, se guarda y se envía a la sesión como su próximo prompt cuando su proceso vuelve a iniciarse, y el mensaje de error dice que la respuesta se guardó. Una respuesta con el prefijo ! no se guarda, porque el texto guardado llegaría a la sesión como un prompt simple en lugar de ejecutarse como un comando Bash.

Con el dictado de voz habilitado en modo de mantener, mantén presionada tu tecla de pulsar para hablar mientras la entrada de respuesta tiene el foco para dictar una respuesta en lugar de escribirla. Lo mismo funciona en la entrada de despacho en la parte inferior de la vista de agentes.

Usa ↑ y ↓ para echar un vistazo a las sesiones adyacentes sin cerrar el panel, o → para adjuntarte.

Adjuntarse a una sesión

Presiona Enter o → en una fila seleccionada para adjuntarte. La vista de agentes se reemplaza por la sesión interactiva completa. Cuando te adjuntas, Claude publica un breve resumen de lo que sucedió mientras no estabas.

Mientras estás adjunto, la sesión se comporta como cualquier otra sesión de Claude Code: los comandos, los atajos de teclado y las funciones funcionan todos, con las excepciones que se indican a continuación.

Mientras estás adjunto, /install-github-app y la lista de configuración de /mcp funcionan con normalidad, ya que una persona en la terminal puede completar sus diálogos. Cuando nadie está adjunto, estos comandos no pueden abrir sus diálogos, por lo que la sesión aparece bajo Needs input en la vista de agentes con una fila como open this session to manage MCP servers, y la respuesta en la transcripción dice lo mismo. Adjúntate y vuelve a ejecutar el comando para continuar; la fila de entrada necesaria desaparece cuando te adjuntas. /mcp reconnect <server>, /mcp enable y /mcp disable funcionan sin adjuntarte en cualquier caso.

Las sesiones adjuntas siempre se muestran en modo de pantalla completa, independientemente de tu ajuste tui, porque una sesión en segundo plano no tiene historial de desplazamiento de terminal al que agregar contenido. Desplázate con PgUp, PgDn o la rueda del ratón, y presiona Ctrl+O para el modo de transcripción. El desplazamiento nativo de tu terminal y el modo de copia de tmux muestran solo la ventana visible actual, igual que cuando ejecutas cualquier aplicación de pantalla completa.

Presiona ← en un prompt vacío, o ejecuta /exit, para desconectarte y volver a la vista de agentes, ya sea que hayas abierto la sesión desde la vista de agentes o con claude attach <id> desde tu shell.

← también te desconecta mientras la superposición de /btw está abierta. Requiere Claude Code v2.1.257 o posterior. Una pregunta secundaria que aún se está respondiendo sigue ejecutándose mientras no estás. La próxima vez que te adjuntes, la superposición se vuelve a abrir con ella o con su respuesta.

En Windows, si presionas ← en aproximadamente medio segundo después de adjuntarte, Claude Code muestra Ambiguous ←, press again to detach, porque en ese intervalo la terminal puede volver a entregar una pulsación de antes de que te adjuntaras. Presiona ← de nuevo para desconectarte.

Ctrl+Z también te desconecta, pero en su lugar vuelve a donde empezaste: a la vista de agentes si te adjuntaste desde allí, o a tu shell si ejecutaste claude attach. Usa Ctrl+Z cuando un diálogo tiene el foco y no responde a ←.

Ctrl+C mantiene su comportamiento de interrupción estándar mientras estás adjunto: cancela una respuesta en ejecución o un comando de shell ! en lugar de desconectarte. Presionar Ctrl+C dos veces en un prompt vacío te desconecta, igual que en cualquier sesión.

Desconectarte nunca detiene una sesión en segundo plano: ←, Ctrl+Z, /exit y Ctrl+C o Ctrl+D dobles la dejan en ejecución. Para finalizar una sesión desde dentro de ella, ejecuta /stop.

Cambiar de sesión sin salir de la terminal

En una sesión que se ejecuta en primer plano, una que iniciaste en la terminal en lugar de adjuntarte a ella desde la vista de agentes, presionar ← en un prompt vacío la pasa a segundo plano y abre la vista de agentes con esa fila seleccionada, para que puedas cambiar de sesión sin salir de la terminal. La misma pulsación única desconecta una sesión adjunta.

Si presionas ← justo después de borrar el último texto del prompt o de moverte por el historial de prompts, Claude Code te pide que confirmes: la primera pulsación muestra Press ← again to open agents, o Press ← again to go back to agents en una sesión adjunta, y la segunda pulsación hace el cambio.

Cuando ← pasa a segundo plano una sesión en primer plano, la vista de agentes muestra Your conversation moved to the background encima de la lista, con la fila de esa sesión ya seleccionada. Desde allí:

  • Presiona Enter para volver a abrir la conversación.
  • Presiona Esc para deshacer el cambio y volver a la conversación. Si Esc muestra Still starting — try again in a moment, la sesión en segundo plano aún no está lista, así que vuelve a presionar Esc en un momento.
  • Presiona Ctrl+C dos veces para salir a tu shell.

Cuando Claude Code no puede volver a abrir la conversación, sale e imprime un comando claude --resume que la reanuda.

La lista de tareas de Claude se traslada a la sesión en segundo plano junto con la conversación, por lo que la lista de verificación está intacta cuando vuelves a esa fila.

La fila desde la que presionaste ← también mantiene un nombre en negrita y sin atenuar después de que muevas la selección con las teclas de flecha o el ratón, para que puedas saber de qué sesión viniste.

Si una herramienta se está ejecutando cuando presionas ←, Claude Code espera hasta unos diez segundos a que termine antes de pasar a segundo plano, y Claude continúa la respuesta en la sesión en segundo plano. Presiona ← de nuevo para pasar a segundo plano de inmediato en lugar de esperar. Cuando el trabajo en curso no puede trasladarse a la sesión en segundo plano, Claude Code muestra primero el diálogo Background this session?, igual que con /background.

El límite de diez segundos no se aplica mientras los subagentes en primer plano que Claude inició en la conversación sigan ejecutándose. Claude Code sigue esperando para que su trabajo se traslade, y muestra un aviso Still backgrounding after the current tool mientras espera. Presiona ← de nuevo para pasar a segundo plano sin esperar, lo que reinicia esos subagentes desde el principio. Claude Code no espera a los subagentes que está ejecutando un flujo de trabajo dinámico. Cuando un flujo de trabajo tiene subagentes en ejecución, Claude Code muestra en su lugar el diálogo Background this session?.

Claude Code no pasa la sesión a segundo plano mientras tienes texto sin enviar en la entrada del prompt, porque el texto permanece en el cuadro de entrada de tu terminal y no se trasladaría a la sesión en segundo plano. Si escribes en la entrada mientras Claude Code espera para pasar la sesión a segundo plano, cancela el cambio con Backgrounding cancelled — you have unsent text in the input. Send it or clear it, then press ← again.

Presionar ← crea la fila de la sesión incluso cuando la conversación aún no tiene mensajes, por lo que → sigue volviendo a ella.

Puedes desactivar este atajo para las sesiones en primer plano con el ajuste leftArrowOpensAgents en /config.

Organizar la lista

La vista de agentes agrupa las sesiones para que las que necesitan entrada estén en la parte superior, con Ready for review y Needs input encima de Working y Completed. Estos nombres de grupo no se corresponden uno a uno con los estados anteriores: una sesión pasa a Ready for review cuando tiene un pull request abierto que necesita revisión o tiene verificaciones fallidas, y Completed reúne las sesiones terminadas, fallidas y detenidas.

Presiona Ctrl+S para agrupar por directorio en su lugar. Tu elección persiste entre ejecuciones.

Dentro de un grupo:

  • Presiona Ctrl+T para fijar una sesión en la parte superior y mantener su proceso en ejecución mientras está inactiva
  • Presiona Shift+↑ o Shift+↓ para reordenar las sesiones
  • Presiona Ctrl+R para cambiar el nombre de una sesión
  • Presiona Enter en un encabezado de grupo para contraerlo, excepto mientras hay un filtro activo, cuando todos los grupos permanecen expandidos

Para quitar una sesión de la lista, presiona Ctrl+X para detenerla y Ctrl+X de nuevo en menos de dos segundos para eliminarla. Presionar Ctrl+X en un encabezado de grupo elimina todas las sesiones de ese grupo después de una confirmación.

La segunda pulsación elimina la sesión incluso cuando el intento de detenerla falla, por ejemplo porque el servicio en segundo plano no responde: la confirmación permanece activa otros dos segundos, y la eliminación termina por sí misma el proceso de la sesión. Presiona Esc para descartar la confirmación sin eliminar.

Salvo en los casos de conservación descritos en Qué elimina borrar una sesión, eliminar quita la sesión de la lista, y un worktree que Claude creó para ella se elimina, se conserva o se deja en su lugar según cómo la elimines y lo que contenga el worktree. La transcripción de la conversación siempre permanece en tu máquina local, disponible mediante claude --resume.

Para recuperar una sesión en Claude Code v2.1.212 o posterior, escribe /resume en la entrada de despacho. Se abre un selector con las sesiones anteriores del repositorio desde el que abriste la vista de agentes, de la más reciente a la más antigua, incluidas las sesiones que eliminaste de la lista; las sesiones que ya tienen una fila no se enumeran. ↑/↓ mueven la selección, Enter reanuda la sesión seleccionada como sesión en segundo plano para que vuelva a la lista como una fila, y Esc cierra el selector.

El selector se abre solo con un /resume sin argumentos. Una reanudación dirigida, acotada o restringida no puede resolverse con el selector, por lo que la vista de agentes muestra en su lugar la sugerencia attach to a session to run it cuando:

  • /resume nombra un id o un término de búsqueda
  • la vista está acotada con --cwd
  • la vista se inició con --safe-mode
  • la vista se abrió con un flag como --permission-mode o --settings

Las sesiones completadas que no caben en la pantalla se pliegan en una fila … N more. El grupo Completed ocupa el espacio vertical que queda después de los grupos activos, y en una terminal corta el encabezado se compacta en una sola línea de resumen para que las sesiones que están trabajando o necesitan entrada sigan visibles.

Filtrar sesiones

Comienza la entrada de despacho con uno de estos filtros para reducir la lista mientras escribes:

Filtro Muestra
a:<name> Sesiones que ejecutan el agente nombrado
s:<state> Sesiones en el estado indicado, como s:working, o bajo el encabezado de grupo indicado, como s:ready para Ready for review. s:blocked enumera todo lo que te está esperando
n:<text> Sesiones cuyo nombre o primer prompt contiene el texto, como n:login. Requiere Claude Code v2.1.287 o posterior
o:<text> Sesiones cuyo resultado contiene el texto, como o:merged. Un o: sin texto enumera todas las sesiones que han informado un resultado
Un número de pull request o merge request, como #1234, o su URL La sesión que trabaja en ese pull request o merge request
Cualquier otra URL La sesión cuyo primer prompt contenía esa URL

Para combinar filtros, comienza con a:, s:, n: u o: y agrega más, separados por espacios. La lista muestra las sesiones que coinciden con todos ellos. Por ejemplo, s:blocked a:reviewer enumera las sesiones reviewer que te están esperando.

Mientras hay un filtro activo, los grupos que contrajiste se expanden para mostrar sus coincidencias y se selecciona una coincidencia, de modo que al presionar Enter se abre. Borra la entrada para quitar el filtro, y esos grupos se vuelven a contraer.

Atajos de teclado

Presiona ? en la vista de agentes para ver los atajos en contexto. La siguiente tabla los resume.

Atajo Acción
↑ / ↓ Moverse entre filas
PgUp / PgDn Subir o bajar una pantalla de filas
Home / End Saltar a la primera o a la última fila
Enter Adjuntarse a la sesión seleccionada, o enviar el texto de la entrada si no es un filtro
Space Abrir o cerrar el panel de vista previa de la sesión seleccionada
Shift+Enter Insertar una nueva línea en la entrada de despacho, como en el prompt principal
Ctrl+Enter Despachar y adjuntarse de inmediato, en terminales donde la superposición de ? enumera ctrl+enter to start and open
→ Adjuntarse a la sesión seleccionada
Alt+1..Alt+9 Adjuntarse a la sesión 1–9 del directorio de la sesión con el foco
Tab Con la entrada vacía, explorar todos los subagentes. De lo contrario, aplicar la sugerencia resaltada
Ctrl+S Cambiar la agrupación entre estado y directorio
Ctrl+T Fijar o desfijar la sesión seleccionada
Ctrl+F Buscar sesiones por nombre, con el filtro n:
Alt+↑ / Alt+↓ Saltar al encabezado de grupo anterior o siguiente
Ctrl+R Cambiar el nombre de la sesión seleccionada
Ctrl+G Abrir el prompt de despacho en tu $VISUAL o $EDITOR
Ctrl+J Insertar una nueva línea en la entrada de despacho
Ctrl+X Detener la sesión; presiona de nuevo en menos de dos segundos para eliminarla
Shift+↑ / Shift+↓ Reordenar la sesión seleccionada
Esc Cerrar el panel de vista previa, borrar la entrada o salir. Cuando abriste la vista de agentes pasando tu sesión a segundo plano con ←, el Esc final vuelve a esa conversación en lugar de salir. Con el modo de editor vim activado, presionar Esc en la entrada cambia del modo INSERT al modo NORMAL y conserva tu texto, como en el prompt principal
Ctrl+C Borrar la entrada; presiona dos veces para salir
? Mostrar atajos

Los atajos que tienen una acción en el contexto Agents siguen tu keybindings.json. También lo hace Ctrl+G, a través del atajo chat:externalEditor del contexto Chat.

Enviar nuevos agentes

Puedes enviar nuevas sesiones en segundo plano desde la vista de agentes, enviar o copiar una sesión interactiva existente al segundo plano, o iniciar una directamente desde el shell.

Desde la vista de agentes

Escribe un prompt en la entrada de la parte inferior de la vista de agentes y presiona Enter para iniciar una nueva sesión en segundo plano. La sesión se nombra automáticamente a partir del prompt; cámbiale el nombre más tarde con Ctrl+R.

El nombre automático es una etiqueta corta escrita por un modelo de clase Haiku. Un nombre que la sesión obtiene más tarde también aparece en su fila, incluido el título generado que la sesión obtiene cuando aceptas un plan en esa sesión.

Pega una imagen en el prompt para incluir una captura de pantalla o un diagrama con la tarea.

El texto pegado de más de 800 caracteres o más de tres líneas se contrae en un marcador de posición [Pasted text #N] para que la entrada permanezca en una sola línea; el texto completo se envía cuando haces el envío. Para revisar o editar el texto contraído antes de enviarlo, pega el mismo texto de nuevo y el marcador de posición se vuelve a expandir en la entrada.

Usa prefijos o menciones en partes del prompt para controlar cómo comienza la sesión:

Entrada Efecto
<agent-name> <prompt> Si la primera palabra coincide con el nombre de un subagente personalizado, ese subagente se ejecuta como el agente principal de la sesión con la configuración de su frontmatter
@<agent-name> Menciona un subagente personalizado en cualquier lugar del prompt para ejecutarlo como el agente principal
@<repo> Menciona un repositorio para ejecutar la sesión allí. Consulta Enviar a un directorio específico para ver qué repositorios se enumeran
/<command> Sugiere skills y comandos para enviar como el prompt
! <command> Ejecuta un comando de shell como un trabajo en segundo plano en lugar de iniciar una sesión de Claude. El trabajo aparece como una fila a la que puedes adjuntarte, que puedes observar y de la que puedes desasociarte
#<number> o una URL de pull request o merge request Si una sesión ya está trabajando en ese pull request o merge request, Claude Code selecciona su fila en lugar de enviar una nueva sesión

Un pequeño conjunto de comandos se ejecuta en la propia vista de agentes en lugar de enviarse:

  • /exit y /quit cierran la vista de agentes
  • /logout cierra tu sesión
  • /model establece el modelo de envío
  • /login abre el diálogo de inicio de sesión para que puedas iniciar sesión de nuevo sin adjuntarte a una sesión
  • Un /resume sin argumentos, o su alias /continue, abre un selector de sesiones anteriores del repositorio para recuperar una como sesión en segundo plano. Requiere Claude Code v2.1.212 o posterior

Los skills, tus propios comandos y los comandos integrados que expanden prompts, como /init, se envían a una nueva sesión en segundo plano como su primer prompt. Otros comandos integrados muestran en su lugar la sugerencia attach to a session to run it. Todo lo que escribiste permanece en la entrada junto a la sugerencia para que puedas editarlo.

Empaquetar una tarea recurrente como un skill te permite iniciar el mismo flujo de trabajo desde la vista de agentes repetidamente sin volver a escribir el prompt.

Cuando el mismo @name coincide tanto con un subagente como con un repositorio hermano, el subagente tiene prioridad. La coincidencia con la primera palabra sin @ también se aplica, por lo que un prompt que casualmente comienza con uno de los nombres de tus subagentes envía ese subagente en lugar de tratar la palabra como texto sin formato. Usa la forma @ cuando quieras ser explícito, o comienza el prompt con otra palabra para evitar la coincidencia.

Enviar a un directorio específico

Una nueva sesión se ejecuta en el directorio desde el que abriste la vista de agentes. Para apuntar a un directorio diferente, usa cualquiera de estas opciones:

  • Abre claude agents en ese directorio.

  • Abre claude agents en un directorio principal y menciona un repositorio secundario con @<repo> en el prompt. Al escribir @ se enumeran estos destinos:

    • Repositorios Git un nivel por debajo del directorio de inicio
    • Los git worktrees registrados del repositorio desde el que iniciaste que se encuentran dentro de su árbol de directorios, como los que Claude crea en .claude/worktrees/, etiquetados con su rama extraída. Los worktrees agregados fuera del repositorio, como con git worktree add ../feature, no se enumeran
    • Cualquier directorio que ya tenga una sesión en la lista

    Un directorio cuyo nombre contiene un espacio no se enumera.

  • Desde el shell, haz cd al directorio y ejecuta claude --bg "<prompt>".

Cuando la vista de agentes está agrupada por directorio, el envío manda el prompt al directorio de la fila seleccionada, para que puedas seleccionar un grupo y enviar a él sin volver a escribir la ruta.

Desde dentro de una sesión

Dos comandos mueven el trabajo de la sesión en la que estás al segundo plano: /background envía allí la conversación actual y libera tu terminal, y /fork envía una copia mientras sigues trabajando donde estás.

Enviar la sesión al segundo plano

Ejecuta /background o su alias /bg para mover la conversación actual a una sesión en segundo plano. Pasa un prompt como /bg run the test suite and fix any failures para dar antes una instrucción más. Si Claude está respondiendo cuando ejecutas /bg, la respuesta continúa en la sesión en segundo plano.

Salir de una sesión que aún tiene trabajo en segundo plano en ejecución, como subagentes, comandos de shell en segundo plano, flujos de trabajo o monitores, muestra un diálogo Background work is running en lugar de salir inmediatamente. Elige Move to background and exit para enviar la sesión al segundo plano de la misma manera que lo hace /background y volver a tu shell. La opción no se muestra cuando la vista de agentes está desactivada.

Si una sesión en segundo plano de la lista ya tiene el nombre de la conversación, Claude Code numera el nombre de la nueva fila, como my-session (2), y deja sin cambios el nombre de la fila existente. Para cambiar el nombre de la nueva fila, selecciónala en la vista de agentes y presiona Ctrl+R.

Copiar la sesión con /fork

Ejecuta /fork para copiar la conversación actual en una nueva sesión en segundo plano mientras la original sigue ejecutándose. La copia comienza con todo lo que hay en la conversación hasta ese punto; consulta los puntos a continuación para ver dónde se ejecuta la copia. También conserva el modelo, el modo de permisos, el nivel de esfuerzo y cualquier directorio o concesión de permisos "no volver a preguntar" que agregaste durante la sesión. La copia aparece como su propia fila en la vista de agentes.

Después del fork, las dos conversaciones son independientes: nada de lo que hace la copia entra por sí solo en la conversación original, aunque en las sesiones donde la mensajería entre sesiones está habilitada, el Claude de cualquiera de las dos sesiones puede enviarle un mensaje explícito a la otra.

Copiar la sesión requiere Claude Code v2.1.212 o posterior; en las versiones v2.1.161 a v2.1.211, /fork inicia en su lugar un subagente bifurcado, que ahora es /subtask. Cuando la vista de agentes está desactivada, /fork mantiene el comportamiento de subagente bifurcado y /subtask no está disponible.

Pasa un prompt como /fork open a draft pull request with the work so far y la copia comienza a trabajar en él de inmediato. Sin un prompt, la copia espera su primera instrucción: selecciona su fila en claude agents y presiona Space para enviarle una, o ejecuta claude attach <id>. La fila seleccionada muestra space to send it a prompt mientras espera.

La confirmación de /fork es una línea que muestra el estado de la copia, como session running, el nombre de su fila en la vista de agentes y su ID de sesión para claude attach. Haz clic en el nombre para cambiar a la copia: esta sesión pasa al segundo plano, igual que al presionar ←, y la vista de agentes abre la sesión de la copia.

Excepto cuando la copia edita en el mismo lugar, Claude Code le indica que cree un worktree propio antes de hacer cambios en el código. Fuera de un repositorio git, solo una copia que sale de un worktree creado por un hook recibe la instrucción; sin un hook WorktreeCreate, la copia edita en el mismo lugar. A una copia que sale de tu worktree también se le indica que nunca edite, ejecute comandos ni entre en ese worktree, sea cual sea el ajuste de aislamiento.

Dónde comienza la copia depende de dónde se esté ejecutando la sesión actual:

  • Como cualquier sesión enviada, la copia se mueve a su propio worktree antes de editar archivos. En ese caso, la confirmación no menciona dónde se ejecuta la copia.
  • Cuando tu sesión se movió a su worktree vinculado después de iniciarse, la copia comienza de nuevo donde estaba la sesión antes del movimiento y, a menos que edite en el mismo lugar, hace sus cambios de código en un worktree propio allí. Cuando tu worktree tiene extraída una rama, esa instrucción también le indica a una copia cuya tarea se basa en tu trabajo que base su nueva rama en la tuya, ya que tu rama permanece extraída en tu worktree. La confirmación termina con runs in the origin tree.
  • Cuando iniciaste la sesión dentro de un worktree vinculado de un repositorio que tiene un árbol de trabajo principal, la copia comienza en ese árbol de trabajo principal, con la misma regla de worktree propio pero sin instrucción sobre la rama. Aquí la confirmación también termina con runs in the origin tree.
  • Una sesión iniciada dentro de un worktree de una estructura de repositorio bare no tiene un árbol de trabajo principal al que volver, por lo que la copia permanece donde está y la confirmación termina con edits this checkout. La misma nota aparece cuando el aislamiento con worktrees está desactivado en una sesión que no está dentro de un worktree vinculado, porque entonces la copia edita los archivos que tienes abiertos.

Las sesiones iniciadas con flags de inicio que la copia no heredaría, como un prompt del sistema reemplazado o una lista de permitidos --tools, no se pueden bifurcar; Claude Code lo indica en lugar de hacer una copia parcial. Una sesión enviada desde la vista de agentes se bifurca normalmente: la copia se inicia con la misma definición de agente e instrucciones añadidas que la sesión de la que proviene.

Qué se conserva al enviar al segundo plano

Enviar al segundo plano inicia un proceso nuevo que se reanuda desde la conversación guardada, y el trabajo en curso pasa a él: los comandos de shell en segundo plano en ejecución, los subagentes en segundo plano, los flujos de trabajo dinámicos, las tareas programadas que creaste con /loop y las respuestas automáticas de Claude a comentarios de artefactos se conservan y siguen ejecutándose allí. Un subagente se mueve junto con todo lo que inició, por lo que solo se conserva cuando todo ese trabajo también puede moverse. Para detener el trabajo en curso en lugar de conservarlo, establece la variable de entorno CLAUDE_DISABLE_ADOPT=1; Claude Code entonces te pide que confirmes antes de enviar al segundo plano.

Cuando un flujo de trabajo dinámico aún tiene subagentes en ejecución, Claude Code pregunta antes de enviar al segundo plano con el diálogo Background this session?, que indica cuántos subagentes se reiniciarían. Elige Stay para dejar que terminen primero. Si confirmas, Claude Code reproduce la ejecución en la sesión en segundo plano: los subagentes que aún se estaban ejecutando comienzan de nuevo desde el principio, por lo que los tokens que usaron hasta ese momento se gastan otra vez. Consulta Reanudar después de una pausa para ver qué subagentes completados devuelven sus resultados guardados y cuáles se ejecutan de nuevo.

Claude Code detiene el trabajo que no se puede conservar, como un monitor en ejecución, y detiene también un subagente en segundo plano que posee un monitor. Cuando hay trabajo de este tipo en ejecución, Claude Code muestra el diálogo Background this session? para que puedas confirmar antes de que detenga el trabajo.

Una vez en segundo plano, la sesión puede iniciar nuevos subagentes, monitores y comandos en segundo plano, y estos siguen ejecutándose tras desasociaciones y nuevas conexiones posteriores.

Los flags de configuración del inicio original se conservan en la sesión en segundo plano, por lo que sus servidores MCP, su configuración y su modelo de respaldo siguen en vigor:

  • --mcp-config y --strict-mcp-config
  • --settings
  • --setting-sources
  • --add-dir
  • --plugin-dir
  • --fallback-model
  • --allow-dangerously-skip-permissions

Los directorios que agregaste durante la sesión con /add-dir también se conservan. Conservar --allow-dangerously-skip-permissions mantiene bypassPermissions disponible en la sesión en segundo plano, pero no otorga nada nuevo: el modo sigue requiriendo la aceptación interactiva única descrita en Modo de permisos, modelo y esfuerzo.

Desde tu shell

Pasa --bg o su forma larga --background para iniciar una sesión que va directamente al segundo plano:

claude --bg "investigate the flaky SettingsChangeDetector test"

El prompt es el argumento posicional, no un valor de -p. Claude Code rechaza --bg combinado con -p o --print antes de crear ninguna sesión, porque --print nunca inicia la sesión interactiva a la que se adjunta claude agents.

Si ejecutas claude --bg desde una terminal en un directorio en el que no has confiado, primero aparece el diálogo de confianza del espacio de trabajo y la sesión comienza una vez que aceptas. Si rechazas, Claude Code sale sin iniciar una sesión. Donde no puede aparecer ningún diálogo, como en un script, el comando sale en su lugar con un error Workspace not trusted.

Para ejecutar un subagente específico que hayas definido, como un code-reviewer, como el agente principal de la sesión, combina --bg con --agent:

claude --agent code-reviewer --bg "address review comments on PR 1234"

Si el nombre no coincide con ninguno de tus subagentes, el inicio falla: Claude Code imprime una advertencia no agent named y aun así informa que la sesión se envió al segundo plano, pero la sesión sale inmediatamente con un error --agent '<name>' not found.

Cuando la sesión en segundo plano se reanuda o se reinicia más tarde, Claude Code restaura el agente y sus restricciones de herramientas; para su prompt del sistema, consulta Flags de prompt del sistema en conversaciones reanudadas. Primero busca el agente en el propio directorio de la sesión, siempre que hayas confiado en ese espacio de trabajo, por lo que un agente con alcance de proyecto se sigue cargando cuando la sesión se reanuda desde otro directorio. Si el agente ya no existe, la sesión continúa con las herramientas predeterminadas y su transcripción se abre con una advertencia que nombra al agente.

Para continuar una conversación existente en segundo plano, pasa su ID de sesión completo con --resume:

claude --resume 1f0e2c9a-6d0b-4c11-9f39-2a77c1d4e8b5 --bg "pick up where you left off and finish the migration"

En Claude Code v2.1.257 o posterior, Claude Code continúa esa sesión con el mismo ID, o inicia una copia con un ID nuevo e imprime una línea note: que explica por qué no pudo continuar en el mismo lugar. Cuando la sesión continúa en el mismo lugar, claude agents muestra una sola fila para ella.

Cuando combinas --bg con --continue, con un --resume sin argumentos o con --resume seguido de un nombre o una ruta de archivo, Claude Code siempre inicia una copia de este tipo. Agrega --fork-session para iniciar una copia a propósito, sin la nota.

Pasa --name para establecer el nombre visible de la sesión en la vista de agentes en lugar del generado automáticamente:

claude --bg --name "flaky-test-fix" "investigate the flaky SettingsChangeDetector test"

Después de enviar al segundo plano, Claude imprime el ID corto de la sesión y los comandos para administrarla. Cuando el servicio que aloja las sesiones en segundo plano aún no se está ejecutando, --bg puede imprimir primero Starting background service… encima de esta salida. Cuando pasas --name, el nombre aparece después del ID corto:

backgrounded · 7c5dcf5d · flaky-test-fix
  claude agents             list sessions
  claude attach 7c5dcf5d    open in this terminal
  claude logs 7c5dcf5d      show recent output
  claude stop 7c5dcf5d      stop this session

Ejecutar un comando de shell

Para ejecutar un comando de shell como un trabajo en segundo plano en lugar de una sesión de Claude, pasa --exec. El siguiente ejemplo ejecuta pytest -x como un trabajo en segundo plano:

claude --bg --exec 'pytest -x'

Desde la vista de agentes, envía el mismo tipo de trabajo escribiendo ! como primer carácter de la entrada de envío: el ! se muestra como prefijo, todo lo que viene después es el comando, y Enter inicia el trabajo.

El comando se ejecuta como un trabajo respaldado por un PTY y aparece como una fila en la vista de agentes, con la línea de salida más reciente como su estado. Un trabajo de shell ejecuta el comando en lugar de Claude, por lo que no se invoca ningún modelo y la salida no se envía a ninguna sesión.

Para ver la salida, adjúntate a la fila, presiona Space para echar un vistazo sin adjuntarte, o ejecuta claude logs <id> desde tu shell. La salida capturada permanece en memoria y no se escribe en el disco. La fila y su salida se limpian automáticamente unos cinco minutos después de que el comando termina, así que léela antes si necesitas el resultado.

Cómo se aíslan las ediciones de archivos

Cuando envías una sesión en segundo plano desde la vista de agentes o inicias una con claude --bg, la sesión comienza en tu directorio de trabajo. Antes de editar archivos, Claude mueve la sesión a un git worktree aislado en .claude/worktrees/, para que las sesiones paralelas puedan leer el mismo checkout pero cada una escriba en el suyo. Una vez que la sesión está en su worktree, Claude Code aplica el aislamiento con worktrees a la sesión y a cualquier subagente que genere.

Claude omite el worktree cuando:

  • Moviste al segundo plano una sesión que ya tenías abierta con ← o /background. Esa sesión sigue editando archivos donde ya estaba trabajando
  • La sesión ya está dentro de un git worktree vinculado, ya sea que Claude lo haya creado en .claude/worktrees/ o que tú lo hayas creado con git worktree add en otro lugar
  • El archivo que Claude está editando está dentro de un git worktree vinculado, como uno que la sesión o su subagente creó con git worktree add
  • El directorio de trabajo no es un repositorio git y no hay ningún hook WorktreeCreate configurado
  • La escritura está fuera del directorio de trabajo

Para desactivar el aislamiento con worktrees en un repositorio donde los git worktrees no son prácticos, establece worktree.bgIsolation en "none". Las sesiones en segundo plano editan entonces tu copia de trabajo directamente sin moverse antes a un worktree. Agrega el ajuste al .claude/settings.json del proyecto:

{
  "worktree": {
    "bgIsolation": "none"
  }
}

Fuera de un repositorio git, las sesiones escriben directamente en el directorio de trabajo y no están aisladas entre sí, así que evita enviar sesiones paralelas que editen los mismos archivos. Si usas un sistema de control de versiones diferente, configura un hook WorktreeCreate y Claude aísla las ediciones de la misma manera que lo hace con git.

Cuando el hook falla en un directorio que no es un repositorio git, Claude omite el aislamiento para ese directorio y edita el directorio de trabajo en el mismo lugar. Dentro de un repositorio git, una sesión que Claude mueve a un worktree antes de editar no puede editar archivos en el checkout compartido hasta que se produce ese movimiento.

Para encontrar la ruta del worktree de una sesión, adjúntate y revisa su directorio de trabajo.

Un subagente que genera la sesión en segundo plano hereda el directorio de trabajo de la sesión. Una vez que la sesión está en un worktree, las ediciones de archivos del subagente quedan en ese worktree y no en tu copia de trabajo. Para darle en cambio a un subagente su propio worktree separado, establece isolation: worktree en su frontmatter o pasa isolation: "worktree" al generarlo.

Cuando una sesión en segundo plano ha hecho cambios de código en un worktree en el que entró Claude, Claude Code le indica a Claude que preserve el trabajo antes de terminar, para que se conserve si eliminas la sesión y su worktree:

  • Hacer commit y push: Claude hace commit sin preguntar y hace push de la rama cuando el repositorio tiene un remoto.
  • Pull request en borrador: Claude abre uno cuando la tarea lo requiere, y la etiqueta #N aparece en la fila.
  • Nunca: hacer push a main o master, hacer force push ni fusionar.
  • Tus instrucciones de git tienen prioridad: si la tarea, CLAUDE.md o la memoria indican que tú te encargas de hacer commit o push, Claude te deja git a ti.

Una sesión que edita un checkout que no aisló ella misma sigue preguntando antes de hacer commit o cambiar de rama. Esto se aplica cuando el aislamiento está establecido en "none", cuando falló el movimiento al worktree o cuando la sesión comenzó dentro de un worktree que ya existía.

Sea cual sea la tarea, Claude termina el trabajo con un informe que dice qué hizo y dónde está el trabajo: una ruta, una rama, un pull request o la propia respuesta.

Qué elimina borrar una sesión

Elimina una sesión con Ctrl+X dos veces en la vista de agentes o con claude rm. Excepto en los casos conservados que se indican a continuación, la sesión sale de la lista. Su transcripción permanece en tu máquina a través de claude --resume, y la eliminación se mantiene tras los reinicios del supervisor.

Qué sucede con un worktree que Claude creó para la sesión:

  • La vista de agentes lo elimina, incluidos los cambios sin commit, así que primero haz commit de lo que quieras conservar.

  • claude rm lo conserva, junto con la fila de la sesión, cuando tiene cambios sin commit.

  • Ni la vista de agentes ni claude rm eliminan un worktree que otra sesión en ejecución está usando o ha bloqueado, y volver a eliminar no cambia eso. Claude Code conserva el worktree y la sesión, e indica el directorio conservado y el motivo; en la vista de agentes, la fila de la sesión muestra not deleted. Cierra la otra sesión y luego vuelve a eliminar.

  • Cuando eliminas una sesión cuyo worktree tiene commits que Claude Code no puede confirmar que estén guardados en otro lugar, Claude Code conserva el worktree y la sesión, y el mensaje indica la rama del worktree y cuántos commits no tienen push. El mensaje también ofrece las dos formas de continuar: hacer push de los commits, o volver a eliminar para descartarlos.

    Los commits que están en un remoto no bloquean la eliminación. Tampoco los commits en la copia local de la rama predeterminada de tu remoto origin, siempre que esa rama esté extraída en tu checkout principal, es decir, el propio directorio del repositorio y no un worktree.

    Después de ese rechazo, tú eliges:

    • Para conservar los commits, haz push de ellos o fusiónalos en esa rama predeterminada, y luego vuelve a eliminar la sesión.
    • Para descartarlos, vuelve a eliminar la sesión sin hacer push: presiona Ctrl+X dos veces en su fila en la vista de agentes, o ejecuta el comando claude rm <id> --discard-unpushed que imprimió el rechazo. Esto elimina la sesión y el worktree junto con su rama, descartando los commits sin push y cualquier cambio sin commit.

    Cuando vuelves a eliminar, Claude Code descarta solo lo que mostró el rechazo: si el worktree ha ganado un commit desde entonces, Claude Code lo conserva de nuevo y muestra el estado actualizado.

    Cuando los registros de otra sesión terminada también mencionan el worktree, este se conserva cuando vuelves a eliminar; haz push de los commits y luego vuelve a eliminar.

  • Un worktree que git ya no reconoce, por ejemplo después de git worktree prune, no bloquea la eliminación. Claude Code elimina la sesión y deja el directorio en el disco.

  • Cuando git o tu hook WorktreeRemove no logra eliminar el worktree, Claude Code conserva el worktree y la sesión, y el mensaje indica la causa. En el caso de un hook, el mensaje dice cómo terminó, como exited 1, y cita el inicio de su stderr. El mensaje también te indica cuál de estas opciones seguir:

    • Vuelve a eliminar la sesión para eliminar el directorio de todos modos, presionando Ctrl+X dos veces en su fila en la vista de agentes o ejecutando el comando claude rm <id> --force-remove-worktree <worktree-id> que imprimió el rechazo de claude rm. La rama del worktree permanece en el repositorio.

      Claude Code ofrece esto solo cuando puede confirmar todo lo siguiente:

      • El directorio es uno de los worktrees vinculados del repositorio en .claude/worktrees/
      • Ni el worktree ni un submódulo extraído tienen cambios sin commit en archivos rastreados
      • Ningún registro de otra sesión lo menciona

      Cuando Claude Code no puede verificar el estado del checkout de un submódulo, como uno reemplazado por un repositorio git separado, tampoco ofrece esto.

    • Corrige lo que lo impide, como hacer commit o stash de los cambios sin commit, mover un repositorio git separado fuera del worktree, cerrar lo que esté usando el directorio o corregir el hook, y luego vuelve a eliminar la sesión.

    • Elimina tú mismo el directorio y luego vuelve a eliminar la sesión.

Un worktree que creaste tú mismo y dentro del cual iniciaste la sesión se deja en su lugar en cualquier caso.

Una sesión cuyo directorio de worktree no pertenece a ningún repositorio git, porque el repositorio se eliminó o porque un hook WorktreeCreate creó el directorio en otro lugar, aún se puede eliminar. Mientras queden archivos en el directorio:

  • La vista de agentes pide la misma doble pulsación de Ctrl+X antes de descartarlos. Para un directorio creado por un hook, ejecuta en su lugar tu hook WorktreeRemove, y si no hay uno, rechaza la eliminación y conserva la sesión.
  • claude rm conserva la sesión y el worktree, e indica el motivo.

Cualquiera de las dos vías conserva un directorio que mencionan los registros de otra sesión terminada.

Establecer el modelo

El nombre del modelo que se muestra en el encabezado de la vista de agentes es el predeterminado de envío. Las nuevas sesiones que inicias desde la entrada usan este modelo, que proviene del ajuste model de tu configuración de usuario. Establécelo seleccionando un modelo en el selector /model, o edita el ajuste directamente.

Para sobrescribir el predeterminado de envío durante toda la sesión de la vista de agentes, pasa --model al abrir la vista de agentes. Consulta Modo de permisos, modelo y esfuerzo.

Para cambiar el predeterminado de envío desde dentro de la vista de agentes, escribe /model seguido del nombre de un modelo en la entrada de envío y presiona Enter. El encabezado se actualiza para mostrar ese modelo con un marcador (session), y las sesiones que envíes después lo usan. Escribe /model default para borrar la sobrescritura y volver al predeterminado de envío. Esta sobrescritura dura el resto de la ejecución actual de claude agents y no escribe en tu archivo de configuración. El siguiente ejemplo envía una sesión con Opus y la siguiente con Sonnet:

/model opus
refactor auth
/model sonnet
run the test suite

Cada sesión en segundo plano puede ejecutarse con un modelo diferente. Para sobrescribirlo en una sesión:

  • Desde el shell, pasa --model con claude --bg.
  • Adjúntate a una sesión en ejecución y ejecuta /model para cambiarlo: una selección en el selector, o un /model <name> escrito, se guarda como tu predeterminado para nuevas sesiones, a menos que presiones s en el selector para un cambio solo de la sesión. Un cambio solo de la sesión se mantiene si la sesión se vuelve a generar.
  • Envía un subagente cuyo frontmatter establezca un campo model.

Modo de permisos, modelo y esfuerzo

Una sesión en segundo plano toma su configuración, proveedor, modo de permisos, modelo y esfuerzo de dónde y cómo la enviaste. Las subsecciones a continuación cubren cada fuente y lo que persiste cuando el supervisor reinicia la sesión.

Configuración y proveedor

Una sesión en segundo plano lee su configuración del directorio en el que se ejecuta, igual que si hubieras iniciado claude allí con los flags de configuración que conservó. Esto incluye los valores env de la configuración del proyecto, por lo que un ANTHROPIC_MODEL o una variable de proveedor establecidos allí se aplican a todas las sesiones en segundo plano de ese directorio.

Una sesión en segundo plano también se ejecuta con el PATH del shell desde el que la enviaste, por lo que los comandos que ejecuta encuentran las mismas herramientas que tu terminal. También conserva la selección de proveedor de nube de ese shell, como CLAUDE_CODE_USE_BEDROCK o CLAUDE_CODE_USE_VERTEX, junto con sus alias ANTHROPIC_DEFAULT_*_MODEL y cualquier sobrescritura de CLAUDE_CODE_EXTRA_BODY que hayas exportado allí.

Gateway LLM

Si enrutas Claude Code a través de un gateway LLM, coloca las variables del gateway en el bloque env de un archivo de configuración en lugar de exportarlas en tu shell, y las sesiones en segundo plano las leen con el resto de su configuración. Establecer en un archivo de configuración muestra el bloque y qué archivo de configuración usar para la credencial.

Si en cambio exportas un ANTHROPIC_BASE_URL de gateway solo en tu shell, este llega a una sesión en segundo plano, junto con el ANTHROPIC_CUSTOM_HEADERS y la credencial que exportaste con él, solo cuando el propio supervisor se inició desde un shell que exportó el mismo gateway, y solo en estos casos:

  • Envías tu propia sesión al segundo plano con ← o /background
  • Envías una sesión al directorio en el que estás
  • Reactivas una sesión detenida en el directorio en el que estás adjuntándote a ella o respondiéndole

Claude Code reenvía un gateway situado delante de un proveedor de nube. Si el shell desde el que haces el envío selecciona el proveedor y exporta su endpoint de gateway con su flag para omitir la autenticación, Claude Code reenvía el par de endpoint y flag a la sesión en las condiciones que se aplican a ANTHROPIC_BASE_URL, junto con ANTHROPIC_CUSTOM_HEADERS. Por ejemplo, exporta CLAUDE_CODE_USE_VERTEX=1 con ANTHROPIC_VERTEX_BASE_URL y CLAUDE_CODE_SKIP_VERTEX_AUTH=1, y Claude Code reenvía ese endpoint y ese flag.

Claude Code aplica un gateway reenviado solo al proceso en ejecución de esa sesión y nunca lo escribe en el disco.

Modo de permisos

El modo de permisos depende de cómo iniciaste la sesión:

  • Enviada al segundo plano con /bg o ←: Claude Code conserva el modo de permisos en el que estaba la sesión, por lo que una que cambiaste a acceptEdits o auto se mantiene así después de desasociarte
  • Enviada desde una vista de agentes que abriste con ←: la configuración propia del destino tiene prioridad, y el modo de permisos de la sesión de la que viniste se aplica cuando nada más establece uno
  • Enviada desde claude agents iniciado en un shell, o con claude --bg: la nueva sesión comienza como lo haría una nueva sesión de claude en ese directorio, a menos que la hayas enviado desde una vista de agentes que abriste con predeterminados de envío. En qué modo de permisos comienza una sesión enumera el orden

Para una sesión que envías desde una vista de agentes abierta con ←, Claude Code toma el modo de permisos de la primera de estas fuentes que se aplique:

  1. El permissions.defaultMode del directorio de destino. Se aplican dos reglas sobre la fuente:
  2. El modo de permisos de la sesión de la que viniste

Cuando Claude Code rechaza el modo de una fuente por ser demasiado permisivo, decide la siguiente fuente de la lista. Por ejemplo, si haces el envío desde una sesión en modo plan a un directorio cuya configuración registrada en el repositorio pide acceptEdits, la nueva sesión comienza en modo plan. Si mueves ese defaultMode a ~/.claude/settings.json, se aplica sin importar el modo de permisos de la sesión de la que viniste.

El orden de permisividad es plan, luego Manual y dontAsk, luego acceptEdits y auto, cada uno de los cuales cuenta como más permisivo que el otro, y luego bypassPermissions.

Predeterminados de envío

Para establecer predeterminados para cada sesión que envíes desde la vista de agentes, pasa cualquiera de --permission-mode, --model, --effort o --agent al abrirla:

claude agents --permission-mode plan --model opus --effort high

Aquí --effort acepta los mismos valores que el flag --effort de nivel superior, incluido ultracode.

--agent establece el subagente que se usa cuando un prompt de envío no nombra ninguno, ya sea con @name o como primera palabra. Su valor predeterminado es el ajuste agent si hay uno establecido; de lo contrario, el agente integrado genérico claude. Nombrar un subagente en la entrada de envío sobrescribe ambos.

claude agents también acepta --dangerously-skip-permissions como abreviatura de --permission-mode bypassPermissions, y --allow-dangerously-skip-permissions para que bypassPermissions esté disponible en el ciclo de Shift+Tab de cada sesión enviada sin comenzar en ese modo. Ambos coinciden con los flags de nivel superior de la CLI.

Pasa --restricted para iniciar cada sesión que envíes desde la vista en modo restringido, como si cada una se iniciara con el flag de nivel superior --restricted. Requiere Claude Code v2.1.248 o posterior.

Los predeterminados activos aparecen en el pie, debajo de la entrada de envío.

Claude Code rechaza claude --bg --permission-mode bypassPermissions hasta que hayas aceptado el descargo de responsabilidad de omisión ejecutando claude --dangerously-skip-permissions una vez de forma interactiva, ya que ese modo permite que una sesión que no estás observando actúe sin aprobación. Pasar --dangerously-skip-permissions o --permission-mode bypassPermissions a claude agents muestra el mismo descargo de responsabilidad si no lo has aceptado antes, y aceptarlo aplica bypassPermissions a las sesiones que inicies desde la vista. Pasar --allow-dangerously-skip-permissions también muestra el mismo descargo de responsabilidad, y aceptarlo hace que bypassPermissions esté disponible en el ciclo de Shift+Tab de esas sesiones sin iniciarlas en ese modo.

Qué persiste tras los reinicios

El modo de permisos, el modelo y el esfuerzo que elegiste para una sesión en segundo plano, junto con los flags de configuración que conserva, persisten cuando el supervisor más tarde detiene y reinicia su proceso. Una sesión que iniciaste con claude --bg --dangerously-skip-permissions o claude --bg --permission-mode bypassPermissions permanece en bypassPermissions después de ese reinicio. Un modelo o esfuerzo que cambiaste a mitad de la sesión con /model o /effort también se conserva.

Si la sesión tomó su esfuerzo de tu configuración en lugar de --effort o /effort, Claude Code vuelve a leer tu configuración cada vez que inicia un proceso para la sesión. Después de editar el esfuerzo guardado en settings.json, el cambio llega a las sesiones que envíes al segundo plano con ← o /bg y a sus reinicios posteriores. El esfuerzo guardado es la clave effortLevel o una entrada de modelSettings.

Claude Code también conserva tras ese reinicio un nombre que hayas establecido con /rename o Ctrl+R, para que puedas seguir ejecutando claude --resume <name> para acceder a la sesión.

Un prompt que guardaste con Ctrl+S mientras estabas adjunto también se conserva con la sesión. Vuelve a abrir la sesión después de que su proceso se haya detenido o reiniciado, y presiona Ctrl+S para restaurar el texto guardado. El contenido pegado en lo guardado no se conserva tras el reinicio.

Configuración, plugins y servidores MCP

La vista de agentes acepta los mismos flags de configuración que claude para cargar configuración, plugins, servidores MCP y directorios adicionales. La vista de agentes aplica --settings, --setting-sources y --plugin-dir a sí misma y pasa todos los flags de configuración a las sesiones que envías desde ella, por lo que un plugin o servidor MCP que cargues de esta manera está disponible en esas sesiones.

Flag Efecto
--settings <file-or-json> Sobrescribe la configuración para la vista de agentes y las sesiones enviadas
--setting-sources <sources> Carga solo las fuentes de configuración indicadas, en la vista de agentes y en las sesiones enviadas
--add-dir <path> Otorga acceso a archivos en un directorio adicional
--plugin-dir <path> Carga un plugin desde un directorio local
--mcp-config <file-or-json> Carga servidores MCP desde un archivo de configuración o una cadena JSON
--strict-mcp-config Usa solo los servidores MCP de --mcp-config e ignora el resto de la configuración de MCP. Consulta Control exclusivo con managed-mcp.json para ver qué hace el flag con un archivo MCP administrado

Repite --add-dir, --plugin-dir o --mcp-config una vez por valor. claude agents no admite la forma separada por espacios, como --add-dir a b c.

Puedes colocar --settings, --setting-sources y --plugin-dir antes o después de agents. Mantén --add-dir y --mcp-config después de agents: si colocas cualquiera de ellos antes de agents, claude agents --json falla con un error unknown option.

El siguiente ejemplo abre la vista de agentes con una sobrescritura de configuración y un directorio adicional:

claude agents --settings ./ci-settings.json --add-dir ../shared-lib

--settings acepta una ruta de archivo o una cadena JSON en línea. Una ruta de archivo debe apuntar a un archivo existente; si no es así, Claude Code sale con un error Settings file not found.

Gestionar sesiones desde el shell

Cada sesión en segundo plano tiene un ID corto que puedes usar desde el shell. El ID se imprime cuando inicias una sesión con claude --bg, y el ID de cada sesión es su nombre de directorio bajo ~/.claude/jobs/. Estos comandos son útiles para scripting o cuando no quieres abrir la vista de agentes.

Comando Propósito
claude agents Abrir la vista de agentes
claude agents --cwd <path> Abrir la vista de agentes limitada a sesiones iniciadas bajo <path>
claude agents --json Imprimir sesiones como un array JSON y salir. Consulta Listar sesiones como JSON
claude attach <id|name> Conectarse a una sesión en esta terminal
claude logs <id|name> Imprimir la salida reciente de la sesión
claude stop <id> Detener una sesión. También acepta claude kill
claude respawn <id> Reiniciar una sesión, en ejecución o detenida, por ejemplo para usar un binario Claude Code actualizado. La sesión reiniciada reanuda su conversación guardada; cuando ninguna está en disco, ejecuta su prompt original nuevamente como una nueva conversación
claude respawn --all Reiniciar cada sesión en ejecución, por ejemplo para mover todas las sesiones a un binario Claude Code actualizado a la vez
claude rm <id> Eliminar una sesión de la lista, junto con un worktree que Claude creó para ella cuando es seguro eliminarlo; consulta Qué elimina la eliminación de una sesión. La transcripción de la conversación permanece en tu máquina local y sigue disponible a través de claude --resume
claude rm <id> --discard-unpushed <commit>@<worktree-id> Eliminar una sesión cuya eliminación fue rechazada por commits no enviados, descartando el worktree junto con su rama y commits. Pasa el valor exacto que imprimió el rechazo; consulta Qué elimina la eliminación de una sesión. Requiere v2.1.260 o posterior
claude rm <id> --force-remove-worktree <worktree-id> Eliminar una sesión cuya eliminación fue rechazada porque git o el hook WorktreeRemove no pudieron eliminar su worktree, eliminando el directorio worktree de todas formas y dejando su rama en el repositorio. Pasa el valor exacto que imprimió el rechazo; consulta Qué elimina la eliminación de una sesión. Requiere v2.1.268 o posterior
claude daemon status Imprimir el estado del supervisor, versión, directorio de socket y número de workers
claude daemon stop --any Detener el proceso supervisor y las sesiones en segundo plano que aloja. Pasa --keep-workers para dejar las sesiones en segundo plano en ejecución de modo que el siguiente supervisor se reconecte a ellas. El siguiente claude agents o claude --bg inicia un nuevo supervisor

claude attach y claude logs pueden recibir parte del nombre de una sesión en ejecución en lugar del ID, como en claude logs "auth refactor". Pasar un nombre requiere Claude Code v2.1.290 o posterior.

Listar sesiones como JSON

claude agents --json imprime sesiones activas como un array JSON y sale: cada sesión activa, más sesiones en segundo plano que aún están funcionando o bloqueadas incluso cuando su proceso ha salido. Agrega --all para incluir también sesiones en segundo plano completadas, y --cwd <path> para limitar la lista a sesiones iniciadas bajo ese directorio.

Cada entrada describe una sesión:

Campo Presente Descripción
cwd, kind, startedAt Siempre El directorio de trabajo, interactive o background, y la hora de inicio en milisegundos Unix
id Sesiones en segundo plano ID corto, utilizable con claude attach, claude logs y claude stop
state Sesiones en segundo plano Uno de working, blocked, done, failed o stopped. Consulta Leer el estado de la sesión desde un script para saber qué significa cada valor
pid, status Mientras el proceso está activo ID del proceso y uno de busy, waiting o idle
waitingFor Cuando status es waiting En qué está bloqueada la sesión: permission prompt para una aprobación, input needed para una pregunta de Claude o una solicitud de entrada de un servidor MCP, sandbox request, worker request o dialog open
sessionId, name Cuando está configurado sessionId es el UUID de sesión completo, utilizable con claude --resume. El name de una sesión interactiva es su nombre de visualización predeterminado hasta que nombres la sesión o aceptes un plan en ella

Leer el estado de la sesión desde un script

claude agents --json es la forma compatible para leer el estado de la sesión desde fuera de Claude Code, por ejemplo desde una barra de estado, un programador u otra sesión de Claude que supervisa el trabajo en segundo plano. Consulta claude agents --json --all, que sigue listando sesiones cuyo proceso ha salido, y lee el state, status y waitingFor de cada entrada.

state Qué significa
working Se está ejecutando un turno, o la sesión está entre pasos de trabajo que impulsa por sí sola, como una iteración de /loop o una espera en CI. status te indica si su proceso está busy en este momento
blocked La sesión está esperando por ti: una pregunta que hizo, una decisión de permiso o sandbox, un error que solo tú puedes resolver como un inicio de sesión expirado, o su primer prompt si la iniciaste sin uno. Cuando la espera es un prompt abierto en un proceso activo, waitingFor lo nombra
done El último turno terminó lo que pediste y la sesión está lista para tu siguiente prompt, independientemente de si su proceso aún está activo
failed, stopped La tarea terminó con un error, o la sesión fue detenida

Una sesión que terminó su turno y está esperando tu siguiente instrucción lee done, no blocked. blocked siempre significa que la sesión necesita algo de ti antes de poder continuar.

Los archivos bajo ~/.claude/jobs/<id>/ no son una interfaz estable. Los valores que una sesión u otro programa escribe en state, detail, tempo o needs se reemplazan en la siguiente actualización.

Si quieres que una sesión informe el progreso con sus propias palabras, haz que escriba un archivo propio, por ejemplo bajo $CLAUDE_JOB_DIR/tmp, en lugar de editar state.json.

Cómo se alojan las sesiones en segundo plano

Claude Code trata cada sesión listada en la vista de agentes como una sesión en segundo plano, independientemente de si estás actualmente conectado a ella. Por el contrario, una sesión iniciada ejecutando claude directamente está vinculada a esa terminal y finaliza cuando se cierra, a menos que la envíes al segundo plano.

Para verificar qué tipo de sesión estás usando, ejecuta /status. La fila Session kind muestra background job · attached o background job · unattended en una sesión en segundo plano, dependiendo de si una terminal está conectada, e interactive en cualquier otra sesión.

El proceso supervisor

El supervisor es un servicio en segundo plano que ejecuta tus sesiones en segundo plano para que sigan funcionando después de cerrar la vista de agentes o tu terminal. Claude Code lo inicia la primera vez que envías una sesión al segundo plano o abres la vista de agentes, y no necesitas administrarlo tú mismo.

Cada sesión es su propio proceso de Claude Code bajo el supervisor, y lo que sucede con ese proceso depende del estado de la sesión:

  • Funcionando, pausado en una solicitud de permiso u otro diálogo, o conectado: el proceso sigue ejecutándose. Un subagente, flujo de trabajo o monitor en ejecución cuenta como funcionando.
  • Finalizado o esperando tu próximo mensaje, y sin conectar durante aproximadamente una hora: el supervisor detiene el proceso para liberar recursos. Una sesión que terminó su turno haciéndote una pregunta cuenta como esperando tu próximo mensaje. La conversación permanece en el disco, y la próxima vez que te conectes o respondas, la sesión se reanuda donde se quedó. Fija una sesión con Ctrl+T para mantener su proceso ejecutándose.
  • Salió inesperadamente mientras el supervisor está ejecutándose: el supervisor reinicia el proceso. Finalizar una sesión que enviaste al segundo plano tú mismo con ← o /background, por ejemplo con kill, la marca como detenida en lugar de reiniciarla. Para sesiones que finalizaron con un apagado, consulta Las sesiones se muestran como fallidas o detenidas después del apagado.
  • Después de una actualización automática: el supervisor se reinicia en la nueva versión y mueve las sesiones inactivas en segundo plano. Las sesiones que están funcionando, esperando tu respuesta o conectadas no se interrumpen.

Cuando el proceso de una sesión se detiene o se reinicia, los comandos de shell en segundo plano, los flujos de trabajo dinámicos y los subagentes en segundo plano que Claude inició en ella se transfieren al siguiente proceso; los monitores en ejecución y los comandos de shell que un subagente inició se detienen con el proceso. Eliminar la sesión detiene todo lo que se transfirió. Para detener todo con el proceso en lugar de transferirlo, establece CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF en 1.

El supervisor y sus sesiones se autentican con las mismas credenciales almacenadas que tus sesiones interactivas. Para saber qué ajustes y variables de shell llegan a una sesión, incluido PATH, consulta Configuración y proveedor. Para endpoints de gateway, consulta Gateway LLM.

Dónde se almacena el estado

El estado de la sesión se almacena en tu directorio de configuración de Claude Code. Si estableces CLAUDE_CONFIG_DIR, el supervisor usa ese directorio en lugar de ~/.claude y se ejecuta como una instancia separada con sus propias sesiones.

Ruta Contenidos
~/.claude/daemon.log Registro del supervisor
~/.claude/daemon/roster.json Lista de sesiones en segundo plano en ejecución, utilizada para reconectarse después de un reinicio
~/.claude/jobs/<id>/state.json Estado por sesión mostrado en la vista de agentes. Léelo a través de claude agents --json en lugar de analizar el archivo
~/.claude/jobs/<id>/tmp/ Directorio de trabajo temporal por sesión. Las llamadas Write y Edit de Claude aquí no solicitan permiso. Se elimina cuando se elimina la sesión

Cada sesión en segundo plano tiene la variable de entorno CLAUDE_JOB_DIR establecida en su directorio ~/.claude/jobs/<id>, por lo que los comandos de shell que ejecuta la sesión pueden escribir archivos temporales en $CLAUDE_JOB_DIR/tmp sin colisionar con sesiones paralelas.

Para inspeccionar este estado sin leer los archivos directamente, ejecuta claude daemon status. Informa si el supervisor es accesible, su ID de proceso y versión, el directorio de socket y cuántas sesiones en segundo plano están activas.

El comando también advierte cuando el supervisor en ejecución está en una versión diferente a la de claude que invocaste, lo que sucede después de una actualización en la que el supervisor aún no se ha reiniciado. La advertencia muestra ambas versiones y te indica que ejecutes claude daemon stop --any para adoptar la nueva versión. Cuando Claude Code se instala como un servicio del sistema operativo, el comando sugerido es claude daemon stop sin el flag.

Las sesiones sobreviven intactas a ese desajuste de versión: una versión anterior de Claude Code que actualiza el state.json de una sesión preserva campos que no reconoce y mantiene la sesión listada. La lista de sesiones en roster.json sigue la misma regla, por lo que las sesiones iniciadas por la versión más nueva permanecen accesibles y continúan aceptando entrada después de que el supervisor se reinicia.

Desactivar la vista de agentes

Para desactivar completamente los agentes en segundo plano y la vista de agentes, establece el ajuste disableAgentView en true o establece la variable de entorno CLAUDE_CODE_DISABLE_AGENT_VIEW. Los administradores pueden aplicar esto a través de la configuración administrada.

Solución de problemas

`claude agents` enumera subagentes en lugar de abrir la vista de agentes

Si claude agents imprime un recuento seguido de tus subagentes configurados y luego sale, la vista de agentes no está disponible en tu entorno. Ejecuta claude update para instalar la versión más reciente.

Si la vista de agentes aún no se abre después de actualizar, verifica si ha sido desactivada por un ajuste o una variable de entorno.

La vista de agentes se abre sin sesiones

Antes de distribuir tu primera sesión, la vista de agentes muestra las secciones de encabezado vacías con una descripción debajo de cada una, más una explicación de una línea encima de la entrada, en lugar de la lista de sesiones. Escribe un prompt en la entrada en la parte inferior y presiona Enter para distribuir tu primera sesión.

Enviar al segundo plano muestra un diálogo `Background this session?`

Si presionas ← para enviar al segundo plano la sesión actual y Claude Code muestra un diálogo Background this session?, la sesión tiene trabajo en curso que enviarla al segundo plano detendría, reiniciaría o dejaría ejecutándose sin supervisión, y Claude Code pregunta antes de hacer cualquiera de esas cosas:

  • Trabajo que no se puede mover: la sesión tiene trabajo que no se puede mover a la sesión en segundo plano, como un monitor en ejecución. El diálogo nombra el trabajo que Claude Code detendría y, por separado, cuenta las tareas que se trasladan.
  • Un flujo de trabajo con subagentes en ejecución: un flujo de trabajo dinámico aún tiene subagentes en ejecución. El flujo de trabajo en sí se traslada, pero sus subagentes en ejecución se reinician desde el principio, y el diálogo dice cuántos.
  • Respuestas automáticas de artefactos: Claude está respondiendo a comentarios en un artefacto por su cuenta. Esas respuestas continúan en la sesión en segundo plano, y el diálogo lo indica.

Ejecuta /tasks para ver todo lo que se está ejecutando, luego confirma para enviar al segundo plano de todas formas o elige Stay para dejar que el trabajo termine primero. Consulta Qué se traslada cuando envías al segundo plano para saber qué tipos de trabajo se trasladan y cuáles detiene Claude Code.

Prompt rechazado por ser demasiado corto

La entrada de distribución espera una descripción de tarea, no un saludo conversacional. Un prompt de menos de cuatro caracteres se rechaza con una sugerencia Too short para que una pulsación de tecla accidental no inicie una sesión. Describe lo que quieres que haga la sesión, como investigate the flaky checkout test.

Las sesiones se muestran como fallidas o detenidas después del apagado

Apagar o reiniciar tu máquina detiene las sesiones en segundo plano en ejecución. Una sesión que estaba esperando tu entrada permanece bajo Needs input cuando regresas. Para cualquier otra sesión en ejecución, lo que muestra la vista de agentes depende de cuánto tiempo hace que avanzó por última vez:

  • Dentro de las 48 horas, la sesión se muestra como fallida. Conéctate o responde a ella y se reiniciará desde donde se quedó.
  • Pasadas 48 horas, como después de que la máquina estuvo apagada durante días, la sesión se muestra como detenida con ended while the background service was off. Presiona Enter en la fila y el pie de página muestra Press enter again to resume this session (it ended while the background service was off), or ctrl+x to delete it. Presiona Enter en la misma fila nuevamente para reanudar su conversación guardada. Una respuesta, o claude attach <id>, la reanuda sin esa solicitud del pie de página.

Cuando la limpieza de transcripciones ha eliminado la conversación guardada de una sesión detenida, Claude Code se niega a abrir la fila: el mensaje dice que no hay nada que reanudar. claude rm <id> elimina la fila, excepto en los casos en que se conserva descritos anteriormente, y claude respawn <id> ejecuta su prompt original nuevamente. Consulta La conversación guardada de esta sesión ya no está en el disco.

La suspensión por sí sola no detiene las sesiones. Las sesiones se conservan durante la suspensión y el supervisor se reconecta a ellas al reactivarse.

Abrir una sesión dice que la conversación ya está abierta

Dos procesos no pueden escribir en la misma transcripción. Cuando la conversación guardada de una sesión detenida ya está abierta en otro proceso de Claude Code activo, Claude Code se niega a iniciar el proceso propio de la sesión. Lo que ves depende de qué tiene abierta la conversación:

  • Una terminal donde reanudaste la conversación, por ejemplo con claude --resume o /resume: la fila muestra Open in a terminal con una sugerencia para continuarla allí, y abrir la fila muestra Can't open — this session is running in another terminal. Continúa en esa terminal, o sal de ella y abre la fila nuevamente.
  • Otro proceso de Claude Code no interactivo, por ejemplo un proceso de sesión en segundo plano para la misma conversación que aún no ha salido: abrir la fila muestra This conversation is already open in another running Claude session. Usa ese proceso, o espera a que salga y abre la fila nuevamente.

Claude Code guarda una respuesta que escribiste con el intento rechazado y la envía la próxima vez que se inicia la sesión.

Abrir una sesión dice que no tiene transcripción guardada

Una sesión detenida que fue enviada al segundo plano desde otra conversación y se detuvo antes de que terminara su primera respuesta no tiene nada que reanudar: hasta que esa primera respuesta termine, la conversación aún vive solo en la sesión desde la que fue enviada al segundo plano. claude attach se niega a abrirla con This session has no saved transcript.

En la vista de agentes, abrir esa fila muestra Press enter again to restart this session fresh debajo de la lista. Presiona Enter en la misma fila nuevamente para reiniciar la sesión con una conversación vacía, o ejecuta claude respawn <id> desde el shell.

La conversación original está intacta; reanúdala con claude --resume o sigue trabajando en ella. Consulta la referencia de errores para obtener detalles.

El host de terminal murió o la sesión dejó de responder

El supervisor ejecuta la terminal de cada sesión en segundo plano en su propio proceso host. Cuando ese proceso muere o deja de responder, Claude Code muestra la razón y ofrece un reinicio; en ambos casos la conversación se guarda y el reinicio la reanuda. La referencia de errores cita los mensajes completos.

Claude Code nunca reinicia una fila que ejecuta un comando de shell, ni desde Enter ni desde claude attach, porque eso ejecutaría el comando nuevamente; tanto el mensaje de la fila como claude attach indican que el comando no se vuelve a ejecutar.

Una sesión falla antes de iniciarse con una nota `possibly low memory`

Cuando el proceso de una sesión en segundo plano sale antes de terminar de iniciarse y el host tiene poca memoria del sistema, el estado de la fila nombra la salida y añade possibly low memory — free some up and retry.

La nota es una hipótesis, no una causa confirmada. Claude Code la añade solo cuando el proceso salió silenciosamente, sin escribir un error y sin ser detenido por una señal, y el host reportó poca memoria en ese momento. Cuando el proceso sí escribió un error antes de salir, la fila muestra ese error en su lugar.

Libera memoria en la máquina, luego conéctate o responde a la fila y el supervisor inicia un proceso nuevo para la sesión. Cuando la memoria sigue siendo baja, el supervisor también detiene las sesiones inactivas para liberar recursos por su cuenta, y detiene también las sesiones fijadas inactivas si detener las demás no liberó nada.

La vista de agentes dice que el servicio en segundo plano no respondió

Si al conectarte, echar un vistazo o usar claude logs se reporta que el servicio en segundo plano no respondió, probablemente el proceso supervisor se ha bloqueado. Detenlo y deja que el siguiente claude agents inicie uno nuevo. Para mantener tus sesiones en segundo plano en ejecución durante el reinicio, pasa --keep-workers:

claude daemon stop --any --keep-workers

El nuevo supervisor se reconecta a las sesiones en ejecución. Sin --keep-workers, el comando también termina las sesiones en segundo plano. El flag --any confirma que quieres detener un supervisor que se inició bajo demanda en lugar de como un servicio instalado, que es lo predeterminado.

Un supervisor que se inicia pero no puede aceptar conexiones sale y libera su bloqueo por sí solo, por lo que el siguiente claude agents inicia uno nuevo sin esta detención manual. Los pasos anteriores se aplican cuando un supervisor en ejecución se bloquea.

Si en cambio el comando sale diciendo que el proceso registrado no pudo verificarse como el supervisor, revisa el ID de proceso reportado: si es un supervisor tuyo, detenlo tú mismo y luego elimina ~/.claude/daemon.lock para que el siguiente claude agents inicie desde cero.

En Windows, si el supervisor no responde a la solicitud de detención, el comando imprime su ID de proceso. Termina ese proceso con taskkill /PID <pid> para completar la recuperación. Las sesiones en segundo plano se siguen conservando si pasaste --keep-workers.

La distribución falla con `Could not resolve authentication method`

Si una distribución en segundo plano falla con Could not resolve authentication method mientras las sesiones interactivas se autentican normalmente, el worker que recibió la distribución no obtuvo las credenciales. Las sesiones en segundo plano obtienen sus credenciales del supervisor, por lo que este error significa que no había ninguna credencial almacenada disponible para el propio proceso supervisor. Confirma que ejecutaste /login o configuraste una clave de API, luego detén el supervisor:

claude daemon stop --any --keep-workers

El siguiente claude agents o claude --bg inicia un supervisor nuevo que lee tus credenciales almacenadas. Si te autenticas con una variable de entorno como ANTHROPIC_API_KEY en lugar de /login, ejecuta ese siguiente comando desde un shell donde la variable esté definida.

Consulta la referencia de errores para ver la lista completa de causas y soluciones.

Las sesiones en segundo plano no pueden leer Desktop, Documents o Downloads en macOS

En macOS, el host de sesiones en segundo plano se ejecuta como su propio proceso y solicita acceso a las carpetas protegidas por separado de tu terminal. Si una sesión en segundo plano reporta Operation not permitted al leer ~/Desktop, ~/Documents, ~/Downloads u otra ubicación protegida, otorga acceso en Configuración del Sistema, en Privacidad y Seguridad > Archivos y Carpetas, o habilita Acceso Total al Disco para la entrada.

Con el instalador nativo, la entrada aparece como Claude Code y el permiso se mantiene entre actualizaciones. Con otros métodos de instalación como Homebrew o npm, la entrada muestra la ruta del binario y es posible que debas otorgar el permiso nuevamente después de actualizar.

Las sesiones en segundo plano no pueden alcanzar hosts de la red local en macOS

En macOS 15 y posteriores, el sistema impide que un proceso acceda a dispositivos de tu red local hasta que otorgues el permiso de Red Local, por lo que un comando dirigido a una dirección LAN puede fallar con connect: no route to host en una sesión en segundo plano aunque funcione en una terminal en primer plano. El primer comando en una sesión en segundo plano que se conecta a una dirección de la red local activa la solicitud de permiso de Red Local de macOS para Claude Code. Otórgalo una vez y esos comandos alcanzarán los hosts LAN de la misma manera que en una terminal en primer plano.

Una sesión tarda en responder después de conectarte

Cuando una sesión que ha terminado o que está esperando tu siguiente mensaje permanece sin conexión durante aproximadamente una hora, el supervisor detiene su proceso para liberar recursos. Conectarte inicia un proceso nuevo desde donde se quedó y cambia a la sesión inmediatamente mientras el proceso se reinicia. Las sesiones que están trabajando, en pausa en una solicitud de permiso u otro diálogo, o fijadas no se detienen de esta manera, así que fija una sesión con Ctrl+T para mantenerla receptiva.

Mientras el proceso se inicia, Claude Code muestra el final de la transcripción de la sesión con el mismo formato con que la renderiza la sesión activa, con markdown, bloques de código resaltados y llamadas a herramientas como filas atenuadas, encima de un área de prompt atenuada con una nota Session is starting. La sesión activa la reemplaza en cuanto está lista.

`.claude/worktrees/` se está llenando

Eliminar una sesión en la vista de agentes elimina el worktree que Claude creó para ella, pero algunas eliminaciones conservan el worktree o dejan su directorio en el disco, por lo que los directorios sobrantes pueden acumularse. Los directorios que git ya no reconoce no aparecen en git worktree list, así que elimínalos a mano.

Enumera las entradas sobrantes con git worktree list en el directorio del proyecto y elimina cada una con git worktree remove <path>. Consulta Limpiar worktrees.

Limitaciones

La vista de agentes está en vista previa de investigación con las siguientes limitaciones:

  • Se aplican límites de velocidad: las sesiones en segundo plano consumen el uso de su suscripción igual que las sesiones interactivas, por lo que ejecutar diez agentes en paralelo usa cuota aproximadamente diez veces más rápido que ejecutar uno.
  • Las sesiones son locales: las sesiones en segundo plano se ejecutan en su máquina. Se conservan durante el modo de suspensión pero se detienen si la máquina se apaga.
  • Los worktrees creados por Claude se eliminan con la sesión en la vista de agentes: confirme los cambios antes de eliminar una sesión que editó archivos en su propio worktree. Algunos borrados mantienen el worktree en su lugar.

Para otras formas de ejecutar Claude en paralelo, y para pasar hallazgos entre las sesiones que ejecuta, consulte:

Historial de versiones

La vista de agentes ha evolucionado rápidamente durante la vista previa de investigación. Si estás en una versión anterior de Claude Code, algunos comportamientos en esta página pueden diferir; en particular, claude agents rechaza los flags que aún no admite con un error unknown option. La tabla a continuación enumera cuándo se agregó cada flag y comportamiento.

Versión Cambio
v2.1.290 claude attach y claude logs pueden recibir parte del nombre de una sesión en ejecución en lugar del ID.
v2.1.288 Ctrl+F encuentra sesiones por nombre, y Alt+↑ / Alt+↓ saltan entre los encabezados de grupo. Ambos, y Ctrl+R, se pueden reasignar.
v2.1.287 El filtro n:<text> encuentra sesiones por nombre o por primer prompt. Mientras cualquier filtro está activo, los grupos que contrajiste se expanden para mostrar sus coincidencias y se selecciona la primera coincidencia, por lo que Enter la abre.
v2.1.287 Un comando enviado como respuesta desde el panel de vista previa se ejecuta cuando termina el turno actual de la sesión, incluidos los comandos que se ejecutan en cuanto los escribes en el propio prompt de una sesión. Una respuesta que es exactamente /stop detiene la sesión de inmediato.
v2.1.281 Una restricción --setting-sources se traslada a una sesión que envías al segundo plano con ← o /bg y a las sesiones que distribuyes desde la vista de agentes. Antes de esta versión, la sesión generada cargaba cada fuente de configuración.
v2.1.281 claude --bg, y los comandos que reinician una sesión, verifican primero la confianza del espacio de trabajo para el directorio de la sesión. Desde una terminal en ese directorio, el diálogo de confianza aparece si no lo has aceptado; donde no puede aparecer ningún diálogo, como en un script, el comando sale con un error Workspace not trusted.
v2.1.274 Después de una actualización automática, una vista de agentes de la que has estado ausente durante aproximadamente una hora puede relanzarse a sí misma en la nueva compilación. Cuando lo hace, mantiene los valores predeterminados de distribución con los que la abriste: --model, --effort, --permission-mode, --allow-dangerously-skip-permissions y --agent. Antes de esta versión, la vista relanzada mantenía solo --cwd y flags de configuración como --settings y --mcp-config, por lo que las sesiones que distribuías después comenzaban sin esos valores predeterminados.
v2.1.274 Cuando una eliminación se rechaza porque git o tu hook WorktreeRemove no pudieron eliminar el worktree, un submódulo con checkout que Claude Code verifica que no tiene cambios sin confirmar en archivos rastreados no bloquea la oferta de eliminar nuevamente y eliminar el directorio de todas formas. El trabajo sin confirmar dentro de un submódulo con checkout cuenta como cambios sin confirmar, y el mensaje nombra el submódulo. Antes de esta versión, cualquier checkout de submódulo en el worktree bloqueaba la oferta, con un mensaje diciendo que el worktree contiene un repositorio anidado.
v2.1.268 Cuando una eliminación se rechaza porque git o tu hook WorktreeRemove no pudieron eliminar el worktree, el mensaje nombra la causa, incluyendo cómo terminó un hook y el inicio de su stderr. Para un worktree vinculado bajo el directorio .claude/worktrees/ del repositorio sin cambios sin confirmar en archivos rastreados, sin repositorio anidado dentro de él, y sin que el registro de otra sesión lo nombre, eliminar la sesión nuevamente elimina el directorio de todas formas, desde la vista de agentes o con claude rm <id> --force-remove-worktree <worktree-id>. Antes de esta versión, la fila mostraba solo worktree could not be removed (WorktreeRemove hook failed) o el error de git, el stderr del hook iba solo al registro de depuración, y eliminar nuevamente se rechazaba de la misma manera.
v2.1.268 Después de que la primera ← muestra Press ← again to open agents, o Press ← again to go back to agents en una sesión adjunta, la primera pulsación que llega al menos un segundo después cambia, incluso cuando las pulsaciones más rápidas entre medias fueron ignoradas. Antes de esta versión, cada pulsación ignorada reiniciaba la espera, por lo que presionar ← nuevamente a un ritmo constante no cambiaba hasta que pausabas durante más de un segundo.
v2.1.260 Cuando envías una sesión al segundo plano, el listado de agentes de tus otras sesiones muestra la conversación una vez, como su sesión en segundo plano, y sus mensajes a ella ya no llegan a la terminal desde la que la moviste. Antes de esta versión, esa terminal podía permanecer listada como una segunda sesión interactiva bajo el nombre de la conversación, y una sesión que había enviado un mensaje a la conversación antes del movimiento continuaba entregando a esa terminal.
v2.1.260 Cuando una eliminación se rechaza por commits sin enviar, el mensaje nombra la rama del worktree y cuántos commits no se han enviado, y eliminar la sesión nuevamente descarta el worktree y sus commits. Antes de esta versión, el rechazo decía solo worktree has commits that are not pushed anywhere, eliminar nuevamente se rechazaba de la misma manera, y eliminar la sesión requería enviar los commits o eliminar el worktree manualmente.
v2.1.257 ← se desadjunta de una sesión adjunta mientras la superposición /btw está abierta, incluso a mitad de respuesta, y la superposición se reabre cuando te adjuntas nuevamente. Antes de esta versión, ← no se desadjuntaba mientras la superposición estaba abierta.
v2.1.257 Cuando ejecutas claude --resume <session-id> --bg, Claude Code continúa esa sesión bajo su propio ID, o inicia una copia bajo un nuevo ID e imprime una línea note: explicando por qué. --continue, un --resume sin argumentos, y --resume con un nombre o ruta inician una copia con la misma nota. Antes de esta versión, --resume con --bg siempre iniciaba una copia bajo un nuevo ID y no decía nada.
v2.1.257 Cuando distribuyes una sesión desde una vista de agentes que abriste con ←, Claude Code la inicia en el modo de permisos que el directorio de destino configura a través de permissions.defaultMode. Cuando el directorio no establece uno, se aplica el modo de permisos de la sesión de la que viniste. Antes de esta versión, la sesión distribuida siempre se iniciaba en el modo de permisos de la sesión de la que viniste, sobrescribiéndolo.
v2.1.257 Ctrl+S, Ctrl+T y Ctrl+G en la vista de agentes siguen tu keybindings.json: Ctrl+S y Ctrl+T a través de las acciones agents:switchView y agents:togglePin del contexto Agents, y Ctrl+G a través del atajo chat:externalEditor del contexto Chat. Antes de esta versión, la vista de agentes ignoraba keybindings.json y estas teclas eran fijas.
v2.1.257 Iniciar el servicio en segundo plano se recupera de dos causas de fallo. En una instalación de npm en macOS, un inicio durante una actualización automática espera a que la instalación termine en lugar de ejecutar el marcador de posición que npm coloca mientras reemplaza el binario. En Windows, un daemon.lock obsoleto escrito antes del último arranque de la máquina, o cuyo ID de proceso registrado ahora pertenece a un proceso diferente, se reemplaza. Antes de esta versión, el inicio en macOS fallaba con Error: claude native binary not installed. durante la ventana de instalación, y el bloqueo en Windows hacía que cada inicio fallara con exited before it became reachable hasta que eliminabas ~/.claude/daemon.lock.
v2.1.257 Cuando abres o distribuyes una sesión en segundo plano mientras otro proceso de Claude Code está descargando una actualización de npm, Claude Code continúa esperando hasta dos minutos mientras se ejecuta la instalación, y luego falla diciendo Claude Code is being updated by npm on this machine. Antes de esta versión, la espera se detenía a los diez segundos, por lo que la apertura fallaba con Couldn't start the background service mientras la descarga aún se estaba ejecutando.
v2.1.257 Una sesión en segundo plano que retiene un mensaje entre sesiones para tu aprobación muestra approve message from en su fila Needs input, con la dirección del remitente y el nombre que el remitente declara. Antes de esta versión, la fila se movía a Needs input pero mantenía su texto anterior, por lo que nada en claude agents nombraba el mensaje en espera ni su remitente.
v2.1.257 Un prompt guardado con Ctrl+S dentro de una sesión en segundo plano abierta se mantiene con la sesión, por lo que Ctrl+S lo restaura después de que el proceso de la sesión se detiene y se inicia nuevamente. Antes de esta versión, lo guardado vivía solo en el proceso en ejecución y se perdía cuando la sesión quedaba inactiva el tiempo suficiente para que su proceso se detuviera, o cuando se detenía y luego se reabría.
v2.1.251 En una sesión en segundo plano que no ha entrado en un worktree, Claude y los subagentes que genera pueden editar archivos dentro de un worktree de git vinculado.
v2.1.251 Claude Code reenvía un gateway de proveedor de nube exportado en el shell desde el que distribuyes, como ANTHROPIC_VERTEX_BASE_URL o ANTHROPIC_BEDROCK_BASE_URL con su flag de bypass de autenticación, al worker de la sesión bajo las mismas condiciones que ANTHROPIC_BASE_URL. Antes de esta versión, si enviabas al segundo plano o distribuías desde un shell autenticado solo a través de tal gateway, cada solicitud que la sesión realizaba fallaba, porque el endpoint y el flag se eliminaban de su entorno.
v2.1.251 Cuando una sesión en segundo plano se inicia mientras otro proceso de Claude Code está actualizando un marketplace de plugins, como una sesión hermana ejecutando la actualización automática del marketplace, Claude Code mantiene disponibles los plugins de ese marketplace. Antes de esta versión, tal sesión podía iniciarse sin ninguno de los skills, agentes, hooks y servidores MCP de ese marketplace y permanecer así durante toda su ejecución.
v2.1.248 Shift+Enter en la entrada de distribución inserta una nueva línea, igual que el prompt principal, y Ctrl+Enter distribuye y se adjunta inmediatamente en terminales donde la superposición ? enumera ctrl+enter to start and open. Antes de esta versión, Shift+Enter distribuía y se adjuntaba.
v2.1.248 Eliminar una sesión tiene éxito cuando los commits del worktree ya están en la copia local de la rama predeterminada de tu remoto origin y tu checkout principal tiene esa rama activa; antes de esta versión, la eliminación se rechazaba con has commits that are not pushed anywhere.
v2.1.248 Una sesión enviada al segundo plano con ← o /background mantiene el git worktree lock en su worktree mientras se ejecuta; antes de esta versión, enviar al segundo plano liberaba el bloqueo, y la limpieza o git worktree remove podían eliminar el worktree bajo la sesión en ejecución.
v2.1.248 Una sesión en segundo plano que no estaba esperando tu entrada y se encuentra muerta más de 48 horas después de su última actividad, como después de que la máquina estuvo apagada durante días, se muestra como detenida con ended while the background service was off, y Enter en ella pregunta antes de reanudar su conversación guardada. Antes de esta versión, tal sesión reaparecía como un fallo nuevo ordenado en la parte superior de la lista, y un único Enter traía al primer plano la conversación de hace semanas.
v2.1.248 Abrir una fila detenida cuya conversación reanudaste en otra terminal se rechaza con Can't open — this session is running in another terminal, y la fila muestra Open in a terminal en lugar de mostrarse bajo Working. Antes de esta versión, abrir la fila iniciaba un segundo proceso escribiendo en la misma conversación.
v2.1.248 Una sesión en segundo plano esperando una decisión de permiso mientras un hook PermissionRequest o PreToolUse imprimía una respuesta inválida nombra el evento del hook y el error de esquema en su fila. Antes de esta versión, la fila mostraba solo la solicitud pendiente.
v2.1.248 En Windows, claude agents responde al teclado cuando se lanza en una pestaña de terminal que un programa anterior dejó en win32-input-mode. Antes de esta versión, Claude Code no decodificaba los registros de teclas que tal pestaña envía.
v2.1.247 En Linux y WSL, una sesión cuyo proceso host de terminal murió falla en cuestión de segundos con la razón. Una apertura que no produce salida termina después de aproximadamente diez segundos con una oferta de reinicio, y Enter en la fila reinicia la sesión con su conversación; claude attach <id> informa la causa y sale. Antes de esta versión, abrir tal sesión mostraba opening… · esc to cancel indefinidamente y claude attach <id> esperaba sin informar un error.
v2.1.246 En una instalación de npm, cuando el servicio en segundo plano falla al iniciarse mientras npm install -g @anthropic-ai/claude-code está reemplazando el binario, Claude Code espera hasta diez segundos a que la instalación termine y reintenta antes de informar EACCES: permission denied.
v2.1.246 Cuando el proceso del servicio en segundo plano muere después de imprimir un error, Claude Code informa el fallo y cita la primera línea de error del servicio.
v2.1.246 Si tu máquina entra en suspensión mientras el servicio en segundo plano se está iniciando, Claude Code reintenta el inicio una vez en lugar de fallar.
v2.1.246 Claude Code espera aproximadamente dos minutos en lugar de 45 segundos a un servicio en segundo plano recién iniciado que está vivo pero tarda en aceptar conexiones.
v2.1.246 El servicio en segundo plano se inicia desde tu directorio home, por lo que en macOS y Linux un directorio de partida que fue eliminado o movido ya no bloquea el inicio.
v2.1.246 /fork copia la conversación completa de una sesión que a su vez se inició como una copia y no ha registrado un nuevo prompt desde entonces: una copia de /fork a la que te adjuntaste, una sesión readjuntada después de que ← o /background la movió al segundo plano, o una sesión iniciada con claude --resume <id> --fork-session. Antes de esta versión, si ejecutabas /fork en tal sesión antes de enviarle un nuevo prompt, Claude Code imprimía la confirmación normal pero iniciaba la copia con una conversación vacía. Mover tal sesión al segundo plano con ← o /background perdía la conversación de la misma manera.
v2.1.246 Cuando abres una sesión que acabas de distribuir mientras su proceso worker aún se está iniciando, por ejemplo presionando Enter en su fila, Claude Code espera al proceso y luego se adjunta. Antes de esta versión, si presionabas Enter mientras el proceso aún se estaba iniciando, Claude Code podía detener la sesión con Session <id> was stopped while the respawn was in flight.
v2.1.246 Cuando envías al segundo plano una sesión con nombre, Claude Code la enumera una vez, y cuando envías al segundo plano la misma conversación nuevamente, numera el nombre de la nueva fila, como my-session (2), y la fila existente mantiene su nombre. Antes de esta versión, la terminal en la que presionaste ← podía aparecer en claude agents --json como una segunda sesión bajo el mismo nombre, y si enviabas al segundo plano la misma conversación nuevamente, Claude Code agregaba otra fila bajo el nombre idéntico.
v2.1.239 Con el modo de editor vim activado, presionar Esc en la entrada de la vista de agentes cambia del modo INSERT a NORMAL y mantiene tu texto, igual que el prompt principal; en modo NORMAL con texto aún en la entrada, presionar Esc lo borra, y presionar Esc en una entrada vacía sale, como describe el atajo Esc. Antes de esta versión, Esc borraba la entrada.
v2.1.233 Para una sesión vinculada a un merge request de GitLab, Claude Code escribe la etiqueta de la fila en la sintaxis de referencia !1234 de GitLab. También puedes pegar la URL del merge request en la entrada de distribución para seleccionar esa sesión. Antes de esta versión, la etiqueta se mostraba como #1234, y una URL de merge request pegada coincidía con una sesión solo cuando su primer prompt contenía la URL.
v2.1.227 Eliminar una sesión mantiene la sesión y su worktree mientras otra sesión activa de Claude Code se ejecuta dentro de ese directorio de worktree. La vista de agentes muestra not deleted en la fila y la razón en el pie de página, y claude rm imprime kept <id> con la razón, que nombra el ID de proceso de la otra sesión. Antes de esta versión, eliminar la sesión eliminaba el worktree mientras la otra sesión aún estaba trabajando en él.
v2.1.225 claude agents en un directorio en el que no has confiado muestra el mismo diálogo de confianza del espacio de trabajo que claude muestra al inicio, antes de que se abra la vista de agentes. Aceptar guarda la confianza para ese espacio de trabajo; rechazar sale sin abrir la vista de agentes. Antes de esta versión, claude agents se abría sin preguntar, por lo que las sesiones que distribuías desde él se ejecutaban en un directorio en el que nunca te habían pedido que confiaras.

Con la lista agrupada por directorio, pasar el ratón sobre una fila la resalta sin cambiar el destino de distribución; seleccionar una fila con las teclas de flecha o un clic aún cambia el destino. Antes de esta versión, mover el ratón sobre una sesión en otro proyecto cambiaba silenciosamente el directorio en el que se iniciaba la siguiente sesión distribuida.
v2.1.221 /status muestra una fila Session kind: background job · attached o background job · unattended en una sesión en segundo plano, dependiendo de si hay una terminal adjunta, e interactive en cualquier otra sesión. Antes de esta versión, /status no informaba el tipo de sesión.

/fork: Claude Code indica a la copia que aísle su trabajo del de la sesión original: la copia crea su propio worktree antes de hacer cambios de código, se mantiene fuera del worktree de la sesión original, y basa una nueva rama en la rama de la original cuando su tarea se basa en ese trabajo. Consulta la sección vinculada para las condiciones exactas. Antes de esta versión, la copia no recibía ninguna instrucción de aislamiento y podía terminar editando el worktree o el checkout en el que la sesión original aún estaba trabajando.

Con el modo de editor vim activado, presionar ← justo después de deshacer el prompt hasta dejarlo vacío con u pide la misma confirmación que eliminar el texto o moverse por el historial de prompts, y cambia solo con la segunda pulsación; antes de esta versión la pulsación cambiaba inmediatamente.
v2.1.219 Con el modo de editor vim activado, presionar ← en un prompt vacío abre la vista de agentes desde el modo NORMAL además de INSERT, y la sugerencia ← del pie de página se muestra en modo NORMAL; antes de esta versión el gesto y la sugerencia eran solo de INSERT, y en modo NORMAL ← en un prompt vacío no hacía nada. Escribir en la entrada mientras Claude Code espera para enviar la sesión al segundo plano cancela el cambio con Backgrounding cancelled — you have unsent text in the input. Send it or clear it, then press ← again. para que un borrador escrito no se pierda.
v2.1.218 Presionar ← dentro de los dos segundos posteriores a una eliminación que vació el prompt, o a moverse por el historial de prompts, muestra Press ← again to open agents, o Press ← again to go back to agents en una sesión adjunta, y cambia solo con una segunda pulsación al menos un segundo después; antes de esta versión la pulsación cambiaba inmediatamente. Un ← que llega dentro de entrada pegada o escrita por script ya no activa el cambio. Enviar al segundo plano una sesión en primer plano con ← muestra Your conversation moved to the background encima de la lista, y Esc en la raíz de la vista de agentes regresa a esa conversación en lugar de salir al shell, y el doble Ctrl+C sigue siendo la forma de salir; si la conversación no se puede reabrir, Claude Code sale e imprime un comando claude --resume para ella. En Windows, un ← presionado dentro de aproximadamente medio segundo después de adjuntarse muestra Ambiguous ←, press again to detach y se desadjunta con la segunda pulsación.
v2.1.217 La insignia de pull request en la fila de una sesión se muestra como un hipervínculo incluso cuando Claude Code no puede detectar el soporte de hipervínculos de la terminal, por ejemplo a través de SSH o tmux; establece FORCE_HYPERLINK=0 para mostrarla como texto sin formato. Antes de esta versión, la insignia se mostraba como texto sin formato cuando no se detectaba el soporte.
v2.1.216 /fork: la confirmación es una línea, que muestra el estado de la copia, el nombre de su fila en la vista de agentes y su ID de sesión para claude attach, y termina con runs in the origin tree o edits this checkout solo cuando la copia se ejecuta en el árbol de trabajo principal o edita el checkout que tienes abierto. Hacer clic en el nombre envía esta sesión al segundo plano y abre la vista de agentes en la sesión de la copia. La confirmación ya no repite el modo de permisos heredado de la copia; las versiones anteriores imprimían una confirmación de varias líneas sin nombre en el que se pudiera hacer clic.

Necesita entrada: /install-github-app y la lista de configuración de /mcp, ejecutados mientras nadie está adjunto, muestran la sesión bajo Needs input con una fila que nombra el comando, y adjuntarse y volver a ejecutar el comando continúa; de v2.1.208 a v2.1.215 se rechazaban directamente en ese estado.

Restauración de --agent: reanudar o reiniciar una sesión --agent enviada al segundo plano restaura el prompt del sistema del agente y las restricciones de herramientas, buscando primero el agente en el propio directorio de la sesión, cuando su espacio de trabajo es de confianza; una sesión cuyo agente ya no existe continúa con las herramientas y el prompt del sistema predeterminados y se abre con una advertencia visible, en lugar de revertir silenciosamente al agente predeterminado.

Ctrl+X: presionarlo dos veces elimina una sesión incluso cuando el intento de detención falla, en lugar de que una detención fallida cancele la eliminación pendiente, y una sesión eliminada cuyo proceso worker había muerto ya no reaparece en la siguiente actualización.

Eliminación de worktree: una sesión cuyo directorio de worktree no pertenece a ningún repositorio de git se puede eliminar; antes de esta versión se rechazaba cada intento de eliminar tal sesión. Un directorio que ya no existe se borra inmediatamente. La doble pulsación de la vista de agentes elimina un directorio que aún tiene archivos, ejecutando tu hook WorktreeRemove para un directorio creado por un hook, a menos que los registros de otra sesión también lo nombren. claude rm mantiene tal directorio siempre que queden archivos.
v2.1.214 Una sesión enviada al segundo plano con ← o /background y dejada inactiva sin nada en ejecución tiene su proceso detenido como cualquier otra sesión inactiva, en lugar de mantener su proceso y el servicio en segundo plano en ejecución indefinidamente. Una sesión completada se puede eliminar con claude rm o desde la vista de agentes después de que el servicio en segundo plano haya quedado inactivo, y una sesión que entró en un worktree después de ser distribuida desde un directorio que no es un repositorio de git, como una carpeta de espacio de trabajo con varios repositorios, se puede eliminar desde la vista de agentes cuando el propio worktree pertenece a un repositorio de git, porque la limpieza se resuelve desde el worktree en lugar del directorio desde el que se distribuyó la sesión; antes, ambas eliminaciones se rechazaban en cada intento. Reabrir una sesión detenida restaura su conversación guardada incluso cuando no se puede leer una carpeta del almacén de transcripciones.
v2.1.213 /install-github-app, la lista de configuración de /mcp y las acciones de autenticación de MCP funcionan en una sesión en segundo plano mientras hay una terminal adjunta, y se rechazan solo cuando nadie está adjunto, con un mensaje que te indica que te adjuntes y ejecutes el comando nuevamente; de v2.1.208 a v2.1.212 se rechazaban incluso con una terminal adjunta.
v2.1.212 /fork en una sesión interactiva copia la conversación en una nueva sesión en segundo plano que aparece como su propia fila, nombrada a partir de la sesión de la que provino o, para un fork con prompt de una sesión sin nombre, a partir del prompt del fork, mientras la original continúa ejecutándose; el comportamiento anterior de subagente bifurcado de /fork se movió a /subtask. Con la vista de agentes desactivada, /fork mantiene el comportamiento de subagente bifurcado. Una fila enfocada que está esperando su primer prompt muestra space to send it a prompt. Ctrl+J inserta una nueva línea en la entrada de distribución en terminales con reporte extendido de teclas, donde antes la pulsación se ignoraba, y la superposición ? enumera el atajo. La sugerencia ← del pie de página en una sesión interactiva muestra brevemente N done cuando una sesión en segundo plano termina mientras ninguna necesita tu entrada. Escribir un /resume sin argumentos en la vista de agentes abre un selector de sesiones pasadas del repositorio desde el que abriste la vista de agentes, incluidas las sesiones eliminadas de la lista, y elegir una la reanuda como una sesión en segundo plano; antes de esta versión /resume no estaba disponible en la vista de agentes y las sesiones eliminadas solo eran accesibles con claude --resume o /resume desde una sesión interactiva. Las formas dirigidas, con alcance y restringidas mantienen la sugerencia attach to a session to run it que las versiones anteriores mostraban para cada forma. Las sesiones que esperan una solicitud de host de red del sandbox, una solicitud de entrada de MCP o una solicitud de configuración administrada se muestran como Needs input en lugar de Working, en la vista de agentes y en claude agents --json, y una pregunta de Claude informa waitingFor: input needed en lugar de permission prompt. Adjuntarse a una sesión cuyo proceso se ha detenido muestra su transcripción con el formato en que la muestra la sesión activa, en lugar de como texto sin procesar. Una sesión detenida cuya transcripción está en un lugar inesperado se reanuda desde ella mediante un escaneo de último recurso de tus transcripciones guardadas, y abrir una fila que no tiene transcripción guardada muestra Press enter again to restart this session fresh, y la reinicia desde cero con la segunda pulsación; v2.1.211 mostraba el rechazo sin forma de reiniciar desde la vista de agentes.
v2.1.211 Despertar una sesión detenida adjuntándote o respondiendo desde el directorio en el que se ejecuta vuelve a reenviar el ANTHROPIC_BASE_URL de gateway de tu shell, bajo las mismas condiciones que una distribución nueva, por lo que una sesión autenticada a través de un ANTHROPIC_AUTH_TOKEN de gateway se reanuda en el gateway en lugar de informar Not logged in. Adjuntarse a una sesión detenida que fue enviada al segundo plano desde otra conversación antes de que terminara su primera respuesta se rechaza con This session has no saved transcript en lugar de iniciar silenciosamente una conversación en blanco bajo el mismo ID de sesión; abrir la misma fila desde la vista de agentes mostraba el rechazo en el pie de página. Terminar el proceso de una sesión de ← o /background desde fuera de Claude Code la marca como detenida en lugar de que el supervisor la reinicie, una detención ya registrada en disco se respeta a menos que una respuesta que enviaste aún esté esperando ser entregada, a una sesión reiniciada después de un fallo se le informa que fue reiniciada, y una sesión de ← o /background reiniciada no reanuda una respuesta interrumpida de hace más de aproximadamente una hora. Una respuesta de nombrado de sesión que responde o rechaza el prompt en lugar de etiquetarlo, como en el caso de un prompt que es principalmente un enlace, se descarta y la fila mantiene un nombre tomado del texto del prompt. Eliminar una sesión cuyo worktree git ya no reconoce tiene éxito, dejando el directorio del worktree en disco y nombrando su ruta, en lugar de que se rechace cada intento. Una eliminación rechazada muestra la razón en la fila de la sesión, incluido el error de git subyacente cuando no se pudo eliminar el worktree, en lugar de que la fila reaparezca silenciosamente.
v2.1.210 claude attach espera mientras el servicio en segundo plano se está iniciando o reconectando en lugar de fallar con un error job not found o still starting, informa como finalizada una sesión que terminó durante la conexión, y aplica un cambio de tamaño de la terminal hecho durante una conexión lenta cuando esta se completa. El recuento de sesiones que necesitan entrada en la sugerencia ← del pie de página del prompt aparece con todos los proveedores, incluidos los proveedores de terceros que antes mostraban la forma simple ← for agents. Enviar al segundo plano una sesión con ← lleva la lista de tareas de Claude a la sesión en segundo plano en lugar de descartarla. La fila desde la que presionaste ← mantiene un nombre en negrita y sin atenuar después de que la selección se mueve. claude agents --effort acepta ultracode en lugar de descartarlo silenciosamente.
v2.1.208 Adjuntarse a una sesión cuyo proceso se ha detenido muestra la última pantalla de su transcripción mientras el proceso se inicia, en lugar de solo una nota Session is starting. Una respuesta que no se puede entregar porque el servicio en segundo plano es inaccesible o el envío falla se guarda y se envía como el siguiente prompt de la sesión cuando su proceso se inicia nuevamente; antes de esta versión, una respuesta perdida mientras el servicio en segundo plano era inaccesible se descartaba. Un proceso cuyo propio binario fue reemplazado por una actualización aún puede iniciar el supervisor, desde el lanzador claude instalado o la versión más nueva en disco, en lugar de fallar hasta que se reiniciara Claude Code. Un supervisor que ejecuta una versión anterior nunca reinicia una sesión inactiva iniciada por una versión más nueva en su propio binario más antiguo. Eliminar una sesión elimina su worktree incluso después de que la sesión movió el worktree a una rama diferente, y mantiene el worktree junto con la fila de la sesión cuando el worktree tiene commits que no se han enviado a ningún lugar u otra sesión lo reclama, en lugar de destruir los commits o dejar huérfano el worktree. /install-github-app y la lista de configuración de /mcp y sus acciones de autenticación se rechazan en una sesión en segundo plano con un mensaje que nombra la alternativa; solo en v2.1.208, el selector de /model se rechazaba de la misma manera y un /model <name> escrito cambiaba solo esa sesión en lugar de guardar también tu modelo predeterminado.
v2.1.207 El panel de vista previa se abre con la oración que la fila trunca, como la pregunta exacta de una sesión que te está esperando, y muestra cuánto tiempo lleva esperando una sesión bloqueada como una única línea waiting 3m en lugar de anteponer la misma marca de tiempo a la oración de estado y a la pregunta. Pegar el mismo texto nuevamente en la entrada de distribución expande el marcador de posición contraído [Pasted text #N] en lugar de agregar un segundo. Una sesión en segundo plano nombrada al aceptar un plan muestra ese nombre en su fila. Una sesión en segundo plano que se movió a un worktree mantiene su conversación cuando su proceso se reinicia desde la vista de agentes.
v2.1.206 Los resúmenes de filas llenan el ancho restante de la fila y se truncan solo en el borde derecho de la terminal en lugar de en 64 columnas. Después de que el supervisor se reinicia en una nueva versión de Claude Code, reinicia en segundo plano las sesiones en segundo plano inactivas restantes en esa versión en lugar de unas pocas por minuto. Eliminar una sesión con Ctrl+X o claude rm también la borra de la lista de sesiones del supervisor, por lo que la fila ya no reaparece después de un reinicio del supervisor. Una sobrescritura del cuerpo de solicitud CLAUDE_CODE_EXTRA_BODY exportada en el shell de distribución llega a las sesiones en segundo plano en lugar de ser ignorada.
v2.1.205 La sugerencia ← del pie de página del prompt en una sesión normal de claude cuenta los agentes en segundo plano que te están esperando, como ← 2 agents. Los resúmenes de filas muestran el informe de una línea de la propia sesión, truncado en 64 columnas, en lugar de una invocación de herramienta sin procesar o un recuento done/total; las filas agrupadas por directorio empiezan con una palabra de estado en color. El panel de vista previa se abre con la oración de estado completa y, para una sesión que te está esperando, su pregunta exacta encima de la entrada de respuesta. Las sesiones que editan, comentan, cierran o marcan como listo un pull request con gh quedan vinculadas a él, no solo las que crean o hacen checkout de un pull request; un push vincula un pull request incluso cuando el nombre de la rama local no coincide, y también se vincula un pull request cuando la salida del comando que lo creó superó el límite en línea. Un turno sin texto legible mantiene el estado anterior de la sesión en lugar de volver a cambiarlo a Working. claude attach espera hasta aproximadamente 60 segundos a una sesión que se está reiniciando, con una línea de estado que indica el motivo, en lugar de fallar.
v2.1.203 Un ANTHROPIC_BASE_URL de gateway exportado en el shell de distribución llega a las sesiones distribuidas desde él en ese mismo directorio cuando el supervisor comparte ese entorno de gateway, en lugar de descartarse mientras se mantenía la clave de API exportada junto a él. El PATH del shell de distribución se aplica al worker de cada sesión. Presionar ← mientras se ejecutan subagentes espera a que terminen en lugar de reiniciarlos después de diez segundos. La lista vacía siempre muestra los encabezados de sección con una descripción bajo cada uno. Escribir @ en la entrada de distribución también enumera los worktrees de git registrados del repositorio de lanzamiento que se encuentran dentro de su árbol de directorios. Un esfuerzo heredado del ajuste effortLevel sigue las ediciones posteriores de ese ajuste en lugar de quedar fijo en el momento de la distribución. Abrir una sesión detenida cuya conversación ya está abierta en otra sesión en ejecución se rechaza con un mensaje en lugar de hacer fallar la fila. Un comando que no está disponible en la vista de agentes deja el texto escrito en la entrada. Un hook WorktreeCreate que falla fuera de un repositorio de git ya no impide que la sesión edite archivos.
v2.1.202 Un nombre establecido con /rename o Ctrl+R en una sesión en segundo plano persiste cuando el supervisor detiene y reinicia su proceso, en lugar de revertir al nombre con el que se distribuyó la sesión.
v2.1.200 Una versión anterior de Claude Code que reescribe la lista de sesiones en roster.json conserva los campos escritos por una versión más nueva, igual que la garantía existente de state.json, por lo que las sesiones iniciadas por la versión más nueva siguen aceptando entrada después de que el supervisor se reinicia. Cuando abres una sesión que ha dejado de responder, el supervisor reinicia su proceso y la sesión continúa la respuesta interrumpida desde donde se quedó. La vista de agentes aplica un flag --plugin-dir colocado después de agents a su propio autocompletado de subagentes y skills en la entrada de distribución, así como a las sesiones distribuidas.
v2.1.199 Una sesión en segundo plano cuyo proceso sale antes de terminar de iniciarse en un host con poca memoria muestra possibly low memory — free some up and retry en el estado de su fila en lugar de solo la razón de salida sin más. Enviar al segundo plano una sesión con ← o /background lleva su /color a la nueva fila.
v2.1.198 La vista de agentes envía una notificación a través de preferredNotifChannel cuando una sesión en segundo plano necesita entrada, finaliza o falla, y dispara el hook Notification con el tipo agent_needs_input o agent_completed. ← y /exit dentro de claude attach <id> regresan a la vista de agentes en lugar de salir al shell; Ctrl+Z regresa al shell. Una sesión en segundo plano que aisló su trabajo en un worktree hace commit, hace push de su propia rama aislada, nunca de main ni de master, y abre un pull request en borrador cuando finaliza en lugar de preguntar primero. /login se ejecuta en la vista de agentes y abre el diálogo de inicio de sesión. El diálogo de salida Background work is running ofrece Move to background and exit. El traspaso al salir también cubre los subagentes en segundo plano, que se reanudan desde su transcripción en el siguiente despertar en lugar de informarse como fallidos. claude --bg combinado con -p o --print se rechaza con un error. El host de sesiones en segundo plano solicita el permiso de Red Local de macOS en el primer acceso a la LAN en lugar de fallar con connect: no route to host.
v2.1.196 Una sola pulsación de ← envía al segundo plano una sesión en primer plano; las versiones anteriores requerían dos pulsaciones, con una sugerencia en el pie de página y una confirmación. --dangerously-skip-permissions pasado a claude agents muestra el aviso de bypass en lugar de descartarse silenciosamente. Las sesiones interactivas que nunca nombraste llevan un nombre predeterminado como my-app-3f en los listados de sesiones y en claude agents --json. Los comandos de shell en segundo plano y los flujos de trabajo dinámicos sobreviven a que el proceso de la sesión se detenga, se reinicie o se actualice, incluso en Windows; establece CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF=1 para desactivar el traspaso. Una transcripción leída erróneamente como vacía al reiniciar se renombra con un sufijo .orphaned- en lugar de eliminarse.
v2.1.195 El trabajo en curso también se traslada cuando envías una sesión al segundo plano en Windows; establece CLAUDE_DISABLE_ADOPT=1 para detenerlo en su lugar. El grupo Completed llena el espacio vertical restante y el encabezado se compacta en terminales de poca altura. Una versión anterior de Claude Code ya no descarta campos de state.json de sesiones más nuevas ni oculta esas sesiones de claude agents. Adjuntarse a una sesión detenida cambia inmediatamente en lugar de mostrar una pantalla en blanco durante hasta cinco segundos. Un supervisor que no puede aceptar conexiones sale y libera su bloqueo por sí solo.
v2.1.191 claude --bg con un nombre de --agent que no coincide con ninguno de tus subagentes hace fallar el lanzamiento: la sesión sale inmediatamente con un error --agent '<name>' not found en lugar de ejecutarse con el agente predeterminado.
v2.1.174 Las sesiones en segundo plano ya no heredan variables de endpoint de gateway como ANTHROPIC_BASE_URL del shell desde el que se lanzó el supervisor; el supervisor proporciona una instantánea de credenciales nueva a los workers precalentados, lo que corrige errores espurios de Could not resolve authentication method.
v2.1.172 /model en la entrada de distribución establece una sobrescritura del modelo de distribución con alcance de sesión.
v2.1.161 Los resúmenes de filas muestran un recuento done/total para los elementos de trabajo en paralelo; el panel de vista previa nombra el elemento de trabajo en paralelo que más tiempo lleva ejecutándose.
v2.1.157 claude agents acepta --agent; las sesiones distribuidas respetan el ajuste agent.
v2.1.145 Dictado por voz compatible en la entrada de respuesta del panel de vista previa y en la entrada de distribución.
v2.1.143 Se agregó el ajuste worktree.bgIsolation; claude agents acepta --allow-dangerously-skip-permissions.
v2.1.142 claude agents acepta --permission-mode, --model, --effort, --dangerously-skip-permissions, --settings, --add-dir, --plugin-dir, --mcp-config y --strict-mcp-config.
v2.1.141 claude agents acepta --cwd para limitar la lista a un proyecto.
v2.1.139 La vista de agentes se introdujo como una vista previa de investigación.