Como vejo o histórico completo de uma sessão do Claude Code?
O Claude Code registra cada sessão por completo no seu disco local, então há três formas principais de ver o histórico — ordenadas por facilidade de uso.
Método 1: Reproduzir visualmente no navegador com o CCViewer (recomendado)
O CCViewer é um visualizador de sessões do Claude Code, gratuito e de código aberto. Abra a página, solte um arquivo de sessão (também dá para importar a pasta ~/.claude/projects/ inteira) e reproduza a sessão como uma conversa:
- Renderização Markdown completa — blocos de código, tabelas, listas e links como são; chega de paredes de JSON;
- Blocos de raciocínio — o raciocínio estendido do modelo, recolhível com um clique;
- Chamadas de ferramenta — parâmetros e resultados de cada chamada Read / Edit / Bash, expansíveis para inspeção;
- Estatísticas de uso e custo — tokens de entrada/saída/cache, duração da sessão, linhas adicionadas/removidas, custo total de relance;
- Exportação em Markdown — transforme qualquer sessão num documento
.mdcompartilhável com um clique.
O mais importante: ele analisa e renderiza 100% no seu navegador — nada é enviado. E isso importa: arquivos de sessão contêm seu código-fonte, caminhos de arquivos e, às vezes, segredos.
Método 2: Retomar a sessão no terminal
O Claude Code tem retomada de sessão integrado. Execute isto no diretório original do projeto:
# Listar as sessões do projeto e escolher uma interativamente
claude --resume # forma curta: claude -r
# Retomar diretamente a sessão mais recente
claude --continue # forma curta: claude -c
# Retomar uma sessão específica por ID
claude --resume <sessionId>
Ótimo para "continuar trabalhando", mas desconfortável para ler ou pesquisar o histórico: garimpar numa sessão longa por uma chamada de ferramenta é um sofrimento, e não há estatísticas de custo.
Método 3: Ler o arquivo JSONL bruto
As sessões ficam em JSONL em ~/.claude/projects/<projeto>/<sessionId>.jsonl — um objeto JSON por linha. Dá para inspecionar com qualquer editor ou linha de comando:
# Extrair todos os prompts do usuário com jq
cat ~/.claude/projects/-Users-you-myproject/<sessionId>.jsonl \\
| jq -r 'select(.type=="user") | .message.content'
O arquivo bruto é a fonte mais completa (uso de tokens, branch do git, timestamps e outros metadados), mas a legibilidade é ruim — exatamente por isso existem visualizadores gráficos.
Comparação
| CCViewer | claude --resume | JSONL bruto | |
|---|---|---|---|
| Leitura gráfica | ✅ | Parcial (continuar chat) | ❌ |
| Renderização Markdown | ✅ | ✅ | ❌ |
| Raciocínio / ferramentas | ✅ recolhível | Resumo recolhido | JSON bruto |
| Estatísticas tokens / custo | ✅ | ❌ | jq manual |
| Gestão de várias sessões | ✅ importar pasta | Só projeto atual | ❌ |
Abra a página e arraste um arquivo
.jsonl — ou a pasta ~/.claude/projects/ inteira. Markdown, blocos de raciocínio, chamadas de ferramentas e estatísticas de tokens e custo, tudo processado localmente no navegador. Nada é enviado.