Sumiu o histórico de chat do Cursor? Onde as conversas ficam, o que dá para recuperar e como fazer backup

Ilustração representando pastas de projeto e chats salvos no Cursor
Resposta rápida

Na maioria dos casos o histórico do Cursor não foi apagado: ele fica salvo localmente, em cada máquina, ligado ao caminho da pasta do projeto, e não sincroniza pela conta. Se você renomeou ou moveu a pasta, voltar ao caminho original traz os chats de volta. Depois de uma atualização, os transcripts costumam continuar em ~/.cursor/projects/<projeto>/agent-transcripts/. Chat excluído pela opção Delete não tem recuperação oficial, então o backup é o Export Chat em markdown e as decisões importantes vão para o AGENTS.md ou para .cursor/rules

Fala aí, beleza? Tu abriu o Cursor, foi atrás daquela conversa com o Agent onde ficou decidida a estrutura do projeto e… a lista tá vazia 😛

Calma, que antes de dar o chat como perdido dá pra fazer um diagnóstico rápido

O ponto que muda tudo: as conversas ficam na sua máquina, presas ao caminho da pasta do projeto, e não vão junto com o login

Então, na maioria dos casos, elas ainda estão no disco, só que o editor parou de enxergar

Aqui eu separo por sintoma: renomear ou mover pasta, atualização, chat que abre pela metade, troca de computador, login e exclusão

Para cada um, mostro o que a fonte oficial confirma, o que volta, o que não volta e como se proteger daqui pra frente

Onde o Cursor guarda o histórico de chat e do Agent

Segundo a documentação oficial do histórico, o histórico de chat do Agent fica salvo localmente, num banco SQLite na sua máquina

Pelo painel de histórico dá pra abrir conversas antigas, editar o título e excluir chats

E o que isso significa na prática? Que não existe uma cópia "na nuvem da conta" esperando por você

A equipe do Cursor confirmou no fórum que o histórico de chat e do agente fica em cada computador, ligado ao caminho do workspace, e hoje não sincroniza pela conta

Os arquivos do projeto podem estar no OneDrive, num HD externo ou em outra máquina, mas as conversas não vão junto

Se liga nos dois lugares que aparecem nas fontes:

  • Transcripts do Agent: ~/.cursor/projects/<projeto>/agent-transcripts/, citado pela equipe no fórum
  • Banco state.vscdb no macOS: ~/Library/Application Support/Cursor/User/globalStorage/state.vscdb, citado numa thread do fórum

Repara que são dois registros diferentes: o banco SQLite (state.vscdb), que é o que a doc descreve e o que tu copia numa migração, e a pasta de transcripts em .jsonl, que a equipe usa pra conferir se a conversa ainda existe

As fontes não explicam como um se liga ao outro, então aqui eu trato cada um como um lugar separado

Para Windows e Linux eu não achei caminho confirmado em fonte oficial, só em blog de terceiro e relato de usuário

Por isso não vou cravar caminho nenhum aqui pra esses sistemas (melhor isso do que te mandar mexer na pasta errada)

Renomeei ou movi a pasta do projeto e os chats sumiram

Esse é o caso mais comum e o mais fácil de resolver 🙂

Sintoma: a lista de All Chats fica vazia, como se o projeto fosse novo

Causa: o Cursor identifica o workspace pelo caminho da pasta

Renomeou ou moveu? Pra ele virou outro workspace, e os chats antigos somem da barra lateral, mas continuam no disco, segundo a resposta da equipe no fórum

Solução: volte a pasta pro nome e pro caminho originais e abra de novo no Cursor

Os chats reaparecem, porque a identidade do workspace vem do caminho

Um usuário descreveu exatamente isso numa thread do fórum: mudou o nome do diretório raiz, o histórico sumiu de All Chats, voltou o nome antigo e tudo apareceu de novo

O que volta: tudo, porque os dados nunca saíram do disco

O que não existe: migração automática do histórico pro caminho novo

A equipe diz que o pedido está registrado, mas sem prazo

Erro comum: tentar mesclar os bancos SQLite na mão pra "levar" os chats pro caminho novo

Tome cuidado! A própria equipe desaconselha, porque isso pode danificar o armazenamento e deixar a lista de chats vazia ou corrompida

