MemoryLake
Back to all articles
Pain PointMay 22, 20267 min read

Why does ChatGPT forget my personal preferences?

You told ChatGPT, three months ago, that you write in British English, hate em-dashes, and want code in Python with type hints. Today the replies come back in American English with em-dashes everywhere and code in untyped JavaScript.

It is not random. The Memory feature is doing exactly what it was built to do, and what it was built to do is not "remember everything forever".

The short answer

ChatGPT forgets personal preferences because Memory is a single account-wide store capped at roughly 8,000 tokens of paraphrased notes, and older preferences get evicted when newer ones arrive. The store is shared across every topic and tool you use, so per-context nuance gets blurred. The fix is to keep your full preference profile in a persistent memory layer ChatGPT reads on every turn.

Why ChatGPT forgets personal preferences

Three design choices push preferences out:

1. Memory is a single small bucket. OpenAI lists the saved-memory cap at roughly 8,000 tokens (around 6,000 words of summarized notes). When you reach the limit, new notes push older ones out. The preference you set three months ago is the first thing to go.

2. Notes are paraphrased, not stored verbatim. Your stated preference ("always reply in British English, never use em-dashes, always include type hints in Python") gets compressed into a sentence the model writes for itself. Nuance and exact wording are lost in that paraphrase, so the model's reading of it can drift.

3. There is no context routing. Preferences are global across your account. A preference you set while coding ("type-hinted Python") applies to your fiction writing too, unless ChatGPT decides the topic does not match. There is no per-project switch.

So even when ChatGPT "remembers" something about you, the version it remembers is a sketch of the original, ranked against everything else you have ever told it.

What you lose when ChatGPT forgets personal preferences

A drifting personalization layer adds friction you did not budget for:

  • You re-state the same rules monthly. Preferences you spent a month training in get evicted, and you teach them again from scratch.
  • Context-mixing produces bad outputs. A coding preference (verbose comments) leaks into fiction (over-explained metaphors), or vice versa, because there is no scope to keep them apart.
  • Personalization decays silently. ChatGPT does not announce that it forgot. You just notice that yesterday's replies were sharper and today's are not.

The cure is not "set fewer preferences". It is to move your preference profile out of an 8,000-token shared store and into a memory layer designed for the job.

ChatGPT's built-in workarounds (and where each falls short)

OpenAI offers three knobs. Each one is partial.

Memory is the default place preferences live. The cap is around 8,000 tokens, the storage is paraphrased, and the scope is account-wide. Useful for stable, narrow preferences. Inadequate for a layered, multi-topic profile.

Custom Instructions lets you write two 1,500-character blocks that apply to every new chat. You can encode some preferences here as a kind of permanent baseline, but the cap is still small and it gets deweighted as the chat grows.

Projects (Pro / Plus / Team) keep instructions and files per project, which helps with context routing. The Memory store, however, remains account-wide, so global preferences still bleed across projects.

OpenAI's Memory FAQ explains exactly what gets stored, what gets evicted, and how to delete entries you no longer want.

For a casual user, the natives are enough. For someone whose work depends on stable personalization, they are not.

Where ChatGPT's built-in memory falls short

Even if ChatGPT held every preference perfectly, you still use other AIs. Your tone preferences in ChatGPT do not reach Claude. Your coding preferences in Claude do not reach ChatGPT. The personalization you built in one tool is invisible to every other one, so every tool reinvents you from a slightly different angle.

A real fix is one preference profile that travels with you across every AI you use.

How MemoryLake fixes ChatGPT forgetting personal preferences

MemoryLake holds your preference profile as Background Memory inside a Project, and feeds the right slice of it into ChatGPT on every turn.

  • Background Memory for stable preferences. Identity-level rules ("British English", "no em-dashes", "Python with type hints") live in Background Memory, where they cannot be evicted by newer notes the way ChatGPT's 8K bucket does.
  • Context-scoped retrieval. Per-project Memories let you keep coding preferences for one project and fiction preferences for another, with no leakage. The right slice surfaces per turn, not the whole pool.
  • One profile across every AI. The same Background Memory plays into Claude, Gemini, Grok, and Cursor. Your preferences hold whether you are drafting in ChatGPT or coding in Cursor.

MemoryLake holds the top published LoCoMo long-context score (94.03%), retrieves in milliseconds, and protects every byte with AES-256 end-to-end encryption — even MemoryLake cannot read your data.

Connect MemoryLake to ChatGPT in 3 steps

  1. Create a project and load your preferences. Sign in to MemoryLake, open Project Management, click Create Project, and name it ("Personal — Default profile"). Add each preference as a Memory with a clear name ("Tone — British English, no em-dashes", "Code — Python with type hints"). Upload any reference docs or examples through the Document Drive so the profile is illustrated, not just declared.
  2. Generate an MCP Server endpoint. Open the MCP Servers tab in the project, click Add MCP Server, name it "ChatGPT integration", and click Generate. MemoryLake returns an API key ID, secret, and endpoint URL. Copy the secret immediately — it is shown only once.
  3. Connect ChatGPT. Browser ChatGPT does not yet support MCP, so call the REST API with the Bearer token to load your preference profile at the start of each chat, or paste a short system prompt that references your MemoryLake project ID. The Python SDK can wrap this into a one-line preface so your preferences are present before message one.

Frequently asked questions

Does ChatGPT remember my personal preferences over time?

ChatGPT's Memory feature saves short paraphrased notes about you, capped at roughly 8,000 tokens for the whole account. Newer notes can push older ones out, and preferences set months ago are often the first to be evicted.

How do I make ChatGPT keep my preferences forever?

Move your preference profile out of ChatGPT Memory into a persistent layer like MemoryLake. Background Memory keeps stable traits safe from eviction, and ChatGPT loads them via REST API or a system prompt that references your project.

Why does ChatGPT keep forgetting things I told it about myself?

Memory paraphrases notes and ranks them against everything else you have told it. When the 8,000-token cap is reached, older notes get trimmed silently, which is why long-standing preferences fade.

What is the ChatGPT memory limit per user?

OpenAI's saved Memory cap is approximately 8,000 tokens of paraphrased notes for the entire account, roughly 6,000 words of compressed text. The cap is not per topic or per project.

Can I share my personal preferences with Claude or Gemini?

Memory and Custom Instructions are ChatGPT-only. MemoryLake stores your profile in a model-neutral Project, so the same preferences guide Claude, Gemini, Grok, Cursor, and any tool that supports REST or MCP.