AI chatbots forget because a language model can only read a fixed amount of text at once, and your conversation eventually outgrows it. That limit is the context window. When the chat gets longer than the window, the oldest messages are dropped before the model ever sees them, and anything that lived only in those messages is gone.
Nothing is broken when this happens. It’s the normal operation of every chatbot, cloud or on-device, and the differences between apps come down to what they save before the dropping starts.
The context window, in plain terms #
A model processes text in tokens, which average about three quarters of a word in English. Every model has a maximum number of tokens it can take in one request, and that maximum covers everything: the system instructions, the character description, the conversation so far, and the reply it’s about to write.
Say an app runs a model with a 4,096-token window. A realistic budget looks like this:
| Part of the prompt | Tokens |
|---|---|
| System instructions | 250 |
| Character definition and scenario | 600 |
| Saved facts and summary | 500 |
| Room reserved for the reply | 300 |
| Left for actual conversation | ~2,400 |
Two thousand four hundred tokens is roughly 1,800 words, or something like 25 to 40 messages of ordinary chat. Message 41 pushes message 1 out. If you mentioned your sister’s name in message 1 and the app didn’t save it anywhere, the model can no longer see it, and the character will ask again.
Larger windows push the limit back but don’t remove it. A 128,000-token model holds a long conversation, though a daily companion chat will pass that too, and models get noticeably worse at picking details out of the middle of a very long context.
The four things that actually get forgotten #
Not everything is lost the same way, and telling these apart helps you fix the right problem.
Old messages. The main one. Once they fall out of the window they’re unrecoverable for the model, even though they’re still sitting in your chat history on screen.
Details inside a summary. Many apps compress old messages into a rolling summary. Compression throws things away by design. “You talked about your family” survives; your sister’s name does not, unless the summarizer thought it mattered.
Facts that were never extracted. Apps with a memory feature run a background pass that pulls durable facts out of the conversation. Small models are mediocre at this, so some facts simply never get picked up.
Facts that exist but weren’t retrieved. This one surprises people. The app has your sister’s name saved, but for this particular turn it selected five other facts as more relevant, so the model never saw it. The memory didn’t fail. The retrieval did.
Why a chatbot forgets the thing you just said #
Sometimes a character forgets something from three messages ago, which the window explains poorly. Usual causes:
- Long replies eat the budget. If the character writes 300-word replies and you write 200-word messages, ten exchanges can fill 2,400 tokens on their own.
- The character card is enormous. A 1,500-token description leaves far less room for conversation. Trimming it is often the fastest fix.
- A new chat was started. Some apps treat each conversation thread as separate, so a new thread begins with an empty transcript even if the character’s saved memories carry over.
- The detail was in an image or a previous re-roll. Regenerated replies usually replace, rather than accumulate, so anything mentioned only in a discarded version is gone.
What good memory design does about it #
The approach that works is to save the facts before dropping the text. An extraction pass reads the conversation as it goes, lifts out the durable pieces, and stores them separately. The transcript can then be truncated without losing the content that mattered.
A well-built memory store usually has three layers:
- Relationship state. Small and always included: mood, trust, how close you’ve grown, the current story arc.
- A rolling summary. Recompressed as the chat grows, so the gist of earlier sessions survives.
- Typed facts. Individual details, tagged by kind and weighted by importance, retrieved by relevance to what you just said.
Xin is built around that order of operations, and it exposes the result. Its memory journal lists every fact it has saved about you, grouped into sections like “About you,” “Likes and dislikes” and “Milestones,” and you can pin a fact so it’s included in every prompt regardless of what the retrieval picks, or edit it, or delete it. Because the model runs on the phone, those notes stay in a local database rather than on a server. Seeing the list is the part that changes how you use a companion app: forgetting stops being mysterious and becomes something you can inspect.
The mechanics of these layers are covered in more depth in how AI companion memory works.
How to work around forgetting #
Practical tactics, roughly in order of effectiveness:
- Pin the handful of facts that matter. If the app supports pinning, use it for five or ten things, not fifty. Pinned facts occupy context in every single turn.
- Restate important details naturally. Mentioning your dog’s name again in conversation gives the extractor another chance and puts it back in the recent window.
- Keep the character description tight. Every token you cut is a token of conversation you keep.
- Start a fresh chat with a recap. When a long chat gets sludgy, opening a new one and writing two sentences of context often works better than continuing.
- Check the memory list and correct it. Extraction makes mistakes, and a wrong fact will be repeated confidently until you fix it.
More tactics, with the reasoning behind each, are in how to make an AI chatbot remember you.
Forgetting you actually want #
Memory cuts both ways. A companion that permanently remembers an offhand remark from a bad night, or a detail about an ex you’d rather drop, is a problem rather than a feature. Any app with persistent memory should let you delete individual facts, and the good ones do. If you want something gone for good, deleting the chat is usually not enough, because saved facts live separately from the transcript. How to make an AI chatbot forget something walks through where to look.
Frequently asked questions #
How many messages can an AI chatbot remember? #
It depends on the model’s context window and how long the messages are, but a small on-device model with a 4,096-token window typically holds 25 to 40 messages word for word. Large cloud models hold far more. Past that limit, apps rely on summaries and saved facts rather than the original text.
Does a bigger model remember more? #
Usually yes, for two reasons: larger models tend to ship with larger context windows, and they’re better at pulling a relevant detail out of a long prompt. But an app with good fact extraction and a small model often beats a big model with no memory system at all.
Why does the AI remember some things and not others? #
Because a memory pass decides what’s worth keeping, and it’s imperfect. Facts get scored by importance, and low-scored ones may never be saved or may lose out to other facts during retrieval. Stating something plainly (“my sister’s name is Mei”) is much more likely to be captured than implying it.
Will starting a new chat erase what the AI knows about me? #
That depends on the app’s design. Some tie memory to the conversation thread, so a new chat starts blank. Others keep one memory per character that’s shared across every thread, so a new chat still knows you. Check whether your app has a separate memory or profile screen.
Can I stop an AI chatbot from forgetting entirely? #
No. Some information always has to be dropped, because the window is finite. What you can control is which information survives, by pinning key facts, keeping descriptions short and correcting the memory list when it drifts.