Convolvger 0.5.0: archive your AI conversations locally — ChatGPT, Claude, Gemini, and now Grok A developer released Convolvger 0.5.0, an MIT-licensed CLI that archives public AI conversation share links from ChatGPT, Claude, Gemini, and now Grok into local Markdown and verifiable JSON without an account, telemetry, or an LLM. The tool decodes ChatGPT's turbo-stream snapshots, uses a bookmarklet and loopback listener for Claude's browser-only share pages, queries Gemini's and Grok's underlying JSON endpoints directly, and flags unmodelled content rather than dropping it. Every archive records its schema version, retrieval time, and extraction findings, and a weekly CI job queries each provider to catch upstream format changes before they reach users. Every AI provider lets you share a conversation with a link. None of them lets you keep it. Share links rot, pages get redesigned, providers quietly change what a URL serves. Convolvger is a small CLI that takes a public share URL and archives the conversation into Markdown you can read and JSON you can verify — on your machine, with no account, no telemetry, and no LLM involved. 0.5.0 adds Grok to the lineup. The supported providers are now ChatGPT, Claude, Gemini, and Grok. Each provider is deceptive in its own way ChatGPT. The share snapshot is served as a turbo-stream that Convolvger decodes directly. And snapshots move: fetching the same share link eight hours apart once returned the same 31 message IDs with four assistant messages silently re-typed. That is why every archive records when it was retrieved. Claude. The share page cannot be fetched — the service refuses non-browser clients whatever headers they send. Rather than impersonate a browser, Convolvger waits for yours: convolvger bookmarklet prints a bookmarklet, you click it on the share page, and the snapshot is handed to a listener on loopback 127.0.0.1, one snapshot, three-minute timeout . Gemini. The share page carries no conversation at all — it is an application shell whose only prose is Google's marketing examples. A plain scrape gives you a plausible archive of the wrong conversation. Convolvger queries the same endpoint the web UI asks, sending only the single necessary query parameter, under its own User-Agent. It handles all three link forms Google issues and catches deleted shares, which Google quietly returns as 200 OK with a null payload. Grok — new in 0.5.0. Same app-shell shape: the page loads its conversation as JSON afterwards, so Convolvger asks that endpoint directly. No browser, no cookie, no token. The share id is kept whole whatever its prefix. Citations arrive as inline markup and are lifted out of the text — the message exactly as served stays in the JSON. The sender arrived as human, ASSISTANT, and assistant within one conversation, and is kept as-served. The reasoning trace is kept whole but reported as unmodelled seen in only one conversation so far . Files a response names but doesn't carry are reported as withheld; nothing is fetched to fill the gap. A missing share is reported whether the provider answers 404, 400, or 200 with a title and no messages — the last seen on a real public share. The rules it holds to Everything runs locally. convolvger --version answers fully offline, and there is no update check — a test fails the build if the tool ever tries to contact an index about itself. It never impersonates a browser and never dereferences a URL it archives. Every archive records its schema version, its retrieval time, and every extraction finding. convolvger verify reports an archive's integrity without re-fetching anything. Content this version cannot model is flagged, never silently dropped. A weekly scheduled job queries each live provider in its own job, so an upstream format shift breaks in CI — naming the provider that changed — before it reaches your machine. Also in 0.5.0 A capture-port bug on Windows is fixed, and the test suite now runs on Windows in CI as well as Linux. Try it bash pip install convolvger or: uv tool install convolvger / pipx install convolvger convolvger export https://grok.com/share/SHARE ID https://grok.com/share/SHARE ID convolvger export https://gemini.google.com/share/SHARE ID https://gemini.google.com/share/SHARE ID convolvger inspect https://chatgpt.com/share/SHARE ID https://chatgpt.com/share/SHARE ID look without saving convolvger verify mychat.json check an archive Needs Python 3.12+. MIT licensed. GitHub · PyPI