ChatGPT’s “memory” has three independent sources: global Memory (Settings → Personalization), Project Instructions / Files (current Project only), and the current chat’s message history. Three layers, each with its own rules, but the UI mashes them together — you expect “Project A stuff stays in Project A,” but global Memory carries preferences across every Project. Or you expect chats inside a Project to share context, but each chat is actually independent. Almost every “leak” is a layer-confusion problem.
Common causes
Ordered by hit rate, highest first.
1. Global Memory carries cross-Project preferences
The most common failure. You once said “I prefer Python,” model saved it to Memory. Now in a JS-focused Project you ask “how to implement X,” it gives Python — Memory crossed Project boundaries.
How to spot it: Settings → Personalization → Manage memories. Entries unrelated to the current Project = this is the cause.
2. Project Instructions written as too-fuzzy / story-like
Instructions written as “this Project is about our e-commerce platform, we do SEO optimization” — model uses that as background context perpetually, even when you ask unrelated questions and it still answers with an e-commerce tone.
How to spot it: Instructions > 500 chars, large blocks of “background / team description / project history” = this case.
3. Same Project, multiple chats — model “guesses” past state
Technically each chat is independent, but Project Instructions + Files are shared. When multiple chats touch similar topics, the model can produce answers that “seem to remember” — making you think it’s reading other chats.
How to spot it: Re-run the same prompt in a totally unrelated Project; the “memory” disappears = it was a shared-context illusion.
4. You leaked the context earlier in the same chat
In a 20-turn conversation you mentioned “the client said X” at turn 5. By turn 18 you forgot but the model is still pulling from context — not a leak, just an honest citation.
How to spot it: Search the current chat history; the info is actually there = legitimate reference, not leak.
5. Custom Instructions (account-level) affect every Project
Settings → Personalization → Custom Instructions applies to every Project. “I’m an engineer” makes every Project lean technical.
How to spot it: Temporarily clear Custom Instructions and rerun — tone / preferences change = this is interfering.
6. Team / Enterprise workspace settings override personal Memory
In a Team workspace, admin-set workspace-level instructions may override your personal Memory, but you assume it’s Memory that’s leaking.
How to spot it: Run the same prompt in Personal Workspace — different behavior = workspace settings are the cause.
Before you start
- Confirm this is in Projects (not Custom GPT / plain chat).
- Duplicate the chat before retesting so history doesn’t pollute the next diagnostic.
- Confirm plan + workspace: Personal vs Team / Enterprise behave slightly differently re Memory.
Info to collect
- Project name + Project Instructions text screenshot + char count.
- Current Memory entries screenshot (redact PII).
- Custom Instructions text (screenshot).
- A concrete “leak” example: you expected it not to know X, it stated X.
- Current model + Personal / Team Workspace.
Shortest fix path
Ordered by ROI. The first two solve ~70% of cases.
Step 1: Prune Memory of entries unrelated to current Project
Steps:
Settings → Personalization → Manage memories
→ Walk through every entry → Delete:
- Old-project preferences ("that project used React")
- One-off scenario preferences ("last time fixing a bug, used Python")
- Personal info irrelevant to current work
Keep:
- Always-true cross-scenario preferences ("reply concisely")
Audit Memory monthly.
Step 2: Rewrite Project Instructions as “hard constraints + don’ts,” not stories
Bad → good:
Bad (800-char backstory):
This Project is about our e-commerce platform built in 2024 by the
marketing team. We sell organic products to women aged 25-40. Our
brand voice is warm and friendly. The team prefers Python because
historically we've used Django...
Good (150-char hard rules):
Constraints (always follow):
- Reply in en
- Output format: one paragraph, ≤ 300 words
- Tech stack: TypeScript only (no Python suggestions)
- Don't reference external products / competitors
Context: e-commerce SEO project for organic goods.
Short and hard beats long and soft.
Step 3: Declare “ignore other chats” at the top of each chat
To stop the model from “guessing”:
This is a fresh chat. Ignore any context from other chats in this
Project. The task is: <X>
The model doesn’t cross-chat read anyway, but explicitly saying it improves isolation when multiple chats touch similar topics.
Step 4: One Project = one clear goal
If a Project mixes “SEO + customer service scripts + data analysis,” confusion is near-inevitable. Split into three:
- Project A: SEO
- Project B: Customer service
- Project C: Data analysis
Each with tight Instructions and dedicated files.
Step 5: Temporarily disable Memory to verify
If unsure whether Memory is leaking:
Settings → Personalization → Memory → toggle off
→ Open a fresh chat, rerun the same prompt
→ Different behavior = Memory was influencing
→ Go back to Manage memories, delete relevant entries
→ Toggle Memory back on
Step 6: Tighten Custom Instructions
If your Custom Instructions are too broad (“I’m a PM, like concise”), they override per-Project rules. Change to:
Default style preferences (overridable by per-Project rules):
- Concise unless asked for depth
- English by default
The explicit “overridable” tag helps the model let Project Instructions win when they conflict.
Step 7: Use Temporary Chat for sensitive tasks
Temporary Chat (top-right toggle) by design doesn’t read Memory, doesn’t write Memory, doesn’t keep history. Customer-private info, one-off research, anything you don’t want to influence future answers → always Temporary Chat.
How to confirm the fix
- After pruning Memory, open a fresh chat and rerun the same prompt — leaked content gone = truly fixed.
- Run the same prompt in a totally unrelated Project — current Project’s specifics don’t carry over = isolation works.
- Have a colleague duplicate the Project and rerun — consistent behavior = not just your Memory state got fixed.
If still broken
- Cut the Project to minimum: delete all Instructions + Files, keep one rule line, rerun — see if configs are fighting.
- Switch Workspace: Personal → Team, run same prompt, see if workspace settings are leaking.
- Fully rebuild the Project: create new, paste trimmed Instructions, don’t import old chat history.
- Package Memory list + Project Instructions + concrete leak screenshot, file a ticket at help.openai.com.
Prevention
- Audit Memory monthly; delete expired / one-off preferences.
- Project Instructions = hard constraints + don’ts, never backstory.
- One Project = one clear goal; never mix 3 themes.
- For multi-chat Projects, declare per-chat task scope at the top of each chat.
- Sensitive / one-off scenarios always go in Temporary Chat — never pollute Memory or Project.
Related reading
- Project instructions ignored
- Project vs chat context
- ChatGPT memory not working
- ChatGPT project files not referenced
Tags: #ChatGPT #Troubleshooting