SpyBara
Go Premium

agent-view.md 2026-09-27 23:59 UTC to 2026-09-28 22:01 UTC

This page contains 12 additions and 12 deletions.

2026
Mon 14 22:58 Fri 18 23:58 Fri 25 23:58 Mon 28 22:59

Gerenciar múltiplos agentes com agent view

Despache e gerencie muitas sessões Claude Code a partir de uma tela. Agent view mostra o que cada sessão está fazendo e quais precisam de sua entrada.

Agent view, aberto com claude agents, é uma tela para todas as suas sessões em background: o que está em execução, o que precisa de sua entrada e o que está concluído. Despache novas sessões, observe seu estado rapidamente em vez de rolar pelos transcritos e intervenha apenas quando uma precisar de você. Cada sessão em background é uma conversa completa do Claude Code que continua em execução sem um terminal anexado, então você pode abri-la, responder e sair sempre que quiser.

Agent view em um terminal: o cabeçalho mostra Claude Code v2.1.140, o modelo, o diretório de trabalho e uma contagem de resumo. As sessões são agrupadas em Precisa de entrada, Trabalhando e Concluído, com uma entrada de despacho na parte inferior e um rodapé de dicas de atalhos de teclado. Agent view em um terminal: o cabeçalho mostra Claude Code v2.1.140, o modelo, o diretório de trabalho e uma contagem de resumo. As sessões são agrupadas em Precisa de entrada, Trabalhando e Concluído, com uma entrada de despacho na parte inferior e um rodapé de dicas de atalhos de teclado.

Use agent view quando você tiver várias tarefas independentes que Claude pode trabalhar sem você observar cada passo. Despache uma correção de bug, uma revisão de pull request e uma investigação de teste instável como três linhas, continue trabalhando em outra janela e verifique quando uma linha mostrar que precisa de você ou tem um resultado.

Quando você quer trabalhar de forma mais direta em qualquer sessão de um agente, anexe-se à linha para entrar na conversa completa.

Para comparar agent view com subagentes, equipes de agentes e worktrees, consulte Executar agentes em paralelo. Agent view executa sessões em sua máquina e você despacha cada uma; para ter Claude iniciar e rastrear sessões paralelas na nuvem a partir de uma conversa em vez disso, consulte Projects.

Início rápido

Este passo a passo aborda o loop de visualização do agente principal: despache uma tarefa, observe sua linha ser atualizada conforme Claude trabalha, espreite para verificar e responda, e anexe para a conversa completa. A sessão que você despacha continua em execução após você fechar a visualização do agente, portanto você pode sair e voltar a ela.

1

Abrir visualização do agente

Do seu shell, execute:

claude agents

Se você ainda não aceitou o diálogo de confiança do workspace para o diretório, Claude Code o mostra antes da visualização do agente abrir, o mesmo diálogo que claude mostra. Aceite para salvar a confiança do workspace e continuar. Se você recusar, Claude Code sairá sem abrir a visualização do agente.

A visualização do agente abre com uma entrada na parte inferior e uma tabela que se preenche conforme as sessões começam. Pressione Esc para retornar ao seu shell; se você abriu a visualização do agente colocando uma sessão em background com ←, Esc retorna para essa conversa em vez disso. Suas sessões continuam em execução enquanto você está ausente e reaparecem na próxima vez que você abrir a visualização do agente.

2

Despache uma sessão

Digite um prompt descrevendo uma tarefa e pressione Enter. Uma nova sessão em background é iniciada nessa tarefa e aparece como uma linha mostrando se está funcionando, aguardando você ou concluída. A nova sessão usa o modelo mostrado no cabeçalho da visualização do agente. Qual modo de permissão ela inicia depende de como você abriu a visualização do agente.

Cada prompt que você digita aqui inicia sua própria sessão nova. Digitar outro prompt e pressionar Enter inicia uma segunda sessão ao lado da primeira em vez de enviar um acompanhamento para ela. Você pode executar várias em paralelo desta forma.

Cada sessão usa sua cota de assinatura independentemente, portanto, consulte Limitações antes de despachar muitas de uma vez.

3

Espreite e responda

Selecione uma linha com as teclas de seta e pressione Space para abrir o painel de espiada. Ele mostra a saída mais recente da sessão, ou a pergunta que está aguardando, em vez da transcrição completa. Digite uma resposta e pressione Enter para enviá-la sem sair da visualização do agente.

4

Anexar e desanexar

Pressione Enter ou → em uma linha para anexar quando quiser a conversa completa. A sessão assume o terminal como uma sessão interativa completa do Claude Code. Pressione ← em um prompt vazio para desanexar e retornar à tabela.

5

Trazer uma sessão existente

Esta etapa precisa de uma sessão em execução. Se você seguiu as etapas anteriores, você não tem uma aberta neste terminal, portanto abra uma sessão regular claude em outro terminal e envie uma mensagem para ela primeiro.

Para mover uma sessão que você já tem aberta para a visualização do agente, execute /bg dentro dela, ou pressione ← em um prompt vazio para colocá-la em background e abrir a visualização do agente em uma etapa. Em uma sessão nova sem mensagens ainda, /bg pede que você envie uma mensagem primeiro, enquanto ← funciona imediatamente. A sessão continua em execução e aparece como uma linha ao lado das que você despachou.

Você pode usar claude agents como seu ponto de entrada principal em vez de claude: despache cada tarefa da visualização do agente, anexe quando quiser a conversa completa e pressione ← para retornar à tabela.

Dentro de uma sessão regular claude, a dica ← do rodapé do prompt conta os agentes em background que estão aguardando você, como ← 2 agents, e retorna para ← for agents quando nenhum precisa de entrada. Contagens acima de 99 aparecem como 99+. A contagem é atualizada aproximadamente a cada dez segundos enquanto o terminal está em foco e imediatamente quando o foco retorna. Ela muda brevemente de cor quando se move e quando um agente é concluído, e quando uma sessão em background é concluída enquanto nenhuma precisa de sua entrada, ela brevemente mostra o número concluído, como ← 2 done. Ambos os flashes estão desativados quando a configuração prefersReducedMotion está ativada, e a dica fica oculta no modo leitor de tela.

Monitorar sessões com agent view

Execute claude agents para abrir agent view. Ele assume o terminal completo e lista cada sessão agrupada por estado, com sessões fixadas e as que precisam de você no topo. Cada linha mostra o nome da sessão, atividade atual e sua idade, contada a partir de quando a sessão foi criada; a idade de uma sessão concluída congela em quanto tempo a execução levou.

O nome é tingido com a cor definida por /color naquela sessão, incluindo quando você coloca uma sessão em background com ← ou /background.

Por padrão, a lista mostra cada sessão em background que você iniciou, em todos os seus projetos. Uma sessão funcionando em um repositório e outra em um worktree diferente aparecem aqui, independentemente de qual diretório você abriu agent view. Para limitar a lista a um projeto, passe --cwd:

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

Isso mostra apenas sessões iniciadas sob esse diretório. Uma sessão que se moveu para um worktree sob ~/projects/my-app/.claude/worktrees/ ainda é listada.

Sessões interativas que você tem abertas em outros terminais não aparecem até que você as coloque em background. Subagents e teammates que uma sessão gera não são listados como linhas 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          run 12 · all checkpoints cleared           in 4m

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

Ler estado da sessão

Cada linha começa com um ícone cuja cor e animação mostram o estado da sessão:

Estado Ícone mostra como O que significa
Working Animado Claude está executando ativamente ferramentas ou gerando uma resposta
Needs input Amarelo Claude está aguardando algo que apenas você pode fornecer: uma resposta a uma pergunta, uma decisão de permissão ou outro prompt que apenas você pode responder, como um prompt de sandbox para permitir um host de rede ou uma solicitação de entrada de um servidor MCP. Um comando que precisa de um terminal anexado, como /install-github-app ou a lista de configurações /mcp, mantém uma sessão desatendida aqui também
Idle Esmaecido A sessão não tem nada a fazer e está pronta para seu próximo prompt
Completed Verde A tarefa foi concluída com sucesso
Failed Vermelho A tarefa terminou com um erro
Stopped Cinza Você interrompeu a sessão com Ctrl+X ou claude stop, seu processo foi encerrado de fora do Claude Code, ou terminou enquanto o serviço em background estava desligado

Separadamente, a forma do ícone mostra se o processo subjacente está em execução:

Forma O que significa
✻ ou ✽ animado O processo da sessão está vivo e responde imediatamente
∙ O processo saiu. Você ainda pode espreitar a linha, e quando você responde ou anexa, Claude reinicia de onde parou
✢ Uma sessão /loop dormindo entre iterações. A linha mostra sua contagem de execução e uma contagem regressiva

O rótulo #N ou !N que pode aparecer na borda direita de uma linha é um link para o pull request ou merge request da sessão, não parte do ícone de estado.

O título da aba do terminal mostra a contagem de aguardando-entrada enquanto agent view está aberto: 2 awaiting input · claude agents quando sessões precisam de entrada, ou claude agents quando nenhuma precisa.

Para ler o estado da sessão a partir de um script ou outro programa, use claude agents --json em vez dos arquivos sob ~/.claude/jobs/.

Enquanto agent view está aberto, Claude Code também envia uma notificação através do seu canal de notificação de terminal configurado quando uma sessão em background local começa a precisar de sua entrada, termina ou falha. Sessões que executam em um cronograma, como sessões /loop, notificam apenas quando precisam de sua entrada. As notificações usam a mesma configuração preferredNotifChannel que o resto do Claude Code e disparam o hook Notification com o tipo agent_needs_input ou agent_completed.

Sessões em background não precisam de nenhum terminal aberto para continuar funcionando. Um processo supervisor separado as executa, então você pode fechar agent view, fechar seu shell ou iniciar uma nova sessão interativa e seu trabalho despachado continua.

O estado da sessão persiste no disco através de atualizações automáticas e reinicializações do supervisor. As sessões também são preservadas quando sua máquina dorme. Seus processos retomam ao acordar e o supervisor se reconecta a eles em vez de tratar a lacuna de tempo como inatividade. Desligar ainda interrompe as sessões em execução; veja Sessions show as failed or stopped after shutdown para saber como recuperá-las.

Uma sessão que estava no meio de uma resposta quando a máquina dormiu pode voltar sem responder. Quando você abre uma sessão que parou de responder, o supervisor reinicia seu processo e a sessão continua a resposta interrompida de onde parou.

Resumos de linha

O resumo de uma linha em cada linha é gerado por um modelo Haiku-class para que a linha possa informar o que a sessão está fazendo, o que precisa ou o que produziu sem abrir o transcript. Enquanto uma sessão está ativamente funcionando, o texto da linha é atualizado no máximo uma vez a cada 15 segundos a partir da saída recente da própria sessão sem enviar uma solicitação de modelo, e o modelo escreve um resumo novo quando cada turno termina.

Uma linha funcionando mostra o que a sessão diz que está fazendo, e uma linha bloqueada mostra a pergunta que está fazendo. Durante um turno longo, o modelo também reescreve o resumo a cada poucos minutos para que uma linha ocupada não continue mostrando um resumo desatualizado. O texto de resumo preenche a largura restante da linha; abra o painel de espiada para ler uma sentença que a borda do terminal corta.

Quando a lista é agrupada por diretório, o resumo abre com o estado da sessão como uma palavra colorida, como Needs input · double jump or wall climb?. No agrupamento de estado padrão, o cabeçalho do grupo já nomeia o estado, então a linha mostra apenas o resumo.

O resumo de fim de turno e cada reescrita de meio de turno são uma solicitação curta de Haiku-class através de seu provedor normal, cobrada e tratada sob os mesmos termos de uso de dados que a sessão em si. As atualizações de 15 segundos entre reescritas de modelo reutilizam a saída da própria sessão e não enviam uma solicitação. Em um provedor de terceiros ou gateway sem um modelo Haiku-class configurado, a solicitação usa o modelo principal da sessão em vez disso; defina ANTHROPIC_DEFAULT_HAIKU_MODEL para escolher um.

Status de pull request

Quando uma sessão abre um pull request, Claude Code adiciona um rótulo na borda direita da linha, vinculado ao pull request:

  • Claude Code escreve o rótulo como #1234 para um pull request e como !1234 para um merge request do GitLab.
  • Claude Code emite o link mesmo quando não consegue detectar suporte a hiperlink, por exemplo sobre SSH ou tmux. Defina FORCE_HYPERLINK=0 para renderizar o rótulo como texto simples.
  • Depois que você envia um acompanhamento para a sessão, Claude Code mantém o rótulo enquanto a linha retorna ao progresso ao vivo.

Uma sessão que trabalha em um pull request existente está vinculada a ele da mesma forma. Claude Code encontra o pull request de forma diferente dependendo do comando que Claude executa:

  • Quando Claude edita, comenta, fecha ou marca um pull request como pronto com gh, Claude Code vincula o pull request que a saída do próprio comando nomeia. Um comando gh cuja saída capturada não nomeia nenhum pull request não cria um link; gh pr merge é o caso comum, porque imprime seu resultado apenas para um terminal interativo.
  • Quando Claude verifica um pull request com gh pr checkout ou faz push para um branch, Claude Code procura o branch com gh pr view e vincula seu pull request aberto.
  • O pull request não precisa existir ainda quando Claude faz push: Claude Code tenta novamente a busca do branch após até cinco comandos git, gh, glab ou curl posteriores executados no mesmo diretório, então um pull request criado após o push, incluindo um que Claude cria através da API REST do GitHub, vincula quando uma tentativa o encontra.

Quando uma sessão está vinculada a mais de um pull request, o rótulo mostra uma contagem em vez disso, como 3 PRs, colorido pelo pull request aberto que mais precisa de atenção. Abra o painel de espiada para ver todos eles.

O número do pull request é colorido pelo seu status:

Cor Status do pull request
Amarelo Aguardando verificações ou revisão, ou verificações falharam
Verde Verificações passaram e nenhuma revisão está bloqueando
Roxo Mesclado
Cinza Rascunho ou fechado

Para uma tarefa que termina em um pull request, verifique este rótulo para o resultado: revise e mescle o pull request quando seu número ficar verde.

Peek and reply

Pressione Space em uma linha selecionada para abrir o painel de espiada. Ele abre com a sentença que a linha trunca na borda do terminal, e qual sentença é depende do estado da sessão:

  • Uma sessão que está aguardando você: a pergunta exata que está fazendo, acima da entrada de resposta
  • Uma sessão concluída: seu resultado
  • Uma sessão funcionando: sua sentença de status completa

Quaisquer pull requests vinculados à sessão são listados em seguida. Para uma sessão que está aguardando você, uma linha como waiting 3m abaixo deles mostra há quanto tempo está aguardando, e é a única hora mostrada no painel. A idade na borda direita da linha é um número diferente: ela conta a partir de quando a sessão começou.

Na maioria das vezes, o painel de espiada é suficiente e você não precisa abrir o transcript completo.

Digite uma resposta no painel de espiada e pressione Enter para enviá-la para essa sessão. Quando a sessão faz uma pergunta com opções predefinidas, o painel de espiada as mostra como uma lista numerada e você pode pressionar uma tecla numérica para escolher uma. Um prompt de permissão mostra como texto descrevendo o que a sessão quer executar, sem opções numeradas. Digite uma resposta para respondê-lo, ou anexe para responder com o prompt padrão. Para outras sessões bloqueadas, pressione Tab para preencher a entrada com uma resposta sugerida que você pode editar antes de enviar. Prefixe uma resposta com ! para enviar um comando Bash em vez disso.

Quando um hook PermissionRequest ou PreToolUse retorna uma saída que Claude Code não consegue validar para a chamada que a sessão está pedindo, a linha mostra o evento do hook e hook output invalid: com o erro de validação antes do texto da solicitação pendente. Para um hook que falha de outra forma, a linha diz que o hook falhou. A sessão ainda aguarda a mesma solicitação.

Uma resposta que não pode ser entregue, porque o serviço em background está inacessível ou o envio falha, é salva e enviada para a sessão como seu próximo prompt quando seu processo começar novamente, e a mensagem de erro diz que a resposta foi salva. Uma resposta prefixada com ! não é salva, porque o texto salvo chegaria à sessão como um prompt simples em vez de executar como um comando Bash.

Com voice dictation ativada, segure ou toque sua tecla push-to-talk enquanto a entrada de resposta está focada para ditar uma resposta em vez de digitá-la. O mesmo funciona na entrada de despacho na parte inferior de agent view.

Use ↑ e ↓ para espreitar sessões adjacentes sem fechar o painel, ou → para anexar.

Anexar a uma sessão

Pressione Enter ou → em uma linha selecionada para anexar. Agent view é substituído pela sessão interativa completa. Quando você anexa, Claude publica um breve resumo do que aconteceu enquanto você estava ausente.

Enquanto anexado, a sessão se comporta como qualquer outra sessão Claude Code: comandos, atalhos de teclado e recursos todos funcionam, com as exceções abaixo.

Enquanto você está anexado, /install-github-app e a lista de configurações /mcp funcionam normalmente, já que um humano no terminal pode completar seus diálogos. Quando ninguém está anexado, esses comandos não conseguem abrir seus diálogos, então a sessão aparece sob Needs input em agent view com uma linha como open this session to manage MCP servers, e a resposta do transcript diz o mesmo. Anexe e execute o comando novamente para continuar; a linha de necessidade de entrada é limpa quando você anexa. /mcp reconnect <server>, /mcp enable e /mcp disable funcionam sem anexar de qualquer forma.

Sessões anexadas sempre renderizam em modo fullscreen, independentemente de sua configuração tui, porque uma sessão em background não tem scrollback de terminal para anexar. Role com PgUp, PgDn ou a roda do mouse, e pressione Ctrl+O para modo de transcript. O scroll nativo do seu terminal e o modo de cópia tmux mostram apenas o viewport atual, o mesmo que quando você executa qualquer aplicativo fullscreen.

Pressione ← em um prompt vazio, ou execute /exit, para desanexar e retornar a agent view, independentemente de você ter aberto a sessão a partir de agent view ou com claude attach <id> a partir do seu shell.

← também desanexa enquanto o overlay /btw está aberto. Requer Claude Code v2.1.257 ou posterior. Uma pergunta lateral que ainda está respondendo continua em execução enquanto você está ausente. Na próxima vez que você anexar, o overlay reabre com ela, ou com sua resposta.

No Windows, se você pressionar ← dentro de cerca de meio segundo de anexar, Claude Code mostra Ambiguous ←, press again to detach, porque naquela janela o terminal pode reentrega um pressionamento de antes de você anexar. Pressione ← novamente para desanexar.

Ctrl+Z também desanexa mas volta para onde você começou em vez disso: agent view se você anexou de lá, ou seu shell se você executou claude attach. Use Ctrl+Z quando um diálogo tem foco e não está respondendo a ←.

Ctrl+C mantém seu comportamento de interrupção padrão enquanto anexado: ele cancela uma resposta em execução ou comando shell ! em vez de desanexar. Pressionar Ctrl+C duas vezes em um prompt vazio desanexa, o mesmo que em qualquer sessão.

Desanexar nunca interrompe uma sessão em background: ←, Ctrl+Z, /exit e duplo Ctrl+C ou duplo Ctrl+D a deixam em execução. Para encerrar uma sessão de dentro dela, execute /stop.

Alternar sessões sem sair do terminal

Em uma sessão em execução em primeiro plano, uma que você iniciou no terminal em vez de anexar a partir de agent view, pressionar ← em um prompt vazio a coloca em background e abre agent view com essa linha selecionada, para que você possa alternar sessões sem sair do terminal. O mesmo pressionamento único desanexa uma sessão anexada.

Se você pressionar ← logo após deletar o último texto do prompt ou mover pelo histórico do prompt, Claude Code pede que você confirme: o primeiro pressionamento mostra Press ← again to open agents, ou Press ← again to go back to agents em uma sessão anexada, e o segundo pressionamento alterna.

Quando ← coloca uma sessão em primeiro plano em background, agent view mostra Your conversation moved to the background acima da lista, com a linha dessa sessão já selecionada. De lá:

  • Pressione Enter para reabrir a conversa.
  • Pressione Esc para desfazer a alternância e retornar à conversa. Se Esc mostra Still starting — try again in a moment, a sessão em background ainda não está pronta, então pressione Esc novamente em um momento.
  • Pressione Ctrl+C duas vezes para sair para seu shell.

Quando Claude Code não consegue reabrir a conversa, ele sai e imprime um comando claude --resume que a retoma.

A lista de tarefas do Claude se move para a sessão em background com a conversa, então a lista de verificação está intacta quando você retorna àquela linha.

A linha em que você pressionou ← também mantém um nome em negrito e não esmaecido depois que você move a seleção com as teclas de seta ou o mouse, para que você possa dizer de qual sessão você veio.

Se uma ferramenta está em execução quando você pressiona ←, Claude Code aguarda até cerca de dez segundos para que ela termine antes de colocar em background, e Claude continua a resposta na sessão em background. Pressione ← novamente para colocar em background imediatamente em vez de aguardar. Quando o trabalho em andamento não pode ser transferido para a sessão em background, Claude Code mostra o diálogo Background this session? primeiro, o mesmo que com /background.

O limite de dez segundos não se aplica enquanto os subagents em primeiro plano que Claude iniciou na conversa ainda estão em execução. Claude Code continua aguardando para que seu trabalho seja transferido, e mostra um aviso Still backgrounding after the current tool enquanto aguarda. Pressione ← novamente para colocar em background sem aguardar, o que reinicia esses subagents do início. Claude Code não aguarda os subagents que um workflow dinâmico está executando. Quando um workflow tem subagents em execução, Claude Code mostra o diálogo Background this session? em vez disso.

Claude Code não coloca a sessão em background enquanto você tem texto não enviado na entrada do prompt, porque o texto fica na caixa de entrada do seu terminal e não se moveria para a sessão em background. Se você digitar na entrada enquanto Claude Code aguarda para colocar a sessão em background, ele cancela a alternância com Backgrounding cancelled — you have unsent text in the input. Send it or clear it, then press ← again.

Pressionar ← cria a linha da sessão mesmo quando a conversa não tem mensagens ainda, então → ainda retorna a ela.

Você pode desativar este atalho com a configuração leftArrowOpensAgents em /config.

Organizar a lista

Agent view agrupa sessões para que as que precisam de entrada estejam no topo, com Ready for review e Needs input acima de Working e Completed. Esses nomes de grupo não mapeiam um-para-um para os estados acima: uma sessão se move para Ready for review quando tem um pull request aberto, e Completed coleta sessões concluídas, falhadas e interrompidas juntas.

Pressione Ctrl+S para agrupar por diretório em vez disso. Sua escolha persiste entre execuções.

Dentro de um grupo:

  • Pressione Ctrl+T para fixar uma sessão no topo e manter seu processo em execução enquanto inativo
  • Pressione Shift+↑ ou Shift+↓ para reordenar sessões
  • Pressione Ctrl+R para renomear uma sessão
  • Pressione Enter em um cabeçalho de grupo para recolhê-lo

Para remover uma sessão da lista, pressione Ctrl+X para interrompê-la e Ctrl+X novamente dentro de dois segundos para deletá-la. Pressionar Ctrl+X em um cabeçalho de grupo deleta cada sessão naquele grupo após confirmação.

O segundo pressionamento deleta a sessão mesmo quando a tentativa de parada falha, por exemplo porque o serviço em background não está respondendo: a confirmação permanece ativa por mais dois segundos, e a exclusão encerra o processo da sessão em si. Pressione Esc para descartar a confirmação sem deletar.

Exceto nos casos mantidos cobertos em What deleting a session removes, deletar remove a sessão da lista, e um worktree que Claude criou para ela é removido, mantido ou deixado no lugar dependendo de como você deleta e o que o worktree contém. O transcript de conversa sempre fica em sua máquina local, disponível através de claude --resume.

Para trazer uma sessão de volta no Claude Code v2.1.212 ou posterior, digite /resume na entrada de despacho. Um seletor abre com sessões passadas do repositório a partir do qual você abriu agent view, mais recentes primeiro, incluindo sessões que você deletou da lista; sessões que já têm uma linha não são listadas. ↑/↓ movem a seleção, Enter retoma a sessão selecionada como uma sessão em background para que ela se rejunte à lista como uma linha, e Esc fecha o seletor.

O seletor abre apenas para um /resume simples. Um resume direcionado, com escopo ou restrito não pode ser servido pelo seletor, então agent view mostra a dica attach to a session to run it em vez disso quando:

  • /resume nomeia um id ou um termo de busca
  • a visualização tem escopo com --cwd
  • a visualização foi iniciada com --safe-mode
  • a visualização foi aberta com um sinalizador como --permission-mode ou --settings

Sessões concluídas que não cabem na tela se dobram em uma linha … N more. Falhas e sessões com um pull request aberto sempre permanecem visíveis. O grupo Completed preenche o espaço vertical deixado após os grupos ativos, e em um terminal curto o cabeçalho se compacta para uma única linha de resumo para que sessões que estão funcionando ou precisam de entrada permaneçam visíveis.

Filtrar sessões

Digite na entrada de despacho para filtrar em vez de despachar:

Filtro Mostra
a:<name> Sessões executando o agente nomeado
s:<state> Sessões no estado fornecido, como s:working. Também aceita s:blocked para tudo que está aguardando você
#<number> ou uma URL de pull ou merge request A sessão trabalhando naquele pull request ou merge request
Qualquer outra URL A sessão cujo primeiro prompt continha essa URL

Atalhos de teclado

Pressione ? em agent view para ver cada atalho em contexto. A tabela abaixo os resume.

Atalho Ação
↑ / ↓ Mover entre linhas
Enter Anexar à sessão selecionada, ou despachar se houver texto na entrada
Space Abrir ou fechar o painel de espiada para a sessão selecionada
Shift+Enter Inserir uma nova linha na entrada de despacho, como no prompt principal
Ctrl+Enter Despachar e anexar imediatamente, em terminais onde o overlay ? lista ctrl+enter to start and open
→ Anexar à sessão selecionada
Alt+1..Alt+9 Anexar à sessão 1–9 no diretório da sessão focada
Tab Em uma entrada vazia, procurar todos os subagents. Caso contrário, aplicar a sugestão destacada
Ctrl+S Alternar agrupamento entre estado e diretório
Ctrl+T Fixar ou desafixar a sessão selecionada
Ctrl+R Renomear a sessão selecionada
Ctrl+G Abrir o prompt de despacho em seu $VISUAL ou $EDITOR
Ctrl+J Inserir uma nova linha na entrada de despacho
Ctrl+X Interromper a sessão; pressione novamente dentro de dois segundos para deletá-la
Shift+↑ / Shift+↓ Reordenar a sessão selecionada
Esc Fechar o painel de espiada, limpar a entrada ou sair. Quando você abriu agent view colocando sua sessão em background com ←, o Esc final retorna àquela conversa em vez de sair. Com vim editor mode ativado, pressionar Esc na entrada alterna de modo INSERT para modo NORMAL e mantém seu texto, como no prompt principal
Ctrl+C Limpar a entrada; pressione duas vezes para sair
? Mostrar todos os atalhos

Ctrl+S, Ctrl+T e Ctrl+G seguem seu keybindings.json. Rebind ou unbind Ctrl+S e Ctrl+T com as ações agents:switchView e agents:togglePin no contexto Agents, e Ctrl+G através da vinculação chat:externalEditor do contexto Chat. Os outros atalhos na tabela não podem ser revinculados.

Despachar novos agentes

Você pode despachar novas sessões em background a partir de agent view, enviar uma sessão interativa existente para o background ou iniciar uma diretamente do shell.

From agent view

Digite um prompt na entrada na parte inferior de agent view e pressione Enter para iniciar uma nova sessão em background. A sessão é nomeada automaticamente a partir do prompt; renomeie-a mais tarde com Ctrl+R.

O nome automático é um rótulo curto escrito por um modelo da classe Haiku. Um nome que a sessão recebe mais tarde também aparece em sua linha, incluindo o título gerado que a sessão recebe quando você aceita um plano naquela sessão.

Cole uma imagem no prompt para incluir uma captura de tela ou diagrama com a tarefa.

Texto colado mais longo que 800 caracteres ou mais de três linhas se recolhe para um placeholder [Pasted text #N] para que a entrada permaneça em uma linha; o texto completo é enviado quando você despacha. Para revisar ou editar o texto recolhido antes de despachar, cole o mesmo texto novamente e o placeholder se expande de volta para a entrada.

Prefixe ou mencione partes do prompt para controlar como a sessão é iniciada:

Entrada Efeito
<agent-name> <prompt> Se a primeira palavra corresponder a um nome de subagent personalizado, esse subagent é executado como o agente principal da sessão com a configuração de seu frontmatter
@<agent-name> Mencione um subagent personalizado em qualquer lugar do prompt para executá-lo como o agente principal
@<repo> Mencione um repositório para executar a sessão lá. Veja Dispatch to a specific directory para saber quais repositórios são listados
/<command> Sugerir skills e commands para despachar como o prompt
! <command> Execute um comando shell como um trabalho em background em vez de iniciar uma sessão Claude. O trabalho aparece como uma linha que você pode anexar, observar e desanexar
#<number> ou uma URL de pull ou merge request Se uma sessão já está trabalhando naquele pull request ou merge request, Claude Code seleciona sua linha em vez de despachar uma nova sessão

Um pequeno conjunto de comandos é executado em agent view em si em vez de ser despachado:

  • /exit e /quit fecham agent view
  • /logout desconecta você
  • /model define o modelo de despacho
  • /login abre o diálogo de entrada para que você possa entrar novamente sem anexar a uma sessão
  • Um /resume simples, ou seu alias /continue, abre um seletor das sessões passadas do repositório para trazer uma de volta como uma sessão em background. Requer Claude Code v2.1.212 ou posterior

Skills, seus próprios comandos e built-ins que expandem prompts como /init são enviados para uma nova sessão em background como seu primeiro prompt. Outros comandos built-in mostram uma dica attach to a session to run it em vez disso. Tudo que você digitou permanece na entrada ao lado da dica para que você possa editá-lo.

Empacotar uma tarefa recorrente como uma skill permite que você inicie o mesmo fluxo de trabalho a partir de agent view repetidamente sem redigitar o prompt.

Quando o mesmo @name corresponde tanto a um subagent quanto a um repositório irmão, o subagent tem precedência. A correspondência de primeira palavra também se aplica, portanto um prompt que começa com um de seus nomes de subagent despacha esse subagent em vez de tratar a palavra como texto simples. Use a forma @ quando quiser ser explícito, ou comece o prompt com uma palavra diferente para evitar a correspondência.

Dispatch to a specific directory

Uma nova sessão é executada no diretório em que você abriu agent view. Para direcionar um diretório diferente, use qualquer um destes:

  • Abra claude agents naquele diretório.

  • Abra claude agents em um diretório pai e mencione um repositório filho com @<repo> no prompt. Digitando @ lista estes destinos:

    • Repositórios Git um nível abaixo do diretório de lançamento
    • Os git worktrees registrados do repositório a partir do qual você iniciou que vivem dentro de sua árvore de diretórios, como os que Claude cria sob .claude/worktrees/, rotulados com seu branch verificado. Worktrees adicionados fora do repositório, como com git worktree add ../feature, não são listados
    • Qualquer diretório que já tenha uma sessão na lista

    Um diretório cujo nome contém um espaço não é listado.

  • Do shell, cd para o diretório e execute claude --bg "<prompt>".

Quando agent view é agrupado por diretório, despachar envia o prompt para o diretório da linha selecionada, para que você possa selecionar um grupo e despachar nele sem redigitar o caminho.

From inside a session

Dois comandos movem trabalho da sessão em que você está para o background: /background envia a conversa atual para lá e libera seu terminal, e /fork envia uma cópia enquanto você continua trabalhando onde está.

Send the session to the background

Execute /background ou seu alias /bg para mover a conversa atual para uma sessão em background. Passe um prompt como /bg run the test suite and fix any failures para dar uma instrução adicional primeiro. Se Claude estiver respondendo quando você executar /bg, a resposta continua na sessão em background.

Sair de uma sessão que ainda tem trabalho em background em execução, como subagents, comandos shell em background, workflows ou monitors, mostra um diálogo Background work is running em vez de sair imediatamente. Escolha Move to background and exit para colocar a sessão em background da mesma forma que /background faz e retornar ao seu shell. A opção não é mostrada quando agent view está desativado.

Se uma sessão em background na lista já tem o nome da conversa, Claude Code numera o nome da nova linha, como my-session (2), e deixa o nome da linha existente sozinho. Para renomear a nova linha, selecione-a em agent view e pressione Ctrl+R.

Copy the session with /fork

Execute /fork para copiar a conversa atual para uma nova sessão em background enquanto a original continua em execução. A cópia começa com tudo na conversa até esse ponto; veja os pontos abaixo para onde a cópia é executada. Ela também carrega o modelo, permission mode, effort level e quaisquer diretórios ou concessões de permissão "não pergunte novamente" que você adicionou durante a sessão. A cópia aparece como sua própria linha em agent view.

Após o fork, as duas conversas são independentes: nada que a cópia faz entra na conversa original por conta própria, embora em sessões onde cross-session messaging está habilitado, Claude de qualquer sessão pode explicitamente enviar mensagens para a outra.

Copiar a sessão requer Claude Code v2.1.212 ou posterior; em v2.1.161 até v2.1.211, /fork inicia um subagent bifurcado em vez disso, que agora é /subtask. Quando agent view está desativado, /fork mantém o comportamento de subagent bifurcado e /subtask não está disponível.

Passe um prompt como /fork open a draft pull request with the work so far e a cópia começa a trabalhar nele imediatamente. Sem um prompt, a cópia aguarda sua primeira instrução: selecione sua linha em claude agents e pressione Space para enviar uma, ou execute claude attach <id>. A linha selecionada mostra space to send it a prompt enquanto aguarda.

A confirmação de /fork é uma linha mostrando o estado da cópia, como session running, o nome de sua linha de agent view e seu ID de sessão para claude attach. Clique no nome para alternar para a cópia: esta sessão se move para o background, o mesmo que pressionar ←, e agent view abre a sessão da cópia.

Exceto quando a cópia edita no local, Claude Code a instrui a criar seu próprio worktree antes de fazer alterações de código. Fora de um repositório git, apenas uma cópia movida para fora de um worktree criado por hook recebe a instrução; sem um hook WorktreeCreate, a cópia edita no local. Uma cópia movida para fora de seu worktree também é instruída a nunca editar, executar comandos em ou entrar naquele worktree, qualquer que seja a configuração de isolamento.

Onde a cópia começa depende de onde a sessão atual está em execução:

  • Como qualquer sessão despachada, a cópia se move para seu próprio worktree antes de editar arquivos. Nesse caso, a confirmação não menciona onde a cópia é executada.
  • Quando sua sessão se moveu para seu worktree vinculado após iniciar, a cópia começa de volta onde a sessão estava antes da movimentação e, a menos que edite no local, faz suas alterações de código em um worktree próprio lá. Quando seu worktree está verificado em um branch, essa instrução também diz a uma cópia cuja tarefa se baseia em seu trabalho para basear seu novo branch no seu, já que seu branch permanece verificado em seu worktree. A confirmação termina com runs in the origin tree.
  • Quando você iniciou a sessão dentro de um worktree vinculado de um repositório que tem uma árvore de trabalho principal, a cópia começa naquela árvore de trabalho principal, com a mesma regra de worktree próprio, mas sem instrução de branch. A confirmação termina com runs in the origin tree aqui também.
  • Uma sessão iniciada dentro de um worktree de um layout de repositório bare não tem árvore de trabalho principal para retornar, portanto a cópia permanece onde está, e a confirmação termina com edits this checkout. A mesma nota aparece quando o isolamento de worktree está desativado em uma sessão que não está dentro de um worktree vinculado, porque a cópia então edita os arquivos que você tem abertos.

Sessões iniciadas com flags de lançamento que a cópia não herdaria, como um prompt de sistema substituído ou uma allowlist --tools, não podem ser bifurcadas; Claude Code diz isso em vez de fazer uma cópia parcial. Uma sessão despachada a partir de agent view bifurca normalmente: a cópia é lançada com a mesma definição de agente e instruções anexadas que a sessão da qual veio.

What carries over when you background

Colocar em background inicia um novo processo que retoma da conversa salva, e o trabalho em andamento se move para ele: comandos shell em background em execução, subagents em background, workflows dinâmicos, tarefas agendadas que você criou com /loop e respostas automáticas de Claude a comentários de artefatos todos se transferem e continuam em execução lá. Um subagent se move junto com tudo que iniciou, portanto é transferido apenas quando todo esse trabalho pode se mover também. Para parar o trabalho em andamento em vez de transferi-lo, defina a variável de ambiente CLAUDE_DISABLE_ADOPT=1; Claude Code então pede que você confirme antes de colocar em background.

Quando um workflow dinâmico ainda tem subagents em execução, Claude Code pergunta antes de colocar em background com o diálogo Background this session?, que diz quantos subagents seriam reiniciados. Escolha Stay para deixá-los terminar primeiro. Se você confirmar, Claude Code reproduz a execução na sessão em background: subagents que ainda estavam em execução começam do início, portanto os tokens que usaram até agora são gastos novamente. Veja Resume after a pause para saber quais subagents concluídos retornam seus resultados salvos e quais são executados novamente.

Claude Code interrompe o trabalho que não pode ser transferido, como um monitor em execução, e interrompe um subagent em background que possui um monitor junto com ele. Quando algum desse trabalho está em execução, Claude Code mostra o diálogo Background this session? para que você possa confirmar antes de ser interrompido.

Uma vez em background, a sessão pode iniciar novos subagents, monitors e comandos em background, e esses continuam em execução em desanexações e reanexações posteriores.

As flags de configuração do lançamento original são transferidas para a sessão colocada em background, portanto seus servidores MCP, settings e modelo de fallback permanecem em vigor:

  • --mcp-config e --strict-mcp-config
  • --settings
  • --add-dir
  • --plugin-dir
  • --fallback-model
  • --allow-dangerously-skip-permissions

Diretórios que você adicionou durante a sessão com /add-dir também são transferidos. Transferir --allow-dangerously-skip-permissions mantém bypassPermissions acessível na sessão colocada em background, mas não concede nada novo: o modo ainda requer a aceitação interativa única descrita em Permission mode, model, and effort.

From your shell

Passe --bg ou sua forma longa --background para iniciar uma sessão que vai direto para o background:

claude --bg "investigate the flaky SettingsChangeDetector test"

O prompt é o argumento posicional, não um valor -p. Claude Code rejeita --bg combinado com -p ou --print antes de qualquer sessão ser criada, porque --print nunca inicia a sessão interativa à qual claude agents se anexa.

Para executar um subagent específico que você definiu, como um code-reviewer, como o agente principal da sessão, combine --bg com --agent:

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

Se o nome não corresponder a nenhum de seus subagents, o lançamento falha: Claude Code imprime um aviso no agent named e ainda relata a sessão como colocada em background, mas a sessão sai imediatamente com um erro --agent '<name>' not found.

Quando a sessão colocada em background mais tarde retoma ou reinicia, Claude Code restaura o agente e suas restrições de ferramenta; para seu prompt de sistema, veja System prompt flags in resumed conversations. Ele procura o agente no diretório da própria sessão primeiro, desde que você tenha confiado naquele workspace, portanto um agente com escopo de projeto ainda carrega quando a sessão é retomada de outro diretório. Se o agente não existir mais, a sessão continua com as ferramentas padrão e sua transcrição abre com um aviso nomeando o agente.

Para continuar uma conversa existente em background, passe seu ID de sessão completo com --resume:

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

Em Claude Code v2.1.257 ou posterior, Claude Code continua aquela sessão sob o mesmo ID, ou inicia uma cópia sob um novo ID e imprime uma linha note: explicando por que não pôde continuar no local. Quando a sessão continua no local, claude agents mostra uma linha para ela.

Quando você combina --bg com --continue, um --resume simples, ou --resume com um nome ou caminho de arquivo, Claude Code sempre inicia tal cópia. Adicione --fork-session para iniciar uma cópia propositalmente, sem a nota.

Passe --name para definir o nome de exibição da sessão em agent view em vez do gerado automaticamente:

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

Após colocar em background, Claude imprime o ID curto da sessão e os comandos para gerenciá-la. Quando o serviço que hospeda sessões em background não está já em execução, --bg pode primeiro imprimir Starting background service… acima desta saída. Quando você passa --name, o nome aparece após o ID curto:

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

Run a shell command

Para executar um comando shell como um trabalho em background em vez de uma sessão Claude, passe --exec. O exemplo a seguir executa pytest -x como um trabalho em background:

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

A partir de agent view, despache o mesmo tipo de trabalho digitando ! como o primeiro caractere da entrada de despacho: o ! aparece como um prefixo, tudo depois dele é o comando, e Enter inicia o trabalho.

O comando é executado como um trabalho com suporte PTY e aparece como uma linha em agent view, com a linha de saída mais recente como seu status. Um trabalho shell executa o comando no lugar de Claude, portanto nenhum modelo é invocado e a saída não é enviada para nenhuma sessão.

Para ver a saída, anexe à linha, pressione Space para espreitar sem anexar, ou execute claude logs <id> do seu shell. A saída capturada permanece na memória e não é escrita em disco. A linha e sua saída são limpas automaticamente cerca de cinco minutos após o comando sair, portanto leia-a antes disso se precisar do resultado.

How file edits are isolated

Toda sessão em background, seja iniciada a partir de agent view, /bg ou claude --bg, inicia no seu diretório de trabalho. Antes de editar arquivos, Claude move a sessão para um git worktree isolado sob .claude/worktrees/, para que sessões paralelas possam ler o mesmo checkout, mas cada uma escreve no seu próprio. Uma vez que a sessão está em seu worktree, Claude Code aplica isolamento de worktree para a sessão e para qualquer subagent que ela gera.

Claude pula o worktree quando:

  • A sessão já está dentro de um git worktree vinculado, seja Claude o criou sob .claude/worktrees/ ou você o criou com git worktree add em outro lugar
  • O arquivo que Claude está editando está dentro de um git worktree vinculado, como um que a sessão ou seu subagent criou com git worktree add
  • O diretório de trabalho não é um repositório git e nenhum hook WorktreeCreate está configurado
  • A escrita está fora do diretório de trabalho

Para desativar o isolamento de worktree para um repositório onde git worktrees são impraticáveis, defina worktree.bgIsolation como "none". As sessões em background editam sua cópia de trabalho diretamente sem se mover para um worktree primeiro. Adicione a configuração ao .claude/settings.json do projeto:

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

Fora de um repositório git, as sessões escrevem no diretório de trabalho diretamente e não são isoladas uma da outra, portanto evite despachar sessões paralelas que editam os mesmos arquivos. Se você usar um sistema de controle de versão diferente, configure um hook WorktreeCreate e Claude isola edições da mesma forma que faz para git.

Quando o hook falha em um diretório que não é um repositório git, Claude pula o isolamento para aquele diretório e edita o diretório de trabalho no local. Dentro de um repositório git, Claude Code bloqueia escritas no checkout compartilhado até que Claude mova a sessão para um worktree.

Para encontrar o caminho do worktree de uma sessão, espreite a sessão ou anexe e verifique seu diretório de trabalho.

Um subagent que a sessão em background gera herda o diretório de trabalho da sessão, portanto suas edições de arquivo chegam ao worktree da sessão em vez de sua cópia de trabalho. Para dar a um subagent seu próprio worktree separado, defina isolation: worktree em seu frontmatter ou passe isolation: "worktree" ao gerá-lo.

Quando uma sessão em background fez alterações de código em um worktree que Claude entrou, Claude Code instrui Claude a preservar o trabalho antes de terminar, para que sobreviva se você deletar a sessão e seu worktree:

  • Commit e push: Claude faz commit sem perguntar, e faz push do branch quando o repositório tem um remoto.
  • Draft pull request: Claude abre um quando a tarefa pede, e o rótulo #N aparece na linha.
  • Nunca: fazer push para main ou master, force-push e mesclar.
  • Suas instruções git têm precedência: se a tarefa, CLAUDE.md ou memory diz que você lida com commit ou push você mesmo, Claude deixa git para você.

Uma sessão editando um checkout que não isolou a si mesma ainda pergunta antes de fazer commit ou alternar branches. Isso se aplica quando o isolamento é definido como "none", quando a movimentação do worktree falhou, ou quando a sessão foi iniciada dentro de um worktree que já existia.

Qualquer que seja a tarefa, Claude termina o trabalho com um relatório dizendo o que fez e onde o trabalho está: um caminho, um branch, um pull request ou a resposta em si.

What deleting a session removes

Delete uma sessão com Ctrl+X duas vezes em agent view ou com claude rm. Exceto nos casos mantidos abaixo, a sessão sai da lista. Sua transcrição permanece em sua máquina através de claude --resume, e a remoção sobrevive a reinicializações do supervisor.

O que acontece com um worktree que Claude criou para a sessão:

  • Agent view o remove, incluindo alterações não confirmadas, portanto confirme o que você quer manter primeiro.

  • claude rm o mantém, junto com a linha da sessão, quando tem alterações não confirmadas.

  • Nem agent view nem claude rm removem um worktree que outra sessão em execução está usando ou bloqueou, e deletar novamente não muda isso. Claude Code mantém o worktree e a sessão, e nomeia o diretório mantido e o motivo; em agent view, a linha da sessão mostra not deleted. Feche a outra sessão, depois delete novamente.

  • Quando você deleta uma sessão cujo worktree tem commits que Claude Code não pode confirmar que estão salvos em outro lugar, Claude Code mantém o worktree e a sessão, e a mensagem nomeia o branch do worktree e quantos commits não são enviados. A mensagem também oferece os dois caminhos adiante: fazer push dos commits ou deletar novamente para descartá-los.

    Commits em um remoto não bloqueiam a deleção. Nem commits na cópia local do branch padrão do seu remoto origin, desde que aquele branch esteja verificado em seu checkout principal, o diretório do repositório em si em vez de um worktree.

    Após aquela recusa, você escolhe:

    • Para manter os commits, faça push deles ou mescle-os naquele branch padrão, depois delete a sessão novamente.
    • Para descartá-los, delete a sessão novamente sem fazer push: pressione Ctrl+X duas vezes em sua linha em agent view, ou execute o comando claude rm <id> --discard-unpushed que a recusa imprimiu. Isso remove a sessão e o worktree junto com seu branch, descartando os commits não enviados e quaisquer alterações não confirmadas.

    Quando você deleta novamente, Claude Code descarta apenas o que a recusa mostrou: se o worktree ganhou um commit desde então, Claude Code o mantém novamente e mostra o estado atualizado.

    Quando os registros de outra sessão concluída também nomeiam o worktree, ele permanece quando você deleta novamente; faça push dos commits, depois delete novamente.

  • Um worktree que git não reconhece mais, por exemplo após git worktree prune, não bloqueia a deleção. Claude Code deleta a sessão e deixa o diretório em disco.

  • Quando git ou seu hook WorktreeRemove falha em remover o worktree, Claude Code mantém o worktree e a sessão, e a mensagem nomeia a causa. Para um hook, a mensagem diz como terminou, como exited 1, e cita o início de seu stderr. A mensagem também diz qual destes fazer a seguir:

    • Delete a sessão novamente para remover o diretório mesmo assim, pressionando Ctrl+X duas vezes em sua linha em agent view ou executando o comando claude rm <id> --force-remove-worktree <worktree-id> que a recusa de claude rm imprimiu. Claude Code oferece isso apenas quando pode confirmar que o diretório é um dos worktrees vinculados do repositório sob .claude/worktrees/ sem alterações não confirmadas em arquivos rastreados, sem repositório aninhado dentro dele e sem registro de outra sessão nomeando-o. O branch do worktree permanece no repositório.
    • Corrija o que está no caminho, como fazer commit ou stash das alterações não confirmadas, fechar o que está usando o diretório ou corrigir o hook, depois delete a sessão novamente.
    • Remova o diretório você mesmo, depois delete a sessão novamente.

Um worktree que você criou você mesmo e iniciou a sessão dentro é deixado no lugar de qualquer forma.

Uma sessão cujo diretório de worktree não pertence a nenhum repositório git, porque o repositório foi deletado ou um hook WorktreeCreate criou o diretório em outro lugar, ainda pode ser deletada. Enquanto arquivos permanecem no diretório:

  • Agent view pede o mesmo duplo Ctrl+X antes de descartá-los. Para um diretório criado por hook, ele executa seu hook WorktreeRemove em vez disso, e sem um, ele recusa a deleção e mantém a sessão.
  • claude rm mantém a sessão e worktree, e nomeia o motivo.

Qualquer caminho mantém um diretório que os registros de outra sessão concluída nomeiam.

Set the model

O nome do modelo mostrado no cabeçalho de agent view é o padrão de despacho. Novas sessões que você inicia a partir da entrada usam este modelo, que vem da configuração model em suas settings de usuário. Defina-o selecionando um modelo no seletor /model, ou edite a configuração diretamente.

Para substituir o padrão de despacho para toda a sessão de agent view, passe --model ao abrir agent view. Veja Permission mode, model, and effort.

Para alterar o padrão de despacho de dentro de agent view, digite /model seguido de um nome de modelo na entrada de despacho e pressione Enter. O cabeçalho é atualizado para mostrar esse modelo com um marcador (session), e as sessões que você despacha depois usam-no. Digite /model default para limpar a substituição e retornar ao padrão de despacho. Essa substituição dura o resto da execução atual de claude agents e não escreve no seu arquivo de settings. O exemplo a seguir despacha uma sessão em Opus e a próxima em Sonnet:

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

Cada sessão em background pode ser executada em um modelo diferente. Para substituir para uma sessão:

  • Do shell, passe --model com claude --bg.
  • Anexe a uma sessão em execução e execute /model para alternar: uma escolha do seletor, ou um /model <name> digitado, salva como seu padrão para novas sessões a menos que você pressione s no seletor para uma alternância apenas de sessão. Uma alternância apenas de sessão persiste se a sessão for reiniciada.
  • Despache um subagent cujo frontmatter define um campo model.

Permission mode, model, and effort

Uma sessão em background leva suas settings, provedor, permission mode, modelo e esforço de onde e como você a despachou. As subseções abaixo cobrem cada fonte e o que persiste quando o supervisor reinicia a sessão.

Settings and provider

Uma sessão em background lê suas settings do diretório em que é executada, da mesma forma que se você tivesse iniciado claude lá. Isso inclui valores env em settings de projeto, portanto uma ANTHROPIC_MODEL ou variável de provedor definida lá se aplica a toda sessão em background naquele diretório.

Uma sessão em background também é executada com o PATH do shell a partir do qual você a despachou, portanto os comandos que ela executa encontram as mesmas ferramentas que seu terminal faz. Ela mantém a seleção de provedor de nuvem daquele shell também, como CLAUDE_CODE_USE_BEDROCK ou CLAUDE_CODE_USE_VERTEX, junto com seus aliases ANTHROPIC_DEFAULT_*_MODEL e qualquer substituição CLAUDE_CODE_EXTRA_BODY que você exportou lá.

LLM gateway

Se você rotear Claude Code através de um LLM gateway, coloque as variáveis de gateway em um bloco env de um arquivo de settings em vez de exportá-las em seu shell, e as sessões em background as leem com o resto de suas settings. Set in a settings file mostra o bloco e qual arquivo de settings usar para a credencial.

Se você exportar um gateway ANTHROPIC_BASE_URL apenas em seu shell em vez disso, ele alcança uma sessão em background, junto com o ANTHROPIC_CUSTOM_HEADERS e credencial que você exportou com ele, apenas quando o supervisor foi ele próprio iniciado a partir de um shell que exportou o mesmo gateway, e apenas nestes casos:

  • Você coloca sua própria sessão em background com ← ou /background
  • Você despacha uma sessão para o diretório em que está
  • Você acorda uma sessão parada no diretório em que está anexando ou respondendo a ela

Claude Code encaminha um gateway na frente de um provedor de nuvem. Se o shell a partir do qual você despacha seleciona o provedor e exporta seu endpoint de gateway com seu flag de bypass de auth, Claude Code encaminha o par endpoint-e-flag para a sessão sob as condições que se aplicam a ANTHROPIC_BASE_URL, junto com ANTHROPIC_CUSTOM_HEADERS. Por exemplo, exporte CLAUDE_CODE_USE_VERTEX=1 com ANTHROPIC_VERTEX_BASE_URL e CLAUDE_CODE_SKIP_VERTEX_AUTH=1, e Claude Code encaminha aquele endpoint e flag.

Claude Code aplica um gateway encaminhado apenas ao processo em execução daquela sessão e nunca o escreve em disco.

Permission mode

O permission mode depende de como você iniciou a sessão:

  • Colocada em background com /bg ou ←: Claude Code mantém o permission mode em que a sessão estava, portanto uma que você alterou para acceptEdits ou auto permanece lá após desanexar
  • Despachada a partir de um agent view que você abriu com ←: a configuração do alvo vem primeiro, e o permission mode da sessão da qual você veio se aplica quando nada mais define um
  • Despachada a partir de claude agents iniciado em um shell, ou com claude --bg: a nova sessão começa da forma que uma nova sessão claude naquele diretório começaria, a menos que você a tenha despachado a partir de um agent view que você abriu com dispatch defaults. Which permission mode a session starts in lista a ordem

Para uma sessão que você despacha a partir de um agent view aberto com ←, Claude Code leva o permission mode do primeiro destes que se aplica:

  1. O permissions.defaultMode do diretório alvo. Duas regras de fonte se aplicam:
  2. O permission mode da sessão da qual você veio

Quando Claude Code recusa o modo de uma fonte como muito permissivo, a próxima fonte na lista decide. Por exemplo, se você despacha a partir de uma sessão em plan mode para um diretório cujas settings verificadas pedem acceptEdits, a nova sessão começa em plan mode. Se você mover aquele defaultMode para ~/.claude/settings.json, ele se aplica independentemente do permission mode da sessão da qual você veio.

Permissividade corre plan, depois Manual e dontAsk, depois acceptEdits e auto, que cada um conta como mais permissivo que o outro, depois bypassPermissions.

Dispatch defaults

Para definir padrões para cada sessão que você despacha a partir de agent view, passe qualquer um de --permission-mode, --model, --effort ou --agent ao abri-lo:

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

--effort aqui aceita os mesmos valores que o flag --effort de nível superior, incluindo ultracode.

--agent define o subagent usado quando um prompt de despacho não nomeia um, seja com @name ou como a primeira palavra. O padrão é a configuração agent se uma estiver definida, caso contrário o agente claude integrado catch-all. Nomear um subagent na entrada de despacho substitui ambos.

claude agents também aceita --dangerously-skip-permissions como abreviação para --permission-mode bypassPermissions, e --allow-dangerously-skip-permissions para tornar bypassPermissions disponível no ciclo Shift+Tab de cada sessão despachada sem iniciar naquele modo. Ambos correspondem aos flags CLI de nível superior.

Passe --restricted para iniciar cada sessão que você despacha a partir da visualização em restricted mode, como se cada uma fosse lançada com o flag de nível superior --restricted. Requer Claude Code v2.1.248 ou posterior.

Os padrões ativos aparecem no rodapé abaixo da entrada de despacho.

Claude Code recusa claude --bg --permission-mode bypassPermissions até que você tenha aceitado o aviso de bypass executando claude --dangerously-skip-permissions uma vez interativamente, já que esse modo permite que uma sessão que você não está observando aja sem aprovação. Passar --dangerously-skip-permissions ou --permission-mode bypassPermissions para claude agents mostra o mesmo aviso quando você não o aceitou antes, e aceitar aplica bypassPermissions às sessões que você inicia a partir da visualização. Passar --allow-dangerously-skip-permissions mostra o mesmo aviso também, e aceitar torna bypassPermissions disponível no ciclo Shift+Tab dessas sessões sem iniciá-las nele.

What persists across restarts

O permission mode, modelo e esforço que você escolheu para uma sessão em background, junto com os flags de configuração que ela carrega, todos persistem quando o supervisor mais tarde para e reinicia seu processo. Uma sessão que você lançou com claude --bg --dangerously-skip-permissions ou claude --bg --permission-mode bypassPermissions permanece em bypassPermissions após aquele reinício. Um modelo ou esforço que você alterou no meio da sessão com /model ou /effort é mantido também.

Se a sessão levou seu esforço de suas settings em vez de --effort ou /effort, Claude Code lê suas settings novamente cada vez que inicia um processo para a sessão. Depois que você edita o esforço salvo em settings.json, a mudança alcança sessões que você coloca em background com ← ou /bg, e seus reinícios posteriores. O esforço salvo é a chave effortLevel ou uma entrada modelSettings.

Claude Code também mantém um nome que você definiu com /rename ou Ctrl+R através daquele reinício, portanto você ainda pode executar claude --resume <name> para alcançar a sessão.

Um prompt que você guardou com Ctrl+S enquanto anexado é mantido com a sessão também. Reabra a sessão após seu processo ter sido parado ou reiniciado, e Ctrl+S restaura o texto guardado. Conteúdo colado no guarda não sobrevive ao reinício.

Settings, plugins, and MCP servers

Agent view aceita os mesmos flags de configuração que claude para carregar settings, plugins, servidores MCP e diretórios adicionais. Agent view aplica --settings e --plugin-dir a si mesmo e passa cada flag de configuração para as sessões que você despacha a partir dele, portanto um plugin ou servidor MCP que você carrega desta forma está disponível nessas sessões.

Flag Efeito
--settings <file-or-json> Substituir settings para agent view e sessões despachadas
--add-dir <path> Conceder acesso a arquivo a um diretório adicional
--plugin-dir <path> Carregar um plugin de um diretório local
--mcp-config <file-or-json> Carregar servidores MCP de um arquivo de configuração ou string JSON
--strict-mcp-config Usar apenas os servidores MCP de --mcp-config, ignorando outra configuração MCP. Veja Exclusive control with managed-mcp.json para o que o flag faz sob um arquivo MCP gerenciado

Repita --add-dir, --plugin-dir ou --mcp-config uma vez por valor. claude agents não suporta a forma separada por espaço, como --add-dir a b c.

Você pode colocar --settings e --plugin-dir antes ou depois de agents. Mantenha --add-dir e --mcp-config após agents: se você colocar qualquer um antes de agents, claude agents --json falha com um erro unknown option.

O exemplo a seguir abre agent view com uma substituição de settings e um diretório extra:

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

--settings aceita um caminho de arquivo ou uma string JSON inline. Um caminho de arquivo deve apontar para um arquivo existente; Claude Code sai com um erro Settings file not found se não apontar.

Gerenciar sessões do shell

Cada sessão em background tem um ID curto que você pode usar do shell. O ID é impresso quando você inicia uma sessão com claude --bg, e o ID de cada sessão é seu nome de diretório em ~/.claude/jobs/. Esses comandos são úteis para scripts ou quando você não quer abrir agent view.

Comando Propósito
claude agents Abrir agent view
claude agents --cwd <path> Abrir agent view com escopo para sessões iniciadas em <path>
claude agents --json Imprimir sessões como um array JSON e sair. Veja Listar sessões como JSON
claude attach <id> Anexar a uma sessão neste terminal
claude logs <id> Imprimir a saída recente da sessão
claude stop <id> Interromper uma sessão. Também aceita claude kill
claude respawn <id> Reiniciar uma sessão, em execução ou interrompida, por exemplo, para usar um binário Claude Code atualizado. A sessão reiniciada retoma sua conversa salva; quando nenhuma está no disco, ela executa seu prompt original novamente como uma nova conversa
claude respawn --all Reiniciar cada sessão em execução, por exemplo, para mover todas as sessões para um binário Claude Code atualizado de uma vez
claude rm <id> Remover uma sessão da lista, junto com um worktree que Claude criou para ela quando é seguro deletar; veja O que deletar uma sessão remove. A transcrição da conversa permanece em sua máquina local e continua disponível através de claude --resume
claude rm <id> --discard-unpushed <commit>@<worktree-id> Deletar uma sessão cuja exclusão foi recusada sobre commits não enviados, descartando o worktree junto com seu branch e commits. Passe o valor exato que a recusa imprimiu; veja O que deletar uma sessão remove. Requer v2.1.260 ou posterior
claude rm <id> --force-remove-worktree <worktree-id> Deletar uma sessão cuja exclusão foi recusada porque git ou o hook WorktreeRemove não conseguiu remover seu worktree, deletando o diretório worktree mesmo assim e deixando seu branch no repositório. Passe o valor exato que a recusa imprimiu; veja O que deletar uma sessão remove. Requer v2.1.268 ou posterior
claude daemon status Imprimir o estado do supervisor, versão, diretório de socket e contagem de workers
claude daemon stop --any Parar o processo supervisor e as sessões em background que ele hospeda. Passe --keep-workers para deixar as sessões em background em execução para que o próximo supervisor se reconecte a elas. O próximo claude agents ou claude --bg inicia um novo supervisor

Listar sessões como JSON

claude agents --json imprime sessões ativas como um array JSON e sai: cada sessão ativa, mais sessões em background que ainda estão funcionando ou bloqueadas mesmo quando seu processo saiu. Adicione --all para também incluir sessões em background concluídas, e --cwd <path> para limitar a lista a sessões iniciadas sob esse diretório.

Cada entrada descreve uma sessão:

Campo Presente Descrição
cwd, kind, startedAt Sempre O diretório de trabalho, interactive ou background, e a hora de início em milissegundos Unix
id Sessões em background ID curto, utilizável com claude attach, claude logs e claude stop
state Sessões em background Um de working, blocked, done, failed ou stopped. Veja Ler estado da sessão de um script para o que cada valor significa
pid, status Enquanto o processo está vivo ID do processo e um de busy, waiting ou idle
waitingFor Quando status é waiting No que a sessão está bloqueada: permission prompt para uma aprovação, input needed para uma pergunta do Claude ou uma solicitação de entrada de um servidor MCP, sandbox request, worker request ou dialog open
sessionId, name Quando definido sessionId é o UUID completo da sessão, utilizável com claude --resume. O name de uma sessão interativa é seu nome de exibição padrão até que você nomeie a sessão ou aceite um plano nela

Ler estado da sessão de um script

claude agents --json é a forma suportada de ler estado da sessão de fora do Claude Code, por exemplo de uma barra de status, um agendador ou outra sessão Claude que supervisiona trabalho em background. Pesquise claude agents --json --all, que continua listando sessões cujo processo saiu, e leia state, status e waitingFor de cada entrada.

state O que significa
working Um turno está em execução, ou a sessão está entre etapas de trabalho que ela conduz por conta própria, como uma iteração de /loop ou uma espera em CI. status diz se seu processo está busy agora
blocked A sessão está esperando por você: uma pergunta que fez, uma decisão de permissão ou sandbox, um erro que apenas você pode limpar como um login expirado, ou seu primeiro prompt se você o iniciou sem um. Quando a espera é um prompt aberto em um processo ativo, waitingFor o nomeia
done O último turno terminou o que você pediu e a sessão está pronta para seu próximo prompt, independentemente de seu processo ainda estar vivo
failed, stopped A tarefa terminou com um erro, ou a sessão foi interrompida

Uma sessão que terminou seu turno e está esperando sua próxima instrução lê done, não blocked. blocked sempre significa que a sessão precisa de algo de você antes de continuar.

Os arquivos em ~/.claude/jobs/<id>/ não são uma interface estável. Valores que uma sessão ou outro programa escreve em state, detail, tempo ou needs são substituídos na próxima atualização.

Se você quer que uma sessão relate progresso em suas próprias palavras, faça-a escrever um arquivo próprio, por exemplo em $CLAUDE_JOB_DIR/tmp, em vez de editar state.json.

Como as sessões em background são hospedadas

Claude Code trata cada sessão listada na visualização de agente como uma sessão em background, independentemente de você estar atualmente anexado a ela. Em contraste, uma sessão iniciada executando claude diretamente está vinculada a esse terminal e termina quando ele fecha, a menos que você a envie para o background.

Para verificar que tipo de sessão você está, execute /status. A linha Session kind lê background job · attached ou background job · unattended em uma sessão em background, dependendo se um terminal está anexado, e interactive em qualquer outra sessão.

O processo supervisor

O supervisor é um serviço em background que executa suas sessões em background para que continuem funcionando depois que você fecha a visualização de agente ou seu terminal. Claude Code o inicia na primeira vez que você coloca uma sessão em background ou abre a visualização de agente, e você não precisa gerenciá-lo.

Cada sessão é seu próprio processo Claude Code sob o supervisor, e o que acontece com esse processo depende do estado da sessão:

  • Funcionando, pausado em um prompt de permissão ou outro diálogo, ou anexado: o processo continua em execução. Um subagent, workflow ou monitor em execução conta como funcionando.
  • Terminado ou aguardando sua próxima mensagem, e desanexado por cerca de uma hora: o supervisor interrompe o processo para liberar recursos. Uma sessão que terminou seu turno fazendo uma pergunta a você conta como aguardando sua próxima mensagem. A conversa fica no disco, e na próxima vez que você anexar ou responder, a sessão retoma de onde parou. Fixe uma sessão com Ctrl+T para manter seu processo em execução.
  • Saiu inesperadamente enquanto o supervisor está em execução: o supervisor reinicia o processo. Terminar uma sessão que você colocou em background com ← ou /background, por exemplo com kill, marca-a como parada em vez de reiniciá-la. Para sessões que terminaram com um desligamento, consulte Sessões aparecem como falhadas ou paradas após desligamento.
  • Após uma atualização automática: o supervisor reinicia a si mesmo para a nova versão e move sessões inativas em background. Sessões que estão funcionando, aguardando você ou anexadas não são interrompidas.

Quando o processo de uma sessão para ou reinicia, os comandos de shell em background, workflows dinâmicos e subagents em background que Claude iniciou nela são transferidos para seu próximo processo; monitors em execução e comandos de shell que um subagent iniciou param com o processo. Deletar a sessão para tudo que ela transferiu. Para parar tudo com o processo em vez disso, defina CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF como 1.

O supervisor e suas sessões se autenticam com as mesmas credenciais armazenadas que suas sessões interativas. Para quais configurações e variáveis de shell chegam a uma sessão, incluindo PATH, consulte Configurações e provedor. Para endpoints de gateway, consulte Gateway LLM.

Onde o estado é armazenado

O estado da sessão é armazenado sob seu diretório de configuração Claude Code. Se você definir CLAUDE_CONFIG_DIR, o supervisor usa esse diretório em vez de ~/.claude e é executado como uma instância separada com suas próprias sessões.

Caminho Conteúdo
~/.claude/daemon.log Log do supervisor
~/.claude/daemon/roster.json Lista de sessões em background em execução, usada para se reconectar após uma reinicialização
~/.claude/jobs/<id>/state.json Estado por sessão mostrado na visualização de agente. Leia-o através de claude agents --json em vez de analisar o arquivo
~/.claude/jobs/<id>/tmp/ Diretório de rascunho por sessão. Chamadas Write e Edit de Claude aqui não solicitam permissão. Removido quando a sessão é deletada

Cada sessão em background tem a variável de ambiente CLAUDE_JOB_DIR definida para seu diretório ~/.claude/jobs/<id>, então comandos de shell que a sessão executa podem escrever arquivos temporários em $CLAUDE_JOB_DIR/tmp sem colidir com sessões paralelas.

Para inspecionar este estado sem ler os arquivos diretamente, execute claude daemon status. Ele relata se o supervisor está acessível, seu ID de processo e versão, o diretório do socket e quantas sessões em background estão ativas.

O comando também avisa quando o supervisor em execução está em uma versão diferente do claude que você invocou, o que acontece após uma atualização que o supervisor ainda não reiniciou. O aviso mostra ambas as versões e diz para você executar claude daemon stop --any para pegar a nova versão. Quando Claude Code é instalado como um serviço do SO, o comando sugerido é claude daemon stop sem a flag.

Sessões sobrevivem a esse desajuste de versão intactas: uma versão mais antiga do Claude Code que atualiza o state.json de uma sessão preserva campos que não reconhece e mantém a sessão listada. A lista de sessões em roster.json segue a mesma regra, então sessões iniciadas pela versão mais nova permanecem acessíveis e continuam aceitando entrada após o supervisor reiniciar.

Desativar a visualização de agente

Para desativar agentes em background e a visualização de agente completamente, defina a configuração disableAgentView como true ou defina a variável de ambiente CLAUDE_CODE_DISABLE_AGENT_VIEW. Os administradores podem impor isso através de configurações gerenciadas.

Troubleshooting

`claude agents` lista subagentes em vez de abrir a visualização de agentes

Se claude agents imprime uma contagem seguida pelos seus subagentes configurados e depois sai, a visualização de agentes não está disponível no seu ambiente. Execute claude update para instalar a versão mais recente.

Se a visualização de agentes ainda não abrir após atualizar, verifique se ela foi desativada por uma configuração ou variável de ambiente.

Agent view abre sem sessões

Antes de você despachar sua primeira sessão, agent view mostra os cabeçalhos de seção vazios com uma descrição sob cada um, mais uma explicação de uma linha acima da entrada, no lugar da lista de sessões. Digite um prompt na entrada na parte inferior e pressione Enter para despachar sua primeira sessão.

Backgrounding mostra um diálogo `Background this session?`

Se você pressionar ← para colocar a sessão atual em background e Claude Code mostrar um diálogo Background this session?, a sessão tem trabalho em andamento que o backgrounding interromperia, reiniciaria ou deixaria em execução sem supervisão, e Claude Code pergunta antes de fazer qualquer um desses:

  • Trabalho que não pode se mover: a sessão tem trabalho que não pode se mover para a sessão em background, como um monitor em execução. O diálogo nomeia o trabalho que Claude Code interromperia e, separadamente, conta as tarefas que são transferidas.
  • Um workflow com subagentes em execução: um dynamic workflow ainda tem subagentes em execução. O workflow em si é transferido, mas seus subagentes em execução reiniciam do início, e o diálogo diz quantos.
  • Respostas automáticas de artefatos: Claude está respondendo a comentários em um artefato por conta própria. Essas respostas continuam na sessão em background, e o diálogo diz isso.

Execute /tasks para ver tudo que está em execução, depois confirme para colocar em background mesmo assim ou escolha Stay para deixar o trabalho terminar primeiro. Veja What carries over when you background para quais tipos de trabalho são transferidos e quais Claude Code interrompe.

Prompt rejected as too short

A entrada de dispatch espera uma descrição de tarefa, não um abridor conversacional. Um prompt com menos de quatro caracteres é rejeitado com uma dica Too short para que um pressionamento de tecla acidental não inicie uma sessão. Descreva o que você quer que a sessão faça, como investigate the flaky checkout test.

Sessions show as failed or stopped after shutdown

Desligar ou reiniciar sua máquina interrompe as sessões em execução em background. Uma sessão que estava aguardando sua entrada permanece sob Needs input quando você volta. Para qualquer outra sessão em execução, o que agent view mostra depende de quanto tempo atrás ela fez progresso pela última vez:

  • Dentro de 48 horas, a sessão mostra como falhada. Anexe ou responda a ela e ela reinicia de onde parou.
  • Passadas 48 horas, como após a máquina estar desligada por dias, a sessão mostra como parada com ended while the background service was off. Pressione Enter na linha e o rodapé mostra Press enter again to resume this session (it ended while the background service was off), or ctrl+x to delete it. Pressione Enter na mesma linha novamente para retomar sua conversa salva. Uma resposta, ou claude attach <id>, a retoma sem esse prompt de rodapé.

Quando transcript cleanup removeu a conversa salva de uma sessão parada, Claude Code recusa abrir a linha: a mensagem diz que não há nada para retomar. claude rm <id> deleta a linha, exceto nos casos mantidos descritos acima, e claude respawn <id> executa seu prompt original novamente. Veja This session's saved conversation is no longer on disk.

Sleep sozinho não interrompe as sessões. Sessões são preservadas durante o sleep e o supervisor se reconecta a elas ao acordar.

Opening a session says the conversation is already open

Dois processos não podem escrever no mesmo transcript. Quando a conversa salva de uma sessão parada já está aberta em outro processo Claude Code ao vivo, Claude Code recusa iniciar o processo da sessão. O que você vê depende do que mantém a conversa:

  • Um terminal onde você retomou a conversa, por exemplo com claude --resume ou /resume: a linha mostra Open in a terminal com uma dica para continuar lá, e abrir a linha mostra Can't open — this session is running in another terminal. Continue naquele terminal, ou saia dele e abra a linha novamente.
  • Outro processo Claude Code não interativo, por exemplo um processo de sessão em background para a mesma conversa que ainda não saiu: abrir a linha mostra This conversation is already open in another running Claude session. Use esse processo, ou aguarde sua saída e abra a linha novamente.

Claude Code salva uma resposta que você digitou com a tentativa recusada e a envia na próxima vez que a sessão inicia.

Opening a session says it has no saved transcript

Uma sessão parada que foi backgrounded from another conversation e parou antes de sua primeira resposta terminar não tem nada para retomar: até que essa primeira resposta termine, a conversa ainda vive apenas na sessão de que foi backgrounded. claude attach recusa abrir com This session has no saved transcript.

Em agent view, abrir essa linha mostra Press enter again to restart this session fresh abaixo da lista. Pressione Enter na mesma linha novamente para reiniciar a sessão com uma conversa vazia, ou execute claude respawn <id> do shell.

A conversa original está intacta; retome-a com claude --resume ou continue trabalhando nela. Veja a referência de erro para detalhes.

The terminal host died or the session stopped responding

O supervisor executa o terminal de cada sessão em background em seu próprio processo host. Quando esse processo morre ou para de responder, Claude Code mostra o motivo e oferece uma reinicialização; em ambos os casos a conversa é salva e a reinicialização a retoma. A referência de erro cita as mensagens completas.

Claude Code nunca reinicia uma linha executando um shell command, de Enter ou de claude attach, porque isso executaria o comando novamente; a mensagem da linha e claude attach ambas dizem que o comando não é executado novamente.

Terminal host died

No Linux e WSL, o supervisor verifica cada processo host a cada poucos segundos, independentemente de você abrir a sessão ou não, e marca a sessão como falhada quando o processo saiu mas sua conexão com o supervisor nunca fechou.

  • Em agent view, a linha mostra terminal host process died — press Enter to restart. Pressione Enter nela e Claude Code reinicia a sessão em um novo processo host.
  • Do shell, claude attach <id> reinicia uma sessão já marcada como falhada. Caso contrário, relata a causa e sai, dizendo-lhe para executar claude attach <id> novamente.

Session isn't responding

Quando o supervisor aceita uma abertura mas nenhuma saída chega por cerca de dez segundos, Claude Code encerra a tentativa e oferece uma reinicialização. Uma sessão que meramente travou, por exemplo durante o sleep da máquina, não chega a essa oferta: o supervisor a reinicia ao abrir por conta própria.

  • Em agent view, o rodapé mostra Press enter again to restart this session — it isn't responding (its conversation is saved and resumes). Pressione Enter na mesma linha novamente e Claude Code interrompe o processo que não responde e reinicia a sessão; ele não interrompe nada sem esse segundo pressionamento.
  • Do shell, claude attach <id> relata a causa e sai, dizendo-lhe para executar claude stop <id>, depois claude attach <id>.

A session fails before starting with a `possibly low memory` note

Quando o processo de uma sessão em background sai antes de terminar de iniciar e o host está com pouca memória, o status da linha nomeia a saída e adiciona possibly low memory — free some up and retry.

A nota é uma hipótese, não uma causa confirmada. Claude Code a adiciona apenas quando o processo saiu silenciosamente, sem escrever um erro e sem ser interrompido por um sinal, e o host relatou pouca memória naquele momento. Quando o processo escreveu um erro antes de sair, a linha mostra esse erro em vez disso.

Libere memória na máquina, depois anexe ou responda à linha e o supervisor inicia um novo processo para a sessão. Quando a memória permanece baixa, o supervisor também interrompe sessões ociosas para liberar recursos por conta própria, e interrompe sessões fixadas ociosas também se interromper as outras não liberou nada.

Agent view says the background service did not respond

Se anexar, espreitar ou claude logs relatar que o serviço de background não respondeu, o processo supervisor provavelmente travou. Interrompa-o e deixe o próximo claude agents iniciar um novo. Para manter suas sessões em background em execução durante a reinicialização, passe --keep-workers:

claude daemon stop --any --keep-workers

O novo supervisor se reconecta às sessões em execução. Sem --keep-workers, o comando também encerra as sessões em background. O sinalizador --any confirma que você deseja interromper um supervisor que foi iniciado sob demanda em vez de como um serviço instalado, que é o padrão.

Um supervisor que inicia mas não consegue aceitar conexões sai e libera seu bloqueio por conta própria, portanto o próximo claude agents inicia um novo sem essa parada manual. Os passos acima se aplicam quando um supervisor em execução trava.

Se o comando em vez disso sair dizendo que o processo registrado não pôde ser verificado como o supervisor, verifique o ID do processo relatado: se for um supervisor que você possui, interrompa-o você mesmo, depois delete ~/.claude/daemon.lock para que o próximo claude agents inicie novo.

No Windows, se o supervisor não responder à solicitação de parada, o comando imprime seu ID de processo. Encerre esse processo com taskkill /PID <pid> para concluir a recuperação. As sessões em background ainda são preservadas quando você passou --keep-workers.

Dispatch fails with `Could not resolve authentication method`

Se um dispatch em background falhar com Could not resolve authentication method enquanto sessões interativas autenticam normalmente, o worker que recebeu o dispatch não pegou as credenciais. Sessões em background obtêm suas credenciais do supervisor, então esse erro significa que nenhuma credencial armazenada estava disponível para o próprio processo supervisor. Confirme que você executou /login ou configurou uma chave de API, depois interrompa o supervisor:

claude daemon stop --any --keep-workers

O próximo claude agents ou claude --bg inicia um novo supervisor que lê suas credenciais armazenadas. Se você autenticar com uma variável de ambiente como ANTHROPIC_API_KEY em vez de /login, execute esse próximo comando a partir de um shell onde a variável está definida.

Veja a referência de erro para a lista completa de causas e correções.

Background sessions can't read Desktop, Documents, or Downloads on macOS

No macOS, o host da sessão em background é executado como seu próprio processo e solicita acesso a pastas protegidas separadamente do seu terminal. Se uma sessão em background relatar Operation not permitted ao ler ~/Desktop, ~/Documents, ~/Downloads ou outro local protegido, conceda acesso em Configurações do Sistema em Privacidade e Segurança > Arquivos e Pastas, ou ative Acesso Total ao Disco para a entrada.

Com o instalador nativo, a entrada aparece como Claude Code e a concessão persiste entre atualizações. Com outros métodos de instalação, como Homebrew ou npm, a entrada mostra o caminho do binário e pode precisar ser concedida novamente após atualizar.

Background sessions can't reach local-network hosts on macOS

No macOS 15 e posterior, o sistema bloqueia um processo de alcançar dispositivos na sua rede local até que você conceda permissão de Rede Local, então um comando direcionado a um endereço LAN pode falhar com connect: no route to host em uma sessão em background mesmo que funcione em um terminal em primeiro plano. O primeiro comando em uma sessão em background que se conecta a um endereço de rede local dispara o prompt de permissão de Rede Local do macOS para Claude Code. Conceda uma vez e esses comandos alcançam hosts LAN da mesma forma que fazem em um terminal em primeiro plano.

A session is slow to respond after attaching

Quando uma sessão que terminou ou está aguardando sua próxima mensagem fica desanexada por cerca de uma hora, o supervisor interrompe seu processo para liberar recursos. Anexar inicia um novo processo de onde parou e muda para a sessão imediatamente enquanto o processo reinicia. Sessões que estão funcionando, pausadas em um prompt de permissão ou outro diálogo, ou fixadas não são interrompidas dessa forma, portanto fixe uma sessão com Ctrl+T para mantê-la responsiva.

Enquanto o processo inicia, Claude Code mostra a cauda da transcrição da sessão formatada da forma que a sessão ao vivo a renderiza, com markdown, blocos de código destacados e chamadas de ferramenta como linhas esmaecidas, acima de uma área de prompt esmaecida com uma nota Session is starting. A sessão ao vivo a substitui assim que estiver pronta.

`.claude/worktrees/` is filling up

Deletar uma sessão em agent view remove a worktree que Claude criou para ela, mas alguns deletes mantêm a worktree ou deixam seu diretório no disco, então diretórios restantes podem se acumular. Diretórios que git não reconhece mais não aparecem em git worktree list, então remova aqueles à mão.

Liste entradas restantes com git worktree list no diretório do projeto e remova cada uma com git worktree remove <path>. Veja Clean up worktrees.

Limitações

Agent view está em visualização de pesquisa com as seguintes limitações:

  • Limites de taxa se aplicam: sessões em background consomem o uso de sua assinatura da mesma forma que sessões interativas, então executar dez agentes em paralelo usa cota aproximadamente dez vezes mais rápido do que executar um.
  • Sessões são locais: sessões em background são executadas em sua máquina. Elas são preservadas durante o sleep, mas param se a máquina desligar.
  • Worktrees criadas pelo Claude são deletadas com a sessão em agent view: confirme as alterações antes de deletar uma sessão que editou arquivos em seu próprio worktree. Algumas exclusões mantêm o worktree em vez disso.

Para outras maneiras de executar Claude em paralelo e para passar descobertas entre as sessões que você executa, consulte:

Histórico de versões

Agent view evoluiu rapidamente durante a visualização de pesquisa. Se você estiver em uma versão mais antiga do Claude Code, alguns comportamentos nesta página podem diferir; em particular, claude agents rejeita flags que ainda não suporta com um erro de unknown option. A tabela abaixo lista quando cada flag e comportamento foi adicionado.

Versão Mudança
v2.1.268 Quando uma exclusão é recusada porque git ou seu hook WorktreeRemove não conseguiu remover o worktree, a mensagem nomeia a causa, incluindo como um hook terminou e o início de seu stderr. Para um worktree vinculado sob o diretório .claude/worktrees/ do repositório sem alterações não confirmadas em arquivos rastreados, nenhum repositório aninhado dentro dele e nenhum registro de outra sessão nomeando-o, deletar a sessão novamente remove o diretório mesmo assim, a partir de agent view ou com claude rm <id> --force-remove-worktree <worktree-id>. Antes desta versão, a linha mostrava apenas worktree could not be removed (WorktreeRemove hook failed) ou o erro do git, o stderr do hook ia apenas para o log de depuração, e deletar novamente era recusado da mesma forma.
v2.1.268 Após o primeiro ← mostrar Press ← again to open agents, ou Press ← again to go back to agents em uma sessão anexada, o primeiro pressionamento que chega pelo menos um segundo depois muda, mesmo quando pressionamentos mais rápidos no meio foram ignorados. Antes desta versão, cada pressionamento ignorado reiniciava a espera, então pressionar ← novamente em um ritmo constante não mudava até que você pausasse por mais de um segundo.
v2.1.260 Quando você coloca uma sessão em background, a listagem de agentes de suas outras sessões mostra a conversa uma vez, como sua sessão em background, e suas mensagens para ela não chegam mais ao terminal de onde você a moveu. Antes desta versão, esse terminal poderia ficar listado como uma segunda sessão interativa sob o nome da conversa, e uma sessão que tinha enviado mensagens para a conversa antes da mudança continuava entregando a esse terminal.
v2.1.260 Quando uma exclusão é recusada sobre commits não enviados, a mensagem nomeia a branch do worktree e quantos commits não foram enviados, e deletar a sessão novamente descarta o worktree e seus commits. Antes desta versão, a recusa dizia apenas worktree has commits that are not pushed anywhere, deletar novamente era recusado da mesma forma, e deletar a sessão exigia enviar os commits ou remover o worktree manualmente.
v2.1.257 ← desanexa de uma sessão anexada enquanto a sobreposição /btw está aberta, até mesmo no meio de uma resposta, e a sobreposição reabre quando você se anexa novamente. Antes desta versão, ← não desanexava enquanto a sobreposição estava aberta.
v2.1.257 Quando você executa claude --resume <session-id> --bg, Claude Code continua essa sessão sob seu próprio ID, ou inicia uma cópia sob um novo ID e imprime uma linha note: explicando o motivo. --continue, um --resume simples, e --resume com um nome ou caminho iniciam uma cópia com a mesma nota. Antes desta versão, --resume com --bg sempre iniciava uma cópia sob um novo ID e não dizia nada.
v2.1.257 Quando você despacha uma sessão a partir de uma agent view que você abriu com ←, Claude Code a inicia no modo de permissão que o diretório de destino configura através de permissions.defaultMode. Quando o diretório não define um, o modo de permissão da sessão de onde você veio se aplica. Antes desta versão, a sessão despachada sempre iniciava no modo de permissão da sessão de onde você veio, substituindo-o.
v2.1.257 Ctrl+S, Ctrl+T e Ctrl+G em agent view seguem seus keybindings.json: Ctrl+S e Ctrl+T através das ações agents:switchView e agents:togglePin do contexto Agents, e Ctrl+G através da vinculação chat:externalEditor do contexto Chat. Antes desta versão, agent view ignorava keybindings.json e essas teclas eram fixas.
v2.1.257 Iniciar o serviço de background se recupera de duas causas de falha. Em uma instalação npm no macOS, um início durante uma auto-atualização aguarda a instalação em vez de executar o placeholder que npm coloca enquanto substitui o binário. No Windows, um daemon.lock obsoleto escrito antes da última inicialização da máquina, ou cujo ID de processo registrado agora pertence a um processo diferente, é substituído. Antes desta versão, o início no macOS falhava com Error: claude native binary not installed. durante a janela de instalação, e o lock do Windows fazia cada início falhar com exited before it became reachable até que você deletasse ~/.claude/daemon.lock.
v2.1.257 Quando você abre ou despacha uma sessão em background enquanto outro processo Claude Code está baixando uma atualização npm, Claude Code continua aguardando até dois minutos enquanto a instalação é executada, depois falha dizendo Claude Code is being updated by npm on this machine. Antes desta versão, a espera parava em dez segundos, então a abertura falhava com Couldn't start the background service enquanto o download ainda estava em execução.
v2.1.257 Uma sessão em background segurando uma mensagem entre sessões para sua aprovação mostra approve message from em sua linha Needs input, com o endereço do remetente e o nome que o remetente afirma. Antes desta versão, a linha se movia para Needs input mas mantinha seu texto anterior, então nada em claude agents nomeava a mensagem aguardando ou seu remetente.
v2.1.257 Um prompt armazenado com Ctrl+S dentro de uma sessão em background aberta é mantido com a sessão, então Ctrl+S o restaura após o processo da sessão ser parado e iniciado novamente. Antes desta versão, o armazenamento vivia apenas no processo em execução e era perdido quando a sessão ficava ociosa tempo suficiente para seu processo parar, ou quando era parada e depois reabierta.
v2.1.251 Em uma sessão em background que não se moveu para um worktree, Claude e os subagentes que ele gera podem editar arquivos dentro de um worktree git vinculado.
v2.1.251 Claude Code encaminha um gateway de provedor de nuvem exportado no shell de onde você despacha, como ANTHROPIC_VERTEX_BASE_URL ou ANTHROPIC_BEDROCK_BASE_URL com sua flag de bypass de autenticação, para o worker da sessão sob as mesmas condições que ANTHROPIC_BASE_URL. Antes desta versão, se você colocasse em background ou despachasse a partir de um shell autenticado apenas através de tal gateway, cada solicitação que a sessão fazia falhava, porque o endpoint e a flag eram descartados de seu ambiente.
v2.1.251 Quando uma sessão em background inicia enquanto outro processo Claude Code está atualizando um marketplace de plugins, como uma sessão irmã executando a atualização automática do marketplace, Claude Code mantém os plugins desse marketplace disponíveis. Antes desta versão, tal sessão poderia iniciar sem nenhuma das skills, agentes, hooks e servidores MCP desse marketplace e permanecer assim durante toda sua execução.
v2.1.248 Shift+Enter na entrada de despacho insere uma nova linha, correspondendo ao prompt principal, e Ctrl+Enter despacha e se anexa imediatamente em terminais onde a sobreposição ? lista ctrl+enter to start and open. Antes desta versão, Shift+Enter despachava e se anexava.
v2.1.248 Deletar uma sessão tem sucesso quando os commits do worktree já estão na cópia local da branch padrão do seu remote origin e seu checkout principal tem essa branch verificada; antes desta versão, a exclusão era recusada com has commits that are not pushed anywhere.
v2.1.248 Uma sessão colocada em background com ← ou /background mantém o git worktree lock em seu worktree enquanto é executada; antes desta versão, colocar em background liberava o lock, e limpeza ou git worktree remove poderia remover o worktree sob a sessão em execução.
v2.1.248 Uma sessão em background que não estava aguardando sua entrada e é encontrada morta mais de 48 horas após sua última atividade, como após a máquina estar desligada por dias, mostra como parada com ended while the background service was off, e Enter nela pergunta antes de retomar sua conversa salva. Antes desta versão, tal sessão reaparecia como uma falha fresca classificada no topo da lista, e um único Enter puxava a conversa de semanas atrás para o primeiro plano.
v2.1.248 Abrir uma linha parada cuja conversa você retomou em outro terminal é recusado com Can't open — this session is running in another terminal, e a linha mostra Open in a terminal em vez de mostrar sob Working. Antes desta versão, abrir a linha iniciava um segundo processo escrevendo para a mesma conversa.
v2.1.248 Uma sessão em background aguardando uma decisão de permissão enquanto um hook PermissionRequest ou PreToolUse imprimiu uma resposta inválida nomeia o evento do hook e o erro de schema em sua linha. Antes desta versão, a linha mostrava apenas a solicitação pendente.
v2.1.248 No Windows, claude agents responde ao teclado quando lançado em uma aba de terminal que um programa anterior deixou em win32-input-mode. Antes desta versão, Claude Code não decodificava os registros de chave que tal aba envia.
v2.1.247 No Linux e WSL, uma sessão cujo processo host do terminal morreu falha em segundos com o motivo. Uma abertura que não produz saída termina após cerca de dez segundos com uma oferta de reinício, e Enter na linha reinicia a sessão com sua conversa; claude attach <id> relata a causa e sai. Antes desta versão, abrir tal sessão mostrava opening… · esc to cancel indefinidamente e claude attach <id> aguardava sem relatar um erro.
v2.1.246 Em uma instalação npm, quando o serviço de background falha ao iniciar enquanto npm install -g @anthropic-ai/claude-code está substituindo o binário, Claude Code aguarda até dez segundos para a instalação terminar e tenta novamente antes de relatar EACCES: permission denied.
v2.1.246 Quando o processo do serviço de background morre após imprimir um erro, Claude Code relata a falha e cita a primeira linha de erro do serviço.
v2.1.246 Se sua máquina dormir enquanto o serviço de background está iniciando, Claude Code tenta novamente o início uma vez em vez de falhar.
v2.1.246 Claude Code aguarda cerca de dois minutos em vez de 45 segundos por um serviço de background recém-iniciado que está vivo mas lento para aceitar conexões.
v2.1.246 O serviço de background inicia a partir de seu diretório inicial, então no macOS e Linux um diretório inicial que foi deletado ou movido não bloqueia mais o início.
v2.1.246 /fork copia a conversa completa de uma sessão que ela mesma iniciou como uma cópia e não registrou um novo prompt desde: uma cópia /fork que você se anexou, uma sessão reexaminada após ← ou /background a moveu para o background, ou uma sessão iniciada com claude --resume <id> --fork-session. Antes desta versão, se você executasse /fork em tal sessão antes de enviar um novo prompt, Claude Code imprimia a confirmação normal mas iniciava a cópia com uma conversa vazia. Mover tal sessão para o background com ← ou /background perdia a conversa da mesma forma.
v2.1.246 Quando você abre uma sessão que acabou de despachar enquanto seu processo worker ainda está iniciando, como pressionando Enter em sua linha, Claude Code aguarda o processo e depois se anexa. Antes desta versão, se você pressionasse Enter enquanto o processo ainda estava iniciando, Claude Code poderia parar a sessão com Session <id> was stopped while the respawn was in flight.
v2.1.246 Quando você coloca em background uma sessão nomeada, Claude Code a lista uma vez, e quando você coloca em background a mesma conversa novamente, ele numera o nome da nova linha, como my-session (2), com a linha existente mantendo seu nome. Antes desta versão, o terminal em que você pressionou ← poderia aparecer em claude agents --json como uma segunda sessão sob o mesmo nome, e se você colocasse em background a mesma conversa novamente, Claude Code adicionava outra linha sob o nome idêntico.
v2.1.239 Com modo de editor vim ativado, pressionar Esc na entrada de agent view muda de modo INSERT para NORMAL e mantém seu texto, correspondendo ao prompt principal; em modo NORMAL com texto ainda na entrada, pressionar Esc o limpa, e pressionar Esc em uma entrada vazia sai, como o atalho Esc descreve. Antes desta versão, Esc limpava a entrada.
v2.1.233 Para uma sessão vinculada a um merge request do GitLab, Claude Code escreve o rótulo da linha na sintaxe de referência !1234 do GitLab. Você também pode colar a URL do merge request na entrada de despacho para selecionar essa sessão. Antes desta versão, o rótulo era renderizado como #1234, e uma URL de merge request colada correspondia a uma sessão apenas quando seu primeiro prompt continha a URL.
v2.1.227 Deletar uma sessão mantém a sessão e seu worktree enquanto outra sessão Claude Code ao vivo está em execução dentro desse diretório de worktree. Agent view mostra not deleted na linha e o motivo no rodapé, e claude rm imprime kept <id> com o motivo, que nomeia o ID do processo da outra sessão. Antes desta versão, deletar a sessão removia o worktree enquanto a outra sessão ainda estava trabalhando nele.
v2.1.225 claude agents em um diretório que você não confiou mostra o mesmo diálogo de confiança de workspace que claude mostra na inicialização, antes de agent view abrir. Aceitar salva confiança para esse workspace; recusar sai sem abrir agent view. Antes desta versão, claude agents abria sem perguntar, então sessões que você despachava a partir dele eram executadas em um diretório que você nunca foi perguntado se confiava.

Com a lista agrupada por diretório, passar o mouse sobre uma linha a destaca sem alterar o alvo de despacho; selecionar uma linha com as teclas de seta ou um clique ainda altera o alvo. Antes desta versão, mover o mouse sobre uma sessão em outro projeto silenciosamente alterava o diretório em que a próxima sessão despachada iniciava.
v2.1.221 /status mostra uma linha Session kind: background job · attached ou background job · unattended em uma sessão em background, dependendo se um terminal está anexado, e interactive em qualquer outra sessão. Antes desta versão, /status não relatava o tipo de sessão.

/fork: Claude Code instrui a cópia a isolar seu trabalho da sessão original: a cópia cria seu próprio worktree antes de fazer alterações de código, fica fora do worktree da sessão original, e baseia uma nova branch na branch da original quando sua tarefa se baseia nesse trabalho. Veja a seção vinculada para as condições exatas. Antes desta versão, a cópia não recebia instrução de isolamento e poderia acabar editando o worktree ou fazendo checkout que a sessão original ainda estava trabalhando.

Com modo de editor vim ativado, pressionar ← logo após desfazer o prompt de volta para vazio com u pede a mesma confirmação que deletar o texto ou mover através do histórico de prompts, e muda apenas na segunda pressão; antes desta versão a pressão mudava imediatamente.
v2.1.219 Com modo de editor vim ativado, pressionar ← em um prompt vazio abre agent view do modo NORMAL assim como INSERT, e a dica ← do rodapé mostra em modo NORMAL; antes desta versão o gesto e a dica eram apenas INSERT, e em modo NORMAL ← em um prompt vazio não fazia nada. Digitar na entrada enquanto Claude Code aguarda colocar a sessão em background cancela a mudança com Backgrounding cancelled — you have unsent text in the input. Send it or clear it, then press ← again. então um rascunho digitado não é perdido.
v2.1.218 Pressionar ← dentro de dois segundos de uma exclusão que esvaziou o prompt, ou de mover através do histórico de prompts, mostra Press ← again to open agents, ou Press ← again to go back to agents em uma sessão anexada, e muda apenas em uma segunda pressão pelo menos um segundo depois; antes desta versão a pressão mudava imediatamente. Um ← que chega dentro de entrada colada ou com script não dispara mais a mudança. Colocar uma sessão em primeiro plano em background com ← mostra Your conversation moved to the background acima da lista, e Esc na raiz de agent view retorna para essa conversa em vez de sair para o shell, com duplo Ctrl+C permanecendo a saída; se a conversa não puder ser reabierta, Claude Code sai e imprime um comando claude --resume para ela. No Windows, um ← pressionado dentro de cerca de meio segundo de se anexar mostra Ambiguous ←, press again to detach e desanexa na segunda pressão.
v2.1.217 O badge de pull request na linha de uma sessão é renderizado como um hiperlink mesmo quando Claude Code não consegue detectar suporte a hiperlink de terminal, por exemplo sobre SSH ou tmux; defina FORCE_HYPERLINK=0 para renderizá-lo como texto simples. Antes desta versão, o badge era renderizado como texto simples quando o suporte não era detectado.
v2.1.216 /fork: a confirmação é uma linha, mostrando o estado da cópia, o nome de sua linha de agent-view, e seu ID de sessão para claude attach, terminando com runs in the origin tree ou edits this checkout apenas quando a cópia é executada na árvore de trabalho principal ou edita o checkout que você tem aberto. Clicar no nome coloca essa sessão em background e abre agent view na sessão da cópia. A confirmação não reafirma mais o modo de permissão herdado da cópia; versões anteriores imprimiam uma confirmação de múltiplas linhas sem nome clicável.

Needs input: /install-github-app e a lista de configurações /mcp, executadas enquanto ninguém está anexado, mostram a sessão sob Needs input com uma linha nomeando o comando, e anexar e re-executar o comando continua; de v2.1.208 até v2.1.215 eles foram recusados completamente nesse estado.

--agent restore: retomar ou reiniciar uma sessão --agent colocada em background restaura o prompt do sistema do agente e restrições de ferramentas, procurando no diretório da própria sessão pelo agente primeiro, quando seu workspace é confiável; uma sessão cujo agente não existe mais continua com as ferramentas padrão e prompt do sistema e abre com um aviso visível, em vez de silenciosamente reverter para o agente padrão.

Ctrl+X: pressioná-lo duas vezes deleta uma sessão mesmo quando a tentativa de parada falha, em vez de uma parada falhada cancelar a exclusão pendente, e uma sessão deletada cujo processo worker tinha morrido não reaparece no próximo refresh.

Worktree deletion: uma sessão cujo diretório de worktree não pertence a nenhum repositório git pode ser deletada; antes desta versão cada tentativa de deletar tal sessão era recusada. Um diretório que já se foi se limpa imediatamente. O double-press de agent view remove um diretório que ainda tem arquivos, executando seu hook WorktreeRemove para um diretório criado por hook, a menos que outro registro de sessão também o nomeie. claude rm mantém tal diretório sempre que arquivos permanecem.
v2.1.214 Uma sessão colocada em background com ← ou /background e deixada ociosa sem nada em execução tem seu processo parado como qualquer outra sessão ociosa, em vez de manter seu processo e o serviço de background em execução indefinidamente. Uma sessão concluída pode ser removida com claude rm ou a partir de agent view após o serviço de background ficar ocioso, e uma sessão que entrou em um worktree após ser despachada de um diretório que não é um repositório git, como uma pasta de workspace multi-repo, pode ser deletada a partir de agent view quando o próprio worktree pertence a um repositório git, porque a limpeza é resolvida a partir do worktree em vez do diretório de onde a sessão foi despachada; ambas as remoções foram recusadas em cada tentativa antes. Reabrir uma sessão parada restaura sua conversa salva mesmo quando uma pasta no armazenamento de transcrição não pode ser lida.
v2.1.213 /install-github-app, a lista de configurações /mcp, e ações de autenticação MCP funcionam em uma sessão em background enquanto um terminal está anexado, e são recusadas apenas quando ninguém está anexado, com uma mensagem dizendo para você anexar e executar o comando novamente; de v2.1.208 até v2.1.212 eles foram recusados mesmo com um terminal anexado.
v2.1.212 /fork em uma sessão interativa copia a conversa em uma nova sessão em background que aparece como sua própria linha, nomeada após a sessão de onde veio ou, para um fork solicitado de uma sessão sem nome, após o prompt do fork, enquanto a original continua em execução; o comportamento anterior de subagente forked de /fork se moveu para /subtask. Com agent view desativado, /fork mantém o comportamento de subagente forked. Uma linha focada que está aguardando seu primeiro prompt mostra space to send it a prompt. Ctrl+J insere uma nova linha na entrada de despacho em terminais com relatório de chave estendido, onde o pressionamento de chave foi previamente ignorado, e a sobreposição ? lista o atalho. A dica de rodapé ← em uma sessão interativa brevemente mostra N done quando uma sessão em background termina enquanto nenhuma precisa de sua entrada. Digitar um /resume simples em agent view abre um seletor de sessões passadas do repositório de onde você abriu agent view, incluindo sessões deletadas da lista, e escolher uma a retoma como uma sessão em background; antes desta versão /resume não estava disponível em agent view e sessões deletadas eram alcançáveis apenas com claude --resume ou /resume de uma sessão interativa. Formulários direcionados, com escopo e restritos mantêm a dica attach to a session to run it que versões anteriores mostravam para cada formulário. Sessões aguardando um prompt de rede-host de sandbox, uma solicitação de entrada MCP, ou um prompt de configurações gerenciadas mostram como Needs input em vez de Working, em agent view e em claude agents --json, e uma pergunta de Claude relata waitingFor: input needed em vez de permission prompt. Anexar a uma sessão cujo processo parou mostra sua transcrição formatada da forma que a sessão ao vivo a renderiza, em vez de como texto bruto. Uma sessão parada cuja transcrição está em um lugar inesperado retoma a partir dela via uma varredura de último recurso de suas transcrições salvas, e abrir uma linha que não tem transcrição salva mostra Press enter again to restart this session fresh, reiniciando-a fresca na segunda pressão; v2.1.211 mostrou a recusa sem forma de reiniciar a partir de agent view.
v2.1.211 Acordar uma sessão parada anexando ou respondendo do diretório em que ela é executada encaminha novamente o gateway ANTHROPIC_BASE_URL do seu shell, sob as mesmas condições que um despacho fresco, então uma sessão autenticada através de um gateway ANTHROPIC_AUTH_TOKEN retoma no gateway em vez de relatar Not logged in. Anexar a uma sessão parada que foi colocada em background de outra conversa antes de sua primeira resposta terminar é recusado com This session has no saved transcript em vez de silenciosamente iniciar uma conversa em branco sob o mesmo session id; abrir a mesma linha a partir de agent view mostrou a recusa no rodapé. Terminar o processo de uma sessão ← ou /background de fora do Claude Code a marca como parada em vez do supervisor reiniciá-la, uma parada já registrada no disco é honrada a menos que uma resposta que você enviou ainda esteja aguardando ser entregue, uma sessão reiniciada após um crash é informada que foi reiniciada, e uma sessão ← ou /background reiniciada não retoma uma resposta interrompida mais antiga que cerca de uma hora. Uma resposta de nomeação de sessão que responde ou recusa o prompt em vez de rotulá-lo, como para um prompt que é principalmente um link, é descartada e a linha mantém um nome tirado do texto do prompt. Deletar uma sessão cujo git de worktree não reconhece mais tem sucesso, deixando o diretório de worktree no disco e nomeando seu caminho, em vez de cada tentativa ser recusada. Uma exclusão recusada mostra o motivo na linha da sessão, incluindo o erro git subjacente quando o worktree não pôde ser removido, em vez de a linha silenciosamente reaparecer.
v2.1.210 claude attach aguarda enquanto o serviço de background está iniciando ou reconectando em vez de falhar com um erro job not found ou still starting, relata uma sessão que terminou durante o anexo como saída, e aplica um redimensionamento de terminal feito durante um anexo lento quando o anexo é concluído. A contagem de necessidades de entrada ← do rodapé do prompt aparece em cada provedor, incluindo provedores de terceiros que anteriormente mostravam o formulário simples ← for agents. Colocar uma sessão em background com ← carrega a lista de tarefas de Claude para a sessão em background em vez de descartá-la. A linha em que você pressionou ← mantém um nome em negrito, não atenuado após a seleção se mover. claude agents --effort aceita ultracode em vez de silenciosamente descartá-lo.
v2.1.208 Anexar a uma sessão cujo processo parou mostra a última tela cheia de sua transcrição enquanto o processo inicia, em vez de apenas uma nota de Session is starting. Uma resposta que não pode ser entregue porque o serviço de fundo está inacessível ou o envio falha é salva e enviada como o próximo prompt da sessão quando seu processo inicia novamente; antes desta versão, uma resposta perdida enquanto o serviço de fundo estava inacessível era descartada. Um processo cujo próprio binário foi substituído por uma atualização ainda pode iniciar o supervisor, a partir do inicializador claude instalado ou da versão mais recente no disco, em vez de falhar até que Claude Code fosse reiniciado. Um supervisor executando uma versão mais antiga nunca reinicia uma sessão ociosa iniciada por uma versão mais nova em seu próprio binário mais antigo. Deletar uma sessão remove seu worktree mesmo depois que a sessão moveu o worktree para uma branch diferente, e mantém o worktree junto com a linha da sessão quando o worktree tem commits que não foram enviados para lugar nenhum ou outra sessão o reclama, em vez de destruir os commits ou deixar o worktree órfão. /install-github-app e a lista de configurações /mcp e suas ações de autenticação são recusadas em uma sessão de fundo com uma mensagem nomeando a alternativa; em v2.1.208 apenas, o seletor /model foi recusado da mesma forma e um /model <name> digitado mudou apenas essa sessão em vez de também salvar seu modelo padrão.
v2.1.207 O painel de espiada abre com a sentença que a linha trunca, como a pergunta exata para uma sessão que está aguardando você, e mostra quanto tempo uma sessão bloqueada está aguardando como uma única linha waiting 3m em vez de prefixar o mesmo timestamp para a sentença de status e a pergunta. Colar o mesmo texto novamente na entrada de despacho expande o placeholder [Pasted text #N] colapsado em vez de adicionar um segundo. Uma sessão em background nomeada ao aceitar um plano mostra esse nome em sua linha. Uma sessão em background que se moveu para um worktree mantém sua conversa quando seu processo é reiniciado a partir de agent view.
v2.1.206 Resumos de linha preenchem a largura restante da linha e truncam apenas na borda direita do terminal em vez de em 64 colunas. Depois que o supervisor reinicia em uma nova versão do Claude Code, ele reinicia as sessões em background ociosas restantes nessa versão em background em vez de algumas por minuto. Deletar uma sessão com Ctrl+X ou claude rm também a limpa da lista de sessão do supervisor, para que a linha não reapareça mais após um reinício do supervisor. Um override de corpo de solicitação CLAUDE_CODE_EXTRA_BODY exportado no shell de despacho alcança sessões em background em vez de ser ignorado.
v2.1.205 A dica ← do rodapé do prompt em uma sessão regular claude conta os agentes em background aguardando você, como ← 2 agents. Resumos de linha mostram o relatório de uma linha da própria sessão, truncado em 64 colunas, em vez de uma invocação de ferramenta bruta ou uma contagem done/total; linhas agrupadas por diretório abrem com uma palavra de estado colorida. O painel de espiada abre com a sentença de status completa e, para uma sessão aguardando você, sua pergunta exata acima da entrada de resposta. Sessões que editam, comentam, fecham ou marcam um pull request como pronto com gh estão vinculadas a ele, não apenas aquelas que criam ou fazem checkout de um pull request, um push vincula um pull request mesmo quando o nome da branch local não corresponde, e um pull request cuja saída do comando de criação excedeu o limite inline também está vinculado. Um turno sem texto legível mantém o estado anterior da sessão em vez de revertê-lo para Working. claude attach aguarda até cerca de 60 segundos por uma sessão que está reiniciando, com uma linha de status nomeando o motivo, em vez de falhar.
v2.1.203 Um gateway ANTHROPIC_BASE_URL exportado no shell de despacho alcança as sessões despachadas a partir dele no mesmo diretório quando o supervisor compartilha esse gateway environment, em vez de ser descartado enquanto a chave de API exportada junto com ele era mantida. O PATH do shell de despacho é aplicado a cada worker da sessão. Pressionar ← enquanto subagentes estão em execução aguarda por eles em vez de reiniciá-los após dez segundos. A lista vazia sempre mostra os cabeçalhos da seção com uma descrição sob cada um. Digitar @ na entrada de despacho também lista os git worktrees registrados do repositório de inicialização que vivem dentro de sua árvore de diretórios. Um esforço herdado da configuração effortLevel segue edições posteriores dessa configuração em vez de ser fixado no despacho. Abrir uma sessão parada cuja conversa já está aberta em outra sessão em execução é recusado com uma mensagem em vez de falhar na linha. Um comando que não está disponível em agent view deixa o texto digitado na entrada. Um hook WorktreeCreate que falha fora de um repositório git não bloqueia mais a sessão de editar arquivos.
v2.1.202 Um nome definido com /rename ou Ctrl+R em uma sessão em background persiste quando o supervisor para e reinicia seu processo, em vez de reverter para o nome com o qual a sessão foi despachada.
v2.1.200 Uma versão mais antiga do Claude Code que reescreve a lista de sessão em roster.json preserva campos escritos por uma versão mais nova, correspondendo à garantia existente de state.json, para que sessões iniciadas pela versão mais nova continuem aceitando entrada após o supervisor reiniciar. Quando você abre uma sessão que parou de responder, o supervisor reinicia seu processo e a sessão continua a resposta interrompida de onde parou. Agent view aplica uma flag --plugin-dir colocada após agents a seu próprio subagente e autocomplete de skill na entrada de despacho assim como sessões despachadas.
v2.1.199 Uma sessão em background cujo processo sai antes de terminar de iniciar em um host com pouca memória mostra possibly low memory — free some up and retry no status de sua linha em vez de apenas o motivo de saída simples. Colocar uma sessão em background com ← ou /background carrega seu /color para a nova linha.
v2.1.198 Agent view envia uma notificação através de preferredNotifChannel quando uma sessão em background precisa de entrada, termina ou falha, e dispara o hook Notification com o tipo agent_needs_input ou agent_completed. ← e /exit dentro de claude attach <id> retornam para agent view em vez de sair para o shell; Ctrl+Z retorna para o shell. Uma sessão em background que isolou seu trabalho em um worktree faz commit, envia seu próprio branch isolado, nunca main ou master, e abre um pull request em rascunho quando termina em vez de perguntar primeiro. /login é executado em agent view e abre o diálogo de entrada. O diálogo de saída Background work is running oferece Move to background and exit. A entrega de saída também cobre subagentes em background, que retomam de sua transcrição no próximo despertar em vez de serem relatados como falhados. claude --bg combinado com -p ou --print é rejeitado com um erro. O host da sessão em background solicita permissão de Rede Local do macOS no primeiro acesso LAN em vez de falhar com connect: no route to host.
v2.1.196 Um único pressionamento de ← coloca em background uma sessão em primeiro plano; versões anteriores exigiam dois pressionamentos, com uma dica de rodapé e uma confirmação. --dangerously-skip-permissions passado para claude agents mostra o aviso de bypass em vez de ser silenciosamente descartado. Sessões interativas que você nunca nomeou carregam um nome padrão como my-app-3f em listagens de sessão e claude agents --json. Comandos shell em background e workflows dinâmicos sobrevivem ao processo da sessão sendo interrompido, reiniciado ou atualizado, incluindo no Windows; defina CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF=1 para desativar a entrega. Um transcript lido mal como vazio no reinício é renomeado com um sufixo .orphaned- em vez de ser deletado.
v2.1.195 O trabalho em andamento é transferido quando você coloca em background uma sessão no Windows também; defina CLAUDE_DISABLE_ADOPT=1 para interrompê-lo em vez disso. O grupo Completed preenche o espaço vertical restante e o cabeçalho se compacta em terminais curtos. Uma versão mais antiga do Claude Code não descarta mais campos state.json mais novos ou oculta essas sessões de claude agents. Anexar a uma sessão parada muda imediatamente em vez de mostrar uma tela em branco por até cinco segundos. Um supervisor que não consegue aceitar conexões sai e libera seu bloqueio por conta própria.
v2.1.191 claude --bg com um nome --agent que não corresponde a nenhum de seus subagentes falha no lançamento: a sessão sai imediatamente com um erro --agent '<name>' not found em vez de executar com o agente padrão.
v2.1.174 Sessões em background não herdam mais variáveis de endpoint de gateway como ANTHROPIC_BASE_URL do shell de inicialização do supervisor; o supervisor fornece um snapshot de credencial fresco para workers pré-aquecidos, corrigindo erros espúrios de Could not resolve authentication method.
v2.1.172 /model na entrada de despacho define uma substituição de modelo de despacho com escopo de sessão.
v2.1.161 Resumos de linha mostram uma contagem done/total para itens de trabalho paralelos; o painel de espiada nomeia o item de trabalho paralelo que está em execução há mais tempo.
v2.1.157 claude agents aceita --agent; sessões despachadas honram a configuração agent.
v2.1.145 Voice dictation suportada na entrada de resposta do painel de espiada e na entrada de despacho.
v2.1.143 Configuração worktree.bgIsolation adicionada; claude agents aceita --allow-dangerously-skip-permissions.
v2.1.142 claude agents aceita --permission-mode, --model, --effort, --dangerously-skip-permissions, --settings, --add-dir, --plugin-dir, --mcp-config e --strict-mcp-config.
v2.1.141 claude agents aceita --cwd para escopar a lista a um projeto.
v2.1.139 Agent view introduzido como uma visualização de pesquisa.