Docs / Connect / ChatGPT export
A ChatGPT export keeps every branch you ever tried, but only the branch you actually read is worth remembering. The chatgpt-export source reads the export zip from ChatGPT's data controls, or the folder you unzipped it to, and indexes each conversation as one memory in a partition called ChatGPT history. It follows the visible reply chain and leaves edited and regenerated side branches out. Available from ModelBrain 0.6.6.
From a terminal, connector_sync register <id> <path> --type chatgpt-export does the same. For example: connector_sync register chats ~/Downloads/chatgpt-export.zip --type chatgpt-export. Add --kind-option include_do_not_remember only if you want the conversations described below.
conversations-NNN.json files in the export. An older export with a single conversations.json works too.[image] and no image data is read.--kind-option include_do_not_remember includes them.chat.html, user.json, settings and images. They are never opened.A container file over 4 GiB is refused and recorded as a failure, not dropped. Set MODELBRAIN_CONTAINER_MAX_BYTES to change that ceiling. A single member over 32 MiB is refused the same way. Each conversations file is also held in memory while it is read, so one over 256 MiB is refused. A zip is searched to 6 folder levels and up to 4,096 files.
ModelBrain removes a member from memory only after it has read its container to the end. If a file cannot be parsed, every member already indexed from it stays put until the next good pass.
This source is hidden from relay callers. Anything that reaches ModelBrain through the hosted relay, which is how ChatGPT and Grok connect, cannot see what this source imported unless you add its partition (and the partition of any other source of the same kind) to that connection's allowlist yourself. Your chat history is also the most personal thing in this list, so check the partition before you share a ModelBrain store with anyone.
kind, members, members_failed and last_container_bytes. For this source it also reports members_skipped_do_not_remember, the number of conversations left out.The folder or zip held no conversations json file, or one of them was not a JSON list of conversations. Pick the export root again.
It may be marked do not remember, or it had no visible text. Check members_skipped_do_not_remember in diagnostics.
Open the ModelBrain menu, choose Vaults, then Add Source, then ChatGPT export. Say whether you have the zip or the unzipped folder, then pick it. Available from ModelBrain 0.6.6.
It indexes the visible chain of user and assistant text messages. Edited and regenerated side branches, reasoning, tool and system messages are left out, and images appear as the placeholder [image].
They are skipped and counted in diagnostics. You can include them by registering the source with the include_do_not_remember kind option.
No. The ChatGPT history partition is hidden from relay callers, which is how ChatGPT and Grok connect.
Each new source kind has its own page.
Claude Code memory → · Mail → · Calendar and contacts → · Bookmarks →Sources feed the same memory these assistants read.
Claude Desktop → · Claude Code → · Cursor →