Guide · 13 August 2026
Why ChatGPT forgets your characters, and what actually fixes it
You are sixty chapters in. You ask for a scene and the model gives your swordswoman green eyes. They were grey in chapter four and grey again in chapter thirty-one, and you have corrected this chat twice today.
You have already tried the obvious thing. You pasted a summary of the series at the top of the conversation. It held for a while. Then it stopped holding, and you could not say exactly when.
Three fixes follow, in order of effort. Most books never need the third.
The model is not remembering, it is re-reading
A chat model keeps nothing between your messages. Every time you press send, the whole conversation is handed back to it and read again from the beginning. What feels like recall is re-reading, done fast enough to pass for memory.
That conversation has a ceiling. Your bible competes for room with the chapter you pasted, the model's own long replies, and the four rewrites you asked for after lunch. Something has to give, and it is never the thing you typed most recently.
What gives depends on the product. Some drop the oldest turns, some compress them into a summary of themselves. Either way it happens quietly, and your bible was at the top of the thread.
Memory stores impressions, not records
ChatGPT's persistent memory carries preferences and recurring facts across conversations with no setup at all, which sounds like the answer to this and is not. It is associative by design. It will happily remember that your protagonist is a reluctant healer. It will not remember that her mana regeneration reached 14 a second in chapter 62.
That gap is the whole problem, because a long series is made of numbers, proper nouns and dates, and those are the first things any summary drops. A model that remembers the vibe of your world and none of its arithmetic is worse than useless for continuity, because it sounds right.
Projects help, and they are worth using: they group chats under shared instructions and uploaded files, so you stop re-pasting at the start of every session. But an uploaded file is a snapshot. The model reads what you uploaded, not what is true now, and there is no way for it to write a correction back. Nothing on screen tells you the file is three weeks stale.
Why the summary drifts
Summarising is lossy in a particular direction. It keeps shape and drops specificity. "Kael carries his father's sword, a grey-steel longsword called Ash-Tongue, notched at the third quillon since chapter 19" becomes "Kael carries his father's sword". Everything a reader could audit has gone, and the sentence still reads as if it contains the fact.
Both products do this to their own memory automatically, and you do it by hand every time you compress sixty chapters into two pages that will fit. Then you summarise the summary for book three. Four passes later the bible is a mood.
The expensive part comes next. Asked about something it no longer holds, the model does not stop and say it does not know. It produces the most plausible answer, in your voice, with complete confidence. Grey becomes green because green is what a reader of that sentence would expect. You catch it in copy edits if you are lucky. In progression fiction, where readers check the maths, you catch it in a review.
Fix one: one bible file, current, attached to a project
Do this before anything else. One Markdown file, one heading per entity, attached to a Claude or ChatGPT project so it rides along with every conversation in that project rather than being pasted per chat.
What earns its place in that file, roughly in order of value:
- names and their exact spellings, including the ones you nearly chose and still typo
- physical facts that recur: eyes, scars, height, the limp, the accent
- what each character knows, and the chapter they learned it, which is the fact models break most often
- rules with their limits, because what magic cannot do constrains a scene far more than what it can
- a dated timeline, even a crude one, so "two winters later" resolves
- numbers that move, each tagged with the chapter it last changed: levels, debts, distances, ages
Keep it shorter than the length at which you stop maintaining it. A thorough bible you update once a month loses to a plain one you update on Fridays. Write it for a stranger who has not read the book, because that is precisely who is reading it.
For a standalone novel, or the first two books of a series, this genuinely works and you can stop reading here. Claude Projects hold attached reference documents across every conversation in the project, and the context window is now large enough that a substantial series bible simply fits. It costs $20 a month you are probably already spending. If your world fits in a document you can re-read in ten minutes, anything further is overhead you do not need.
Fix two: instruct the model to admit the gap
Confident invention is a behaviour, and you can push against it in the project's custom instructions. Something close to this, in your own words:
"The attached bible is the only authority on this world. If a fact is not in it, say 'not in the bible' and carry on. Never invent a name, a number, a date, a title or a physical description. When you state a fact about the world, name the entry you took it from."
The last clause does most of the work. It gives the model something checkable to fail at, which is harder to fudge than an instruction to be careful. It reduces confident invention rather than removing it, so keep reading the answers.
Two habits go with it, and both are free.
- Start a new chat per chapter. Long threads degrade, and a fresh one re-reads the attached bible instead of your own drifting paraphrase of it.
- Check your data settings once. ChatGPT's data-use defaults are less conservative than you might assume, and an unpublished manuscript is the asset.
Fix three: let the model ask, instead of being told up front
Every fix so far pushes the bible into the conversation and hopes it stays there. The other approach is to leave the bible outside the conversation and let the model fetch what it needs, one question at a time. That is what MCP does. You connect a server once, and from then on the model can query it mid-scene: what is in this inventory, what did she know in chapter four, when did these two last speak.
A question and its answer cost a few hundred words, instead of your entire world sitting at the top of the context window before you have typed anything. Nothing goes stale, because nothing was pasted.
The plumbing is already in the clients you use. Claude supports remote MCP custom connectors on every plan, one on Free and uncapped on Pro, Max, Team and Enterprise. ChatGPT supports remote MCP connectors on paid tiers through connectors and developer mode. One constraint comes with it: Claude calls the connector from Anthropic's cloud, so the server has to be publicly reachable. A file sitting on your laptop cannot be.
There are free routes to this, and they are good. Obsidian keeps your world as plain Markdown on your own disk, and several community MCP plugins expose it to a model. They run locally, so the client has to be local too: Claude Desktop, Claude Code or Cursor, rather than ChatGPT in a browser or anything on your phone. That trade buys the strongest privacy on offer, because nothing leaves the machine. Budget a weekend to assemble it, and some maintenance forever after.
Kanka is the other one worth knowing. Its free tier has unlimited entries across eighteen entity types, and the community server mcp-kanka exposes roughly fifteen tools with full read and write access to all of them. The vocabulary is tabletop-first, so campaigns, quests and DM screens are something you translate as you go. Both routes are unofficial and volunteer-maintained, and both can break when the thing underneath them changes. If you are technical and price-sensitive, either gets you most of the way to a model that remembers your world, for nothing.
How to tell which fix you actually need
The threshold is not a word count, it is a habit. Watch for the first afternoon you skip the re-export because you are mid-scene and cannot face it. That is the break-even, and it arrives earlier than people expect.
- One book, a bible you could re-read in ten minutes: attach the file, write the instructions, stop reading guides.
- Two or three books, re-uploading weekly and mostly remembering: the file still works. Put the re-upload in the same checklist as your backup.
- A long series with numbers that move, or a world too large to hold in your head: query it, do not paste it.
Where New Quest comes into this
New Quest is the third fix, hosted, so there is no local process and no API key to issue. Characters, stat blocks, locations, scenes, timeline and world state are stored as structured records rather than prose, and served over a remote MCP server that Claude, ChatGPT, Gemini or Cursor can query per question. It returns the actual number, and says so plainly when a fact was never recorded. It writes no prose, and your work is never trained on.
One book is free. Past that it is a subscription, priced on the home page, and it sits on top of the model subscription you are already paying for. Fix one adds nothing to that bill. If fix one is working, use fix one, and come back when the re-uploading starts to feel like a chore. That is the only point at which this is worth paying for.
Questions people ask next
Won't a bigger context window fix this on its own?
It moves the wall further out, it does not remove it. And a bible read whole is still read as prose: past a certain length retrieval gets fuzzy, contradictions accumulate quietly, and you find them in reader reviews rather than in the chat.
Is ChatGPT's memory feature enough if I turn it on?
Not for continuity. Memory is associative by design. It carries preferences and recurring facts across conversations, so it will hold that your protagonist is a reluctant healer. It will not hold that her mana regeneration reached 14 a second in chapter 62, and it summarises silently rather than telling you what it dropped.
Can I connect ChatGPT to a story bible the way I can Claude?
Yes, on paid tiers, through connectors and developer mode. Claude supports remote MCP custom connectors on every plan, one on Free and uncapped on Pro, Max, Team and Enterprise. Claude calls the connector from Anthropic's cloud, so the server has to be reachable from the internet. A folder on your laptop will not do.
Do I have to pay for anything to fix this?
No. A maintained Markdown bible attached to a Claude or ChatGPT project costs nothing beyond the subscription you already have. If you are technical, Obsidian is free and has local MCP plugins, and Kanka's free tier has unlimited entries with a community MCP server on top of it.