Persist embeds conversation history directly into your PDF.
Upload it again and pick up exactly where you left off —
no accounts, no cloud, no friction.
Works with Claude, ChatGPT, Gemini, Grok & Perplexity · No sign-up required
Persist does one thing and does it perfectly: keeps your AI conversations alive across sessions.
Upload a PDF — Persist instantly detects any prior history and injects it as context before your first message. No setup, no configuration.
One PDF, any AI. Use it on Claude today, switch to ChatGPT tomorrow. Persist speaks every platform's language — no re-uploading context manually.
Your conversation history never touches our servers. It lives in your PDF's metadata — encrypted, portable, and 100% under your control.
One click from the Chrome Web Store. No permissions you didn't expect — Persist only activates on Claude.ai and ChatGPT.
Drag it into Claude or ChatGPT like you normally would. If the PDF has prior history, Persist loads it and injects context automatically.
Have your conversation. Persist silently captures every message in the background — you'll see the count update in the badge.
Click "Save Memory" in the Persist badge. Your PDF downloads with the conversation embedded. Upload it again next time — it remembers.
Persist charges you nothing. Optional summarization uses providers you already pay — Anthropic, OpenAI, xAI, OpenRouter, or any OpenAI-compatible endpoint.
MIT-licensed, no account, no telemetry. History lives in your PDF metadata and local browser storage.
Install from sourceWhen embedded history exceeds 50KB, you can add a key in Smart Compression so older messages are summarized instead of only truncated. You pay the model provider under their pricing — not Persist.
Persist writes conversation history to your PDF's metadata field — specifically the document info dictionary using a custom PersistHistory key. The data is base64-encoded JSON. Your original PDF content is never modified, only the metadata layer. The file size increase is proportional to the conversation length.
Metadata is capped around 50KB. Without an API key, Persist truncates older messages locally and adds a notice. With an optional key (Smart Compression), it can summarize older turns using the provider and model you configure, keeping a fixed number of recent messages verbatim.
Persist does not run a backend for your chats. History is stored in the PDF and in local extension storage. If you enable summarization, message text is sent only to the API endpoint you choose, using your key — not to Persist.
Persist currently supports Claude.ai and ChatGPT. Since history is stored in the PDF itself, you can use a PDF on Claude today and open it on ChatGPT tomorrow — the history travels with the file. Additional platforms are on the roadmap.
Yes. The file is a normal PDF; metadata is readable by tools that read PDF info. Recipients can continue the thread in any supported chat with Persist installed. Treat shared PDFs like any sensitive document.
Clone the repo, run ./setup.sh, load unpacked in Chrome. No fee to Persist — ever.
Chrome 88+ required · MIT licensed · Open source