Como prevenir: defina o caminho do projeto antes de começar a trabalhar com o Agent e exporte os chats importantes antes de mover a pasta

Atualizei o Cursor e o histórico sumiu ou virou ‘New Chat’

Sintoma: depois de atualizar e reiniciar, os chats de um projeto aparecem todos como ‘New Chat’, ou somem da barra lateral

Tem até um relato de bug na versão 3.23.5 no fórum: depois de aplicar a atualização manualmente, o histórico sumiu da barra lateral e só os chats fixados ficaram

Causa: a barra lateral tem um índice que liga cada chat ao seu título

Segundo a equipe do Cursor, uma atualização seguida de reinício pode sobrescrever esse índice num workspace específico, e os dados quase certamente continuam no disco

Como conferir se as conversas ainda existem:

A checagem orientada pela equipe é listar as pastas de projeto:

ls ~/.cursor/projects/

Ache a pasta do projeto afetado e procure dentro dela um diretório agent-transcripts/ com arquivos .jsonl

Os arquivos estão lá? Então as conversas estão preservadas 😀

Como tentar trazer de volta pra barra lateral:

  • Recarregue a janela: Cmd+Shift+P e depois Developer: Reload Window
  • Ou reabra o projeto por File > Open Folder, usando exatamente o mesmo caminho de antes da atualização

Limite: ainda não existe um passo manual de reimportação dos transcripts pra barra lateral, a equipe deixa isso claro

Ou seja, os dados existem, mas não há um botão oficial pra religar tudo se o reload não resolver

E o caso do Agents Window?

No fórum, usuários relatam que, depois de abrir o Agents Window pela primeira vez, todo o histórico local sumiu de ‘Show Chat History’ e só os chats de nuvem continuaram visíveis

Isso está registrado como bug report, e a fonte não traz uma solução oficial que eu tenha confirmado

Como prevenir: exporte os chats críticos antes de atualizar o editor

O chat abre mostrando só as últimas mensagens

Sintoma: o chat está lá na lista, mas depois de reiniciar a interface carrega só o último par de mensagens

Causa: é um problema conhecido de exibição, relatado no fórum

Verificação: mande uma nova mensagem nesse chat "vazio"

O modelo responde enxergando o histórico completo, o que mostra que o contexto continua lá

Resumindo: o problema está na interface, não nos seus dados

Não encontrei promessa de correção na fonte, então por enquanto o jeito é saber que a conversa não se perdeu, só não aparece inteira na tela

Troquei de computador e o histórico do Cursor não veio junto

Sintoma: na máquina nova não aparece nenhum chat, mesmo logado na mesma conta

Causa: o histórico não sincroniza pela conta

Não adianta ter o projeto no OneDrive ou num HD externo: os arquivos vão, as conversas ficam na máquina antiga

Como levar o histórico na mão:

Segundo o fórum oficial, o caminho é este:

  1. Feche o Cursor por completo na máquina antiga
  2. Copie a pasta User/globalStorage inteira, com o state.vscdb e, se existirem, os arquivos state.vscdb-wal e state.vscdb-shm
  3. Coloque essa pasta no lugar equivalente na máquina nova, com o Cursor fechado
  4. Abra o projeto no mesmo caminho absoluto de antes

Por que o caminho importa tanto? Porque o histórico depende do caminho absoluto da pasta do projeto

Se ele mudar, mesmo que pouco, o Cursor procura em outra subpasta de workspaceStorage e não encontra nada

Erro comum: copiar com o Cursor aberto, ou sem os arquivos auxiliares -wal e -shm

Aí parte dos dados não passa, e tu fica achando que a cópia deu certo…

No macOS, o caminho citado no fórum é ~/Library/Application Support/Cursor/User/globalStorage/

Para Windows e Linux, de novo, não há caminho confirmado na fonte oficial

Paliativo da equipe: sincronizar a pasta ~/.cursor/projects/<projeto>/agent-transcripts/ entre as máquinas com uma ferramenta sua

Sincronização pela conta é um pedido que a equipe já viu, mas sem prazo anunciado

E se eu só fiz logout ou troquei de conta?

O que está confirmado é que o histórico não segue a conta, ele fica na máquina e no caminho do workspace

Se o login, o logout ou a troca de conta apaga ou esconde o histórico local, a documentação não cobre, e não achei explicação da equipe sobre isso

Excluí um chat no Cursor: dá para recuperar?

Resposta direta: não

Segundo a equipe do Cursor, o histórico é local e a exclusão é permanente, sem recuperação oficial

A orientação deles é exportar os chats importantes em markdown antes que isso aconteça

A exceção: Arquivar no Agents Window

No Agents Window, a opção Excluir foi trocada de propósito por Arquivar (clique direito > Archive), e o chat arquivado pode ser restaurado depois, segundo o fórum

A exclusão definitiva continua existindo, mas no menu suspenso de histórico da janela normal do editor

Então, se tu clicou em Archive, respira que dá pra voltar 🙂

E se eu apaguei a pasta do projeto?

Na mesma thread sobre histórico sumido, aparece que apagar o arquivo .code-workspace ou a própria pasta do projeto apaga o histórico

E aparece também que restaurar ou recriar a pasta no mesmo local e abrir de novo pode recuperar as conversas

Isso é relato de usuário, não garantia oficial, mas custa pouco tentar antes de desistir

Como prevenir: prefira arquivar em vez de excluir e exporte antes de fazer limpeza na lista

O que volta e o que não volta em cada caso

Caso Onde o dado fica Local ou sincronizado Recuperável? Ação
Pasta renomeada ou movida No disco, ligado ao caminho antigo Local Sim, os dados continuam no disco Voltar ao nome e caminho originais
Atualização do editor Transcripts .jsonl em agent-transcripts/ Local Dados quase certamente no disco, sem reimportação manual Developer: Reload Window ou File > Open Folder no mesmo caminho
Chat mostrando só as últimas mensagens Chat salvo, interface carrega só o último par Local Contexto continua disponível pro modelo Mandar nova mensagem para confirmar
Troca de máquina User/globalStorage (state.vscdb e auxiliares) Local, por máquina Sim, copiando à mão Fechar o Cursor, copiar globalStorage e abrir no mesmo caminho absoluto
Login ou conta Na máquina, não na conta Não segue a conta Outros cenários de login não cobertos pela doc Não contar com o login para trazer histórico
Chat excluído Removido Local Não, exclusão permanente Exportar antes; no Agents Window, usar Archive

Como fazer backup das conversas do Cursor

O backup aqui é simples e vale fazer antes de qualquer mudança grande (atualização, migração, mover pasta)

  1. Exporte o chat em markdown: abra o chat, clique no menu de contexto e escolha Export Chat, segundo a documentação de export

O arquivo .md sai com as mensagens e respostas, os blocos de código, as referências a arquivos e a ordem cronológica da conversa

O erro comum deste passo: esperar que os comandos de terminal e as saídas deles venham junto

Usuários relatam no fórum que o Export Chat não exporta comandos de terminal nem os resultados, então se algum comando foi decisivo, anota ele à parte

  1. Guarde uma cópia da pasta de transcripts do projeto: ~/.cursor/projects/<projeto>/agent-transcripts/

É a pasta que a equipe sugere sincronizar entre máquinas como paliativo, e uma cópia dela funciona como reserva dos arquivos .jsonl

Só lembra que não existe passo oficial pra reimportar esses arquivos na barra lateral, então eles servem como registro, não como restauração

  1. Na migração, copie globalStorage com o Cursor fechado: pasta inteira, com state.vscdb e, se existirem, state.vscdb-wal e state.vscdb-shm

O erro comum deste passo: copiar com o editor aberto, o que faz parte dos dados não passar

Checagem final:

Abra o .md exportado e confira se a conversa está completa, do primeiro pedido até a última resposta

Se faltar alguma coisa importante, é melhor descobrir agora do que no dia em que o chat sumir haha

Dois recursos que ajudam a não perder conversa:

  • O Cursor 3.11 trouxe side chats duráveis e um índice de busca local nos transcripts dos agentes antigos, pesquisável pela busca global (Cmd+K) no Agents Window
  • As release notes do Cursor registram uma correção: mover um chat local pra um Cloud Agent dava erro ‘Missing required fields’ quando o chat salvo não tinha turnos, e agora o Cloud Agent mantém o histórico do chat

Guarde o contexto importante no repositório, não no chat

Aqui está a sacada que resolve o problema pela raiz: chat é rascunho, decisão importante mora no repositório

Por quê? A documentação explica que os modelos não guardam memória entre uma resposta e outra

Já as regras do Cursor entram no início do contexto do modelo e funcionam como memória persistente

É tipo o README que tu escreve pro dev novo do time: em vez de contar tudo de novo a cada conversa, ele lê o arquivo e já chega sabendo

E como fica versionado no Git, não depende de banco SQLite, de caminho de pasta nem de máquina

Opção 1: AGENTS.md na raiz do projeto

Um AGENTS.md na raiz, em markdown simples, é lido automaticamente pelo Cursor como alternativa a .cursor/rules

É o jeito mais rápido de começar

Opção 2: Project Rules em .cursor/rules

As Project Rules ficam em .cursor/rules como arquivos .mdc, versionados no repositório

O erro comum deste passo: salvar um .md comum dentro de .cursor/rules

O sistema de regras ignora esse arquivo, e tu fica achando que o agente está desobedecendo…

E as regras que não são do projeto?

  • User Rules: valem pra todo o ambiente do Cursor, não só pra um projeto
  • Team Rules: gerenciadas pelo dashboard, nos planos Team e Enterprise

Exemplo: do chat exportado pro AGENTS.md

A ideia é abrir o .md exportado, garimpar as decisões e transformar em tópicos curtos

O exemplo abaixo é didático, com um projeto fictício, só pra mostrar o formato:

# Contexto do projeto

## Decisões de arquitetura
- API REST em Node com Express, sem GraphQL
- Validação de entrada sempre na camada de rotas
- Datas salvas em UTC no banco

## Convenções
- Testes ficam ao lado do arquivo testado, com sufixo .test.js
- Nada de dependência nova sem justificar no PR

## O que já foi descartado
- ORM pesado: decidimos usar queries diretas

Repara que não vai a conversa inteira, só o resultado dela

O raciocínio completo fica no .md exportado, guardado onde tu preferir

A mesma lógica de tirar o material do histórico vale pra outras ferramentas, como no papo sobre onde guardar material de projeto no ChatGPT

Checagem:

Abra um chat novo no projeto e peça algo que esbarre numa das decisões registradas

Se o agente seguir o que está no AGENTS.md (ou nas suas regras .mdc), o contexto está chegando 😀

Vídeo de apoio

Se o ChatGPT também faz parte do teu dia a dia, aqui tem um tutorial completo do canal sobre o ChatGPT Dots e como usar de forma eficiente

Conteúdo complementar do Hora de Codar para conhecer o canal; não é uma demonstração específica desta notícia ou versão.

Próximo passo

Separa uns minutos hoje e exporta os chats que guardam decisão de arquitetura, aqueles que tu ficaria MUITO bravo de perder

Depois passa o essencial deles pro AGENTS.md ou pra .cursor/rules, faz o commit e pronto: o contexto agora vive no repositório

E antes de qualquer migração, fixa o caminho do projeto e não muda mais, porque é dele que o histórico depende

Se o susto foi no chat da OpenAI e não no editor, tem um guia separado pra quando o histórico do ChatGPT some

Até o próximo post! 🙂

Quer aprender mais sobre inteligência artificial e programação na prática? Conheça o canal Hora de Codar no YouTube e acompanhe os próximos vídeos.

Escrito por | Matheus Battisti

Matheus Battisti
Fundador da Hora de Codar

Programador apaixonado pelo mundo das tecnologias, sempre buscando em aprender e se aprofundar em linguagens, frameworks e o que mais for necessário para executar um bom trabalho. Agora tem uma nova missão que é de passar seu conhecimento adiante para formar novos programadores e especializar mais os que já são.

Subscribe
Notify of
guest

0 Comentários
Oldest
Newest Most Voted

Formações

Formação Vibe Coding

Formação Vibe Coding

Do Prompt ao Produto: Crie Software Real com IA

  • 474 aulas
  • 20 projetos
  • 39h 30min

Blog | Mais populares