I Can’t Quit You, ChatGPT. Well. Maybe Now I Can.


I Built a Tool to Fix the Biggest Pain in Switching AI Services — And Then Used It on Myself

There is a problem nobody talks about when they discuss AI service switching. It is not the cost. It is not the learning curve. It is the context.

When you switch from ChatGPT to Claude — or from Claude to anything else — you do not just lose your chat history. You lose the relationship you built with your AI over months of work. Every project it knows. Every preference it has learned. Every decision you talked through together. Gone. The next conversation starts cold, like meeting a stranger.

I hit this wall moving from ChatGPT to Claude. I had 489 conversations spanning nearly two years — AI governance research, product strategy, cover letters, technical architecture, health decisions, creative projects. That accumulated context had real value. Starting over felt like a genuine loss.

So I built a tool to fix it.


The Obvious Fix Does Not Work

The instinct is to just upload your conversation history. ChatGPT gives you a full export. Problem solved, right?

Not even close.

A typical ChatGPT export is 400–500 MB of JSON. That is approximately 50 million tokens of raw data. Claude’s context window is 200,000 tokens. You cannot upload 50 million tokens into a 200,000 token window. The math simply does not work.

Every existing approach I found was a variation on the same theme: manually curate a summary document and paste it in. That works at small scale. It does not work when you have two years of nuanced, wide-ranging conversations across a dozen different domains.


What I Built

LLM Conversation Memory Migrator is an open source, local-first tool that compresses your conversation history into a context window that actually fits.

The workflow is four steps.

First, you upload your ChatGPT export zip — the full, unmodified export file. Second, a local AI model running on your machine reads every conversation and generates a structured summary: topics covered, key decisions made, artifacts created, open threads, and behavioral preferences observed. Third, those summaries are automatically classified into topic buckets — Work and Career, Technical and Coding, Health and Wellness, Creative Projects, and so on. Fourth, you export clean markdown files, one per topic, ready to upload to Claude Projects or any other LLM service.

The entire process runs on your machine. Ollama handles the summarization using Llama 3.2. No API calls. No cloud processing. No third party ever sees your conversation data.


The Results

I ran the tool on my own 489 conversations last week.

481 out of 489 conversations summarized successfully. That is a 98.4% success rate on a real, unfiltered export — conversations ranging from a few lines to hours of back-and-forth on complex topics.

The output was 10 topic-specific context files, automatically classified. Work and Career captured 169 conversations. Technical and Coding captured 138. The remaining conversations distributed across Health and Wellness, Research and Learning, Creative Projects, Finance and Legal, and others.

After uploading the context files to Claude Projects, I ran a simple validation test: five factual questions about specific projects, decisions, and artifacts from my ChatGPT history. Things Claude could not possibly know without the context files.

Five out of five correct.

Specific project names. Technical decisions. Personal preferences. All there.


What This Actually Solves

The tool does not solve the digital twin problem. It does not build a complete model of who you are. That is a different and much harder problem that belongs in a different conversation.

What it solves is narrower and more practical: your AI context is yours, and you should be able to take it with you when you move.

Right now, accumulated AI context is effectively held hostage by the service you used to build it. Switching services means starting over. That is not a technical limitation. It is a structural incentive for lock-in. The tools to export your data exist. The tools to make that data useful somewhere else did not — until now.


The Architecture Decision That Matters

The local-only architecture is not a feature. It is the point.

Your conversation history contains things you would not share with a third party: health decisions, financial discussions, career strategy, personal relationships. Running summarization through a cloud API means that data transits someone else’s infrastructure. Running it locally means it does not.

Every summarization call goes to localhost:11434. Nothing leaves your machine until you decide to upload the output somewhere. And even then, you control exactly what you upload and where.

The tool also aggressively cleans up after itself. Extracted zip files are deleted immediately after parsing. No conversation data sits on disk in a temp folder waiting to be found.


What Does Not Work Yet

The Review tab is functional but limited. You can merge and rename topic buckets, but you cannot reassign individual conversations. If a conversation about skiing landed in Travel and Planning instead of Hobbies and Interests — which happened — you fix it at the bucket level, not the conversation level.

The filename sanitization has a bug. Topic names with ampersands and spaces produce triple underscores in filenames: Work___Career_context.md instead of Work_and_Career_context.md. It works. It is ugly. It is on the v0.2 list.

The summaries are good but not deep. Llama 3.2 running at 3 billion parameters produces accurate, useful summaries, but it drops specific names and fine-grained details that a larger model would retain. The 5/5 validation result reflects conversations where the key facts were prominent. Peripheral details require either a larger model or longer summaries — both are v0.2 improvements.

There is no Claude export adapter yet. My Claude conversation history — including job search strategy, specific contacts, and ongoing project decisions — is not yet migrated. That is the highest priority for the next release.


The Broader Point

Every power user who has been building with AI for more than a year has this problem. The context you have accumulated has real value. It represents hours of work teaching an AI your preferences, your projects, your decision frameworks. That value should not evaporate when you switch services.

The solution is not to stay locked in. The solution is portable context — owned locally, compressed intelligently, deployable anywhere.

LLM Conversation Memory Migrator is open source, MIT licensed, and available now.

github.com/Don-Norbeck/llm-conversation-memory-migrator


Estimated energy usage: Approximately 90 minutes of Ollama inference on an RTX 4060 GPU at roughly 150W load. That is approximately 225 watt-hours, equivalent to running a 100-watt bulb for 2.25 hours — to compress two years of AI conversation history into a portable, reusable context archive.