Every conversation,
filed where it belongs.

chatdump sits quietly in your menu bar and archives your Claude, ChatGPT, and Gemini conversations into plain Markdown files in a folder you choose. Nothing leaves your Mac.

chatdump app icon — a stack of conversation bubbles
No dock icon No telemetry Local-only

From chat to plain text

What a synced chat looks like.

One conversation in, one Markdown file out — YAML frontmatter for the metadata, a heading for each turn.

chatgpt.com
What should I see in Kyoto in 3 days?

Day 1: Fushimi Inari early, then Tofuku-ji and an evening walk through Gion.

Day 2: Arashiyama bamboo grove, Tenryu-ji, and the Sagano riverside.

Day 3: Kinkaku-ji, Daitoku-ji, then Nishiki Market before you leave.

2026-07-06_Kyoto_3-day_itinerary_8f3a2c1d.md
---
title: "Kyoto 3-day itinerary"
created: 2026-07-06T09:12:34.000Z
updated: 2026-07-06T09:14:02.000Z
model: auto
source: chatgpt
id: "8f3a2c1d-90ab-4cde-8123-456789abcdef"
parser_version: 2
---

## User

What should I see in Kyoto in 3 days?

## Assistant

Day 1: Fushimi Inari early, then Tofuku-ji and an evening walk through Gion.
Day 2: Arashiyama bamboo grove, Tenryu-ji, and the Sagano riverside.
Day 3: Kinkaku-ji, Daitoku-ji, then Nishiki Market before you leave.

The frontmatter keeps the title, timestamps, model, source, and conversation id — the rest is just the conversation.

Where it lands in your vault

Vault/
├── chatgpt/alex@example.com/
│   ├── 2026-07-06_Kyoto_3-day_itinerary_8f3a2c1d.md
│   └── 2026-07-04_Regex_lookbehind_help_c41b9e02.md
├── claude/alex@example.com/
│   └── 2026-07-05_Sourdough_starter_rescue_a7d02e55.md
├── gemini/alex@example.com/
│   └── 2026-07-01_Trip_photo_captions_3b8cf104.md
└── .chatdump/cache/…

One folder per provider, one per account. Raw provider JSON is cached under .chatdump/ alongside the notes.

The whole app lives in one dropdown — accounts, sync status, and a manual sync button.

What it does

A small app with one job, done well.

No workspace to configure, no browser tabs to keep open — connect your accounts once and let it run.

01

Three providers

Claude, ChatGPT, and Gemini — each with its own accounts and independent sync state.

02

Plain Markdown

Every conversation lands as a readable .md file, so it works with any note app — Obsidian, Logseq, or just a folder of files.

03

Multiple accounts

Connect several accounts per provider. Each one syncs to its own vault, on its own schedule.

04

Set your rhythm

An auto-sync interval keeps things current, plus a per-account window controlling how far back each sync reaches.

05

Lives in the tray

No dock icon, no stray windows. Sign in once in an embedded browser and forget it's there.

06

Built for agents

A stdio MCP server and CLI expose the same archive to Claude Code, Codex, or your own tooling.

Own your data

Nothing leaves your Mac.

chatdump has no backend. Signing in to a provider opens an embedded browser window right inside the app; the resulting session cookies are written to local storage on your Mac and never sent anywhere else. Every sync reads conversations from the provider and writes Markdown straight to disk — there's no server in the middle to trust.

It's the same archive either way: a folder of Markdown files you already own, that you can read, grep, back up, or sync with anything you like.

Sign-in Embedded browser window
Sessions Stored locally, on your Mac
Servers None
Telemetry None
Output Markdown files you control
For agents & the terminal

Speak to it from the command line.

chatdump doubles as a stdio MCP server, so any MCP-aware agent — Claude Code, Codex, or your own harness — can read and search your archive directly. It reuses the same accounts and sessions as the menu bar app.

ask Ask a question through a signed-in session
conversation Fetch a full conversation as Markdown
accounts List configured accounts & sync status
sync Sync selected accounts to their vaults

Run it

$ /Applications/chatdump.app/Contents/MacOS/chatdump cli mcp

Project-scoped MCP client

{
  "mcpServers": {
    "chatdump": {
      "command": "/Applications/chatdump.app/Contents/MacOS/chatdump",
      "args": ["cli", "mcp"]
    }
  }
}

Call a tool

{
  "tool": "ask",
  "arguments": {
    "accountId": "openai:user@example.com",
    "prompt": "Summarize this thread."
  }
}