chatdump ships as a tray-only macOS app, but the same binary doubles as a command-line tool. It reuses the app's configured accounts and persisted login sessions — it never opens provider login windows, so if a session has expired, re-login from the menu bar app first.
For the MCP server (the mcp command), see mcp.md.
chatdump offers to install a chatdump command onto your PATH the first time
you launch it, and you can trigger the same install any time from the menu bar
(Install Command Line Tool…). Once installed:
chatdump <command> [options]If you'd rather not install it (or you are on the Mac App Store build, where this is unavailable), call the binary inside the app bundle directly:
/Applications/chatdump.app/Contents/MacOS/chatdump <command> [options]When running from source, use npm run cli -- <command> [options].
The examples below use the bare
chatdump <command>form.
| Command | Description |
|---|---|
help |
Print usage. |
list |
List configured accounts and their sync status. |
sync |
Sync all configured accounts (or selected filters) to their configured vault folders. |
fetch |
Fetch one conversation or shared ChatGPT link and print Markdown. |
mcp |
Start the stdio MCP server — see mcp.md. |
chatdump list [--json]--json— machine-readable output.
chatdump sync [options]| Option | Description |
|---|---|
| (no selector) | Sync every configured account. Auto-sync only affects scheduled syncs. |
--account <id> |
Sync a specific account (repeatable), e.g. openai:user@example.com. |
--provider <name> |
Limit to one provider (openai, claude, gemini). |
--since-days <days> |
Only consider ChatGPT conversations created within the recent window. Rejects Claude/Gemini selections. |
--full-sync <created_at|last_message_at> |
Re-touch every ChatGPT conversation to reorder the provider sidebar by the chosen key. Rejects Claude/Gemini selections. |
--json |
Machine-readable output. |
Examples:
chatdump list
chatdump sync
chatdump sync --account openai:user@example.com --since-days 7
chatdump sync --provider claudechatdump fetch <url-or-id> [--account <id>] [--provider <name>] [--json]Fetches a provider conversation id, a chatgpt.com/c/<id> URL, or a public
chatgpt.com/share/<id> link. By default, it prints only the converted Markdown
body, so the output can be piped or redirected directly.
| Option | Description |
|---|---|
--account <id> |
Fetch using a specific account, e.g. openai:user@example.com. |
--provider <name> |
Select the provider when no account is specified. |
--json |
Print the full structured result without the raw provider payload. |
Example:
chatdump fetch https://chatgpt.com/share/abc123 > shared-chat.mdStarts the stdio MCP server. See mcp.md for configuration, tools, and examples.
All work happens on your machine against each provider's own web API, using the session cookies you signed in with — there is no chatdump backend. See the main README for details.