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

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
Formação Claude Code
Domine Claude Code do absoluto zero até o avançado
- 120 aulas
- 4 projetos
- 9h 48min
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.vscdbno 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:

VPS Hostinger para seu sistema
10% OFF extraVPS com SSD NVMe e backups semanais. O cupom MATHEUSHORADECODAR é aplicado automaticamente pelo link.
Ver planos com 10% OFF →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+Pe depoisDeveloper: 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:
- Feche o Cursor por completo na máquina antiga
- Copie a pasta
User/globalStorageinteira, com ostate.vscdbe, se existirem, os arquivosstate.vscdb-walestate.vscdb-shm - Coloque essa pasta no lugar equivalente na máquina nova, com o Cursor fechado
- 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

Crie sistemas com IA para vender
Prompts, modelos e checklists para criar e publicar seu sistema com IA e preparar a oferta para o primeiro cliente.
Quero o e-book gratuito Receba o livro e os bônus no seu e-mail.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)
- 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
- 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
- Na migração, copie
globalStoragecom o Cursor fechado: pasta inteira, comstate.vscdbe, se existirem,state.vscdb-walestate.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
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.
Formações
Formação Vibe Coding
Do Prompt ao Produto: Crie Software Real com IA
- 474 aulas
- 20 projetos
- 39h 30min
Blog | Mais populares
CI no Cursor Origin: como rodar seus workflows do GitHub Actions com Depot ou Buildkite
CI no Cursor Origin já funciona com GitHub Actions: instale Depot ou Buildkite nas configurações do codebase e rode os workflows sem reescrever nada.
Como revisar, comentar e fazer merge de uma pull request no Cursor Origin
Veja como revisar, comentar e fazer merge de uma pull request no Cursor Origin sem sair do editor: diff, comentários bidirecionais e merge direto.
Comentários e reações em PR: como funciona a sincronização entre Cursor e GitHub?
A sincronização entre Cursor e GitHub funciona nos dois sentidos: comentários e reações no PR aparecem em segundos, com o GitHub como fonte da verdade.
