SpyBara
Go Premium

sessions.md 2026-06-29 23:02 UTC to 2026-06-30 23:02 UTC

8 added, 2 removed.

2026
Tue 30 23:02 Mon 29 23:02 Sat 27 01:01 Fri 26 23:00 Thu 25 23:58 Wed 24 22:02 Tue 23 22:00 Mon 22 23:59 Fri 19 22:58 Thu 18 22:00 Wed 17 17:02 Tue 16 21:57 Mon 15 23:02 Sat 13 21:59 Fri 12 22:00 Thu 11 23:01 Wed 10 23:57 Tue 9 06:34 Mon 8 06:52 Sat 6 06:24 Fri 5 06:45 Thu 4 06:52 Wed 3 06:53 Tue 2 06:51

Gerenciar sessões

Nomeie, retome, ramifique e alterne entre conversas do Claude Code. Abrange --continue, --resume, --from-pr, o seletor /resume, nomeação de sessão, exportação de transcritos e onde os transcritos são armazenados.

Uma sessão é uma conversa salva vinculada a um diretório de projeto. Claude Code a armazena localmente conforme você trabalha, para que você possa retomar de onde parou, ramificar para tentar uma abordagem diferente ou alternar entre tarefas.

O aplicativo desktop, Claude Code na web e a extensão VS Code mantêm seu próprio histórico de sessões. Esta página abrange a CLI.

Retomar uma sessão

As sessões são salvas continuamente em arquivos de transcrição locais conforme você trabalha, para que você possa retornar a uma após sair ou executar /clear. Use estes pontos de entrada:

Comando O que faz
claude --continue Retoma a sessão mais recente no diretório atual
claude --resume Abre o seletor de sessão
claude --resume <name> Retoma a sessão nomeada diretamente
claude --from-pr <number> Retoma a sessão vinculada a esse pull request
/resume Alterna para uma conversa diferente de dentro de uma sessão ativa

As sessões criadas com claude -p ou o Agent SDK não aparecem no seletor de sessão, mas você ainda pode retomar uma passando seu ID de sessão para claude --resume <session-id>. Execute isto a partir do diretório em que a sessão foi iniciada: a busca de ID de sessão é limitada ao diretório do projeto atual e seus git worktrees, portanto uma sessão criada em outro lugar relata No conversation found with session ID: <session-id>.

Onde o seletor de sessão procura

As sessões são armazenadas por diretório de projeto. Por padrão, o seletor de sessão mostra sessões interativas da worktree atual, além de sessões iniciadas em outro lugar que adicionaram o diretório atual com /add-dir. Use Ctrl+W para expandir para todas as worktrees do repositório ou Ctrl+A para expandir para cada projeto nesta máquina.

{/* min-version: 2.1.169 /}A partir da v2.1.169, mover uma sessão com /cd a relocata para o armazenamento de projeto do novo diretório, para que apareça no seletor desse diretório depois. {/ min-version: 2.1.196 */}A partir da v2.1.196, uma sessão movida fica fora do seletor do diretório antigo mesmo após uma falha ou saída forçada. Em versões anteriores, ela também poderia reaparecer na lista do diretório antigo após uma saída que não foi limpa quando o caminho antigo continha caracteres especiais como sublinhados.

Selecionar uma sessão de outra worktree do mesmo repositório a retoma no local. Selecionar uma sessão de um projeto não relacionado copia um comando cd e retoma para sua área de transferência.

Retomar por nome resolve no repositório atual e suas worktrees. Ambas as formas procuram por uma correspondência exata e a retomam diretamente mesmo que resida em uma worktree diferente:

Comando Correspondência exata Nome ambíguo
claude --resume <name> Retoma diretamente Abre o seletor de sessão com o nome pré-preenchido como termo de pesquisa
/resume <name> Retoma diretamente Relata um erro; execute /resume sem argumentos para abrir o seletor de sessão

Nomeie suas sessões

Dê às sessões nomes descritivos para que sejam encontráveis no seletor de sessão e retomáveis por nome. Isso é mais importante quando você está trabalhando em várias tarefas em paralelo.

Quando Como definir o nome
Na inicialização claude -n auth-refactor
Durante uma sessão /rename auth-refactor. O nome também aparece na barra de prompt
Do seletor de sessão Destaque uma sessão e pressione Ctrl+R
Na aceitação do plano Aceitar um plano no Plan Mode nomeia a sessão a partir do conteúdo do plano, a menos que você já tenha definido um

Depois que uma sessão é nomeada, retorne a ela com claude --resume <name> ou /resume <name>. Veja Retomar uma sessão para saber como a resolução de nomes se comporta entre worktrees.

{/* min-version: 2.1.196 */}As sessões interativas que você nunca nomeia ainda recebem um nome de exibição padrão quando iniciam. Requer Claude Code v2.1.196 ou posterior. O padrão combina o nome do diretório de trabalho com um sufixo de dois caracteres, por exemplo my-app-3f, e identifica a sessão em listagens de sessões em execução, como agent view e saída de claude agents --json.

O padrão não é um identificador de retomada: claude --resume <name>, /resume <name> e o seletor de sessão correspondem apenas aos nomes que você definiu. Nomear a sessão substitui o padrão.

Use o seletor de sessão

Execute /resume dentro de uma sessão ou claude --resume sem argumentos para abrir o seletor de sessão interativo. Use estes atalhos de teclado para navegar, pesquisar e expandir a lista:

Atalho Ação
/ Navegar entre sessões
/ Expandir ou recolher sessões agrupadas
Enter Retomar a sessão destacada
Space Visualizar o conteúdo da sessão. Ctrl+V também funciona em terminais que não o capturam como colar
Ctrl+R Renomear a sessão destacada
/ ou qualquer caractere imprimível diferente de Space Entrar no modo de pesquisa e filtrar sessões. Cole uma URL de pull ou merge request do GitHub, GitHub Enterprise, GitLab ou Bitbucket para encontrar a sessão que a criou
Ctrl+A Mostrar sessões de todos os projetos nesta máquina. Pressione novamente para retornar ao repositório atual
Ctrl+W Mostrar sessões de todas as worktrees do repositório atual. Pressione novamente para retornar à worktree atual. Mostrado apenas em repositórios com múltiplas worktrees
Ctrl+B Filtrar para sessões do branch git atual. Pressione novamente para mostrar todos os branches
Esc Sair do seletor de sessão ou modo de pesquisa

Cada linha mostra o nome da sessão se definido, caso contrário, o resumo da conversa ou o primeiro prompt, junto com o tempo desde a última atividade, contagem de mensagens e branch git. O caminho do projeto aparece depois que você expande para todos os projetos com Ctrl+A.

As sessões bifurcadas criadas com /branch, /rewind ou --fork-session são agrupadas sob sua sessão raiz. Pressione para expandir um grupo.

Ramificar uma sessão

Ramificar cria uma cópia da conversa até agora e o coloca nela, deixando o original intacto. Use-o para tentar uma abordagem diferente sem perder o caminho em que você estava.

De dentro de uma sessão, execute /branch com um nome opcional:

/branch try-streaming-approach

Na linha de comando, combine --continue ou --resume com --fork-session:

claude --continue --fork-session

A sessão original permanece inalterada e disponível no seletor de sessão. A confirmação /branch imprime dois IDs de sessão: o novo branch em que você está agora e o original. Para retornar ao original, passe seu ID para /resume, use o seletor de sessão ou execute /resume <original-name>. As permissões que você aprovou com "permitir para esta sessão" não são transferidas para o novo branch. Se você retomar a mesma sessão em dois terminais sem bifurcar, as mensagens de ambos se intercalam em um transcrição.

Para rewind baseado em checkpoint dentro de uma única sessão, veja Checkpointing.

Gerenciar contexto dentro de uma sessão

Estes comandos controlam o que está na janela de contexto sem deixar a sessão:

  • /clear: comece do zero com um contexto vazio. A conversa anterior é salva e retomável
  • /compact [instructions]: substitua o histórico por um resumo, opcionalmente focado no que você especificar
  • /context: mostrar o que está consumindo contexto atualmente

Para saber como a compactação interage com CLAUDE.md, skills e regras, veja o guia de janela de contexto. Para estratégias sobre quando limpar versus compactar, veja Melhores práticas.

Exportar e localizar dados de sessão

Execute /export para abrir um menu que permite copiar a conversa atual para sua área de transferência ou salvá-la como um arquivo de texto simples, com mensagens e saídas de ferramentas renderizadas como texto legível. Passe um nome de arquivo para pular o menu e escrever diretamente nesse arquivo.

Acessar conversas a partir de scripts

/export produz uma transcrição renderizada para uma pessoa ler. As interfaces abaixo produzem dados estruturados para um script analisar: um resultado JSON de uma execução, o caminho para o arquivo de transcrição de uma sessão, ou um fluxo ao vivo de eventos. Escolha pelo que dispara o script:

  • Executar Claude uma vez e capturar o resultado: invoque claude -p com --output-format json ou stream-json para capturar o resultado, ID da sessão, uso e custo de uma execução não interativa como JSON estruturado.
  • Fazer uma pergunta a uma sessão existente: passe um ID de sessão para claude -p --resume para enviar um prompt de acompanhamento, como uma solicitação de resumo, e capturar a resposta estruturada.
  • Reagir a eventos de sessão: leia o campo transcript_path que hooks e comandos de linha de status recebem como entrada. Um hook SessionEnd pode arquivar a transcrição quando uma sessão termina.
  • Incorporar Claude em um aplicativo TypeScript ou Python: use o Agent SDK para receber cada mensagem programaticamente.

O exemplo abaixo usa a segunda interface. Ele envia um prompt de acompanhamento para uma sessão existente e lê a resposta com jq:

claude -p --resume <session-id> --output-format json "summarize what we changed" | jq -r '.result'

Onde os transcritos são armazenados

Por padrão, os transcritos são armazenados como JSONL em ~/.claude/projects/<project>/<session-id>.jsonl, onde <project> é o caminho do seu diretório de trabalho com caracteres não alfanuméricos substituídos por -. Cada linha é um objeto JSON para uma mensagem, uso de ferramenta ou entrada de metadados. O formato de entrada é interno ao Claude Code e muda entre versões, portanto scripts que analisam esses arquivos diretamente podem quebrar em qualquer versão. Para construir sobre dados de sessão, use /export ou as interfaces de script em vez disso.

A localização, retenção e comportamento de gravação são configuráveis:

Para Defina Onde
Mover armazenamento para fora de ~/.claude CLAUDE_CONFIG_DIR Variável de ambiente
Alterar a retenção de 30 dias cleanupPeriodDays settings.json
Suprimir gravações de transcrição em todos os modos CLAUDE_CODE_SKIP_PROMPT_HISTORY Variável de ambiente
Suprimir gravações para uma execução não interativa --no-session-persistence Sinalizador CLI com claude -p

Veja também

Estas páginas cobrem mecânicas relacionadas de sessão e paralelismo: