AI NewsDev toolsAnnouncement

ai-data-extractor pulls chat history out of Cursor, Claude Code and eight other AI coding tools into one JSONL file

A free open-source Python tool reads the local databases of Claude Code, Cursor, Codex CLI, Windsurf, Aider and five other AI coding tools and writes every conversation out as a single JSONL file, with 99 stars in the 36 hours since it was created on 3 October 2026.

AI News

Editorial2 min read

LinkedInX
GitHub repository card for isoshimodo/ai-data-extractor

Image: GitHub

Why it mattersAnyone who switches between coding tools, or wants to keep the record of a long project after an app clears its local store, now has a route to extract their own data without asking the vendor for an export.

Years of AI coding chats sit inside each tool's own local SQLite file and leave with the app the day a developer uninstalls it. A new MIT-licensed Python tool called ai-data-extractor reads those files from ten AI coding tools, including Cursor, Claude Code, Codex CLI, Windsurf and Aider, and writes every conversation out as one JSONL file the owner can keep.

The repository was created by GitHub user isoshimodo on 3 October 2026 and had 99 stars and 29 forks 36 hours later. The README says the tool is for anyone who wants to "extract and preserve their own chat histories from AI coding assistants into a unified format, for fine-tuning, personal analytics, or just backing up years of conversations before an app's local database gets cleared."

What it reads

Ten tools are supported, each with the on-disk path it reads from. Claude Code's JSONL files under ~/.claude/projects. Codex CLI's rollout files under ~/.codex/sessions. Cursor's SQLite stores under its user data folder. Windsurf and Trae use the same shape as Cursor and are handled through heuristic key matching. Continue, Gemini CLI and OpenCode each store JSON per session. Cline and Roo Code share a JSON task folder under the editor's extension storage. Aider keeps a Markdown chat log inside each project.

Every conversation reaches the output as a JSONL record with a messages array. Fields include role, content, code_context, tool_use and timestamp, though which ones are present varies by source. The three fields the author promises always to populate are messages, source and session_id.

What it does not do

The author is direct about the places this is heuristic rather than a formal export. Cursor, Windsurf and Trae use undocumented SQLite schemas that can change at any time, and the readme says Windsurf and Trae support "may fail with future updates". Aider has no central store, so each project path has to be configured by hand.

Reads are read-only. The tool opens every database read-only and does not write to any source file. It still asks the user to scan the output for secrets before sharing it, because an AI chat log often holds API keys and private snippets inside the pasted messages.

A single tool that touches that many vendors' private storage is also one tool that will break every time any of them changes a schema. 99 stars at 36 hours old is real community interest for an inconvenient job, but a team that depends on the output should expect to run the tool against a specific version of each source app rather than trusting it to track them all over time.

Source

Primary source: isoshimodo/ai-data-extractor on GitHub. Repository created 3 October 2026, measured at 99 stars and 29 forks on 5 October 2026 via the GitHub REST API.

SourceGitHub

This item was written by an AI system from the linked source. Reveneau is responsible for what it publishes.

Share
LinkedInX