SillyTavern Memory: What It Actually Remembers (2026)
SillyTavern does not have a memory setting. It has four separate memory systems, three of which do nothing until you switch them on, and nearly every one of them is looking at the same narrow slice of your chat: the last two messages.
That last point is the one that explains most of the complaints. People arrive expecting a long-term memory they can enable, find four extensions that all seem to promise it, turn on some combination of them, and then discover the AI still forgets the thing that happened fifty turns ago. The systems are working. They are simply looking at a much smaller window than the interface implies.
This guide covers what each of the four actually stores, the default numbers that decide how much of your campaign survives, and the two silent failure modes — one where the Summarize extension does nothing at all without reporting an error, and one where turning on retrieval quietly rearranges your chat history.
If SillyTavern is not generating at all, that is a different problem and lives in SillyTavern not working. If you have not connected a backend yet, start with the SillyTavern setup guide.
The Four Systems
| System | What it stores | On by default? | What it is good at |
|---|---|---|---|
| Summarize | One rolling summary of the whole story | Installed, but inert on default settings | The shape of the plot so far |
| Vector Storage | Embeddings of your past messages | No | Recovering an old scene that resembles the present one |
| Data Bank | Files you attach, split into chunks | No | Reference documents, rules, long lore |
| World Info | Entries that fire on keywords | Per-entry, whenever a book is bound | Facts that must be exactly right |
They are not alternatives and they do not overlap cleanly. Summarize always contributes something but has already thrown the details away. World Info contributes the exact text you wrote, but only when a keyword appears. Vector Storage contributes exact old messages, but only when your recent writing resembles them. Data Bank does the same for documents rather than chat.
A long campaign usually wants at least two of them, for reasons that become obvious once you see how each one fails.
The Number Behind Most Complaints
Here are the shipped defaults, read from the extensions’ own source rather than from the panels:
| Setting | Default | What it governs |
|---|---|---|
| World Info scan depth | 2 | How many recent messages are searched for entry keywords |
| Vector Storage query | 2 | How many recent messages build the similarity search |
| Summarize injection depth | 2 | How far from the end the summary is inserted |
| Vector Storage insert | 3 | How many old messages are retrieved per turn |
| Vector Storage protect | 5 | How many recent messages are left untouched |
| Summarize interval | 10 | Messages between summary regenerations |
| Summarize target length | 200 words | The length requested from the model |
| World Info budget | 25% | Share of context that lorebook entries may fill |
The first three rows are the finding. World Info, Vector Storage and Summarize were written at different times by different people to do different jobs, and all three converged on a two-message window.
For World Info the consequence is concrete and it is the single most common lorebook complaint across every platform that implements the feature: if the keyword for an entry has not appeared in the last two messages, the entry does not fire. Not “is less likely to”. Does not fire. An entry about your character’s home village is invisible unless something in the last two messages said the village’s name. Raising the scan depth is the fix, and it is a global setting rather than a per-entry one.
For Vector Storage, the retrieval is only as good as the last two messages you wrote. If you have just written two lines of dialogue with no nouns in them, the query is two lines of dialogue with no nouns in them, and what comes back will be whatever else in the chat was vague.
Summarize: The One That Silently Does Nothing
Summarize is installed with SillyTavern by default, which is why it is the one most people try first, and it has a failure mode that sends a steady stream of people to search engines convinced the feature is broken.
The default summary source in the extension’s settings is Extras.
Extras was a separate Python server that SillyTavern used to offload work to, and it is long deprecated — very few people running SillyTavern in 2026 have it installed. The extension’s chat handler opens with a check: if the source is Extras and the summarize module is not present, it returns immediately.
It returns silently. No error, no toast, no red text in the panel. The summary box stays empty forever and nothing tells you why.
The fix is one dropdown. Open the Extensions panel, find Summarize, and set the source to Main API, which uses whatever backend you are already connected to. The documentation describes this option as requiring no additional setup beyond a working API connection, and for the overwhelming majority of users it is the correct choice.
If your summary box has been empty for an entire campaign, this is almost certainly the reason.
The Second Reason Nothing Seems To Happen
Even set up correctly, the summary regenerates every 10 messages by default. Start a new chat, send three messages, check the panel, see nothing, conclude it is broken. It is not — it has simply not reached its first trigger. There is a Summarize Now button in the panel for exactly this moment.
There is also a word-count trigger, set to 0 and therefore off. Next to both fields sits an Auto button, and it is more useful than it looks. It reads your actual chat, measures your average message length and your real tokens-per-word ratio, works out how many messages fit in your context, and sets the interval from that. It also prints the whole calculation to the browser console as a table. Press Auto, open the developer console with F12, and you can read the numbers SillyTavern computed for your specific chat — average message token count, how many messages fit before things drop out of context, the target summary length it derived. Very few people know that table is there, and it answers “how long can this chat get” better than any general advice.
What The Default Prompt Asks For
The summarization prompt that ships with SillyTavern is worth reading closely, because one clause in it shapes every long campaign:
Ignore previous instructions. Summarize the most important facts and events in the story so far. If a summary already exists in your memory, use that as a base and expand with new facts. Limit the summary to {{words}} words or less. Your response should include nothing but the summary.
“If a summary already exists in your memory, use that as a base and expand with new facts.”
The summary is recursive. Each new one is generated from the previous one plus recent messages — not from the full chat. That is the only way it could work, since the full chat is the thing that does not fit. But it has a consequence that compounds.
Your summary at message 300 is not a summary of 300 messages. It is a summary of a summary of a summary, perhaps thirty times over, with fresh messages folded in at each step. Every pass is a chance to lose a detail or firm up a wrong one, and nothing ever goes back to the source to check. An error introduced at message 40 is quietly carried forward for the rest of the campaign, and each rewrite makes it read more like an established fact.
Meanwhile the target length stays at 200 words. Early on, 200 words covers 10 messages — generous. At message 300 the same 200 words are the entire institutional memory of the campaign. The compression ratio degrades every single turn, and nothing in the interface tells you that it is happening.
This is why correcting the summary by hand is the highest-value habit in a long SillyTavern campaign. The box is editable. Anything you fix stays fixed and is inherited by every future summary, because every future summary is built from this one. Ten seconds of editing at message 50 propagates for the next thousand messages. It is the only point in the whole memory stack where a small manual intervention has compounding returns.
Where The Summary Lives, And How People Lose It
The documentation is specific: the summary is embedded into the chat file’s metadata, attached to the message that was last in context when it was generated. And then the consequence — deleting or editing a message that has a summary attached reverts the state to the last valid summary.
So pruning old messages to save context, or editing a message from twenty turns ago to fix a typo, can roll your memory backwards. There is a Restore Previous button for deliberate rollbacks, which is useful when the summarizer has a bad turn. But the accidental version catches people out, and it looks like data loss rather than the documented behaviour it is.
If you have written a summary by hand, tick Pause. It stops automatic updates and leaves your text alone. Clearing the box and ticking Pause is also the documented way to disable the summary entirely without uninstalling anything.
The Three Build Modes
Main API has three sub-modes, and the choice matters more on local hardware than on a hosted API:
- Raw, blocking — sends only the summarization prompt and the chat history. Clean, but it produces a very different prompt each time, which means a full reprocess on backends with slow prompt processing. The docs single out llama.cpp and its derivatives as the case where this hurts.
- Raw, non-blocking — the same, but generation is not held up while it runs. Not every backend handles simultaneous requests; if summaries start failing, this is the first thing to switch back.
- Classic, blocking — appends the summarization prompt to your normal generation prompt, character card and all. Wasteful in tokens, but it reuses the already-processed prompt, which is why the docs recommend it for llama.cpp and its siblings.
On a hosted API the difference is mostly cost. On local hardware it is the difference between a summary that takes two seconds and one that takes forty.
Vector Storage: It Moves Your History, It Does Not Add To It
Vector Storage is the closest thing SillyTavern has to the “infinite memory” people are looking for. It embeds your messages, and when you write something new it finds the old messages that resemble it and puts them back in the prompt.
The defaults, again from source: retrieval for chats is off; embeddings come from transformers, which runs locally in the browser and needs no API key; it inserts 3 results; it queries on your last 2 messages; it protects the last 5 messages; the similarity threshold is 0.25; and messages are chunked at 400 characters.
So on defaults, the “unlimited memory” is three chunks of a few hundred characters each, selected by resemblance to your last two messages. Against a 128,000-token context window, that is a rounding error. It is genuinely useful — but it is a targeted recall mechanism, not a memory extension, and the gap between those two descriptions is where the disappointment lives.
Now the part that is not documented anywhere prominent, and that changes how you should think about the feature.
Vector Storage does not append retrieved messages. It relocates them.
The function that does the work is called rearrangeChat, and the name is accurate. It queries for relevant messages, then walks the chat array and removes each matched message from its original position, then re-inserts them together as a block under a “Past events:” heading near the end of the prompt.
A message that was still sitting in your context window, in its correct chronological place, gets pulled out of the story and pasted into a block of highlights at the end. From the model’s point of view the conversation now has a hole in it where that exchange used to be, and a list of out-of-order fragments near the bottom labelled as past events. The block is even sorted by relevance rather than by time, so the most similar message comes first regardless of when it happened.
That explains a family of reports that otherwise make no sense: that turning on Vector Storage made the AI worse at chronology, or that it started treating something from twenty turns ago as though it had just happened, or that the conversation began to feel subtly disjointed. The retrieval is working exactly as designed. The design moves furniture.
Two practical consequences. First, the protect setting is your safety margin — the last five messages are never relocated, and raising it keeps more of the recent conversation in proper order. Second, if chronology matters to your campaign more than recall does, Summarize plus World Info is the better pairing, because neither of them disturbs the order of anything.
Data Bank: Retrieval For Documents
Data Bank is the same retrieval machinery pointed at files instead of chat. It arrives with the built-in Chat Attachments extension and lives in the Magic Wand menu.
Attachments sit in one of three scopes:
- Global — available in every chat, solo or group.
- Character — available only for that character, including when they reply in a group.
- Chat — available only in the chat that is open.
The defaults for documents are more generous than for chat messages: chunks of 2,500 characters and 5 chunks retrieved, against 400 and 3 for messages. That is a deliberate asymmetry and a sensible one, since a document chunk is reference material and a chat chunk is a line of dialogue.
One detail to know before you share anything: character attachments are saved locally and are not exported with the character card. If you build a character whose lore lives in a Data Bank document and send the card to someone, they get the character and none of the lore. Put anything that must travel with the card into a lorebook instead, which does export.
World Info Is Memory Too
World Info — lorebooks — is not usually filed under memory, but it is the most reliable memory in SillyTavern, because it is the only one that is deterministic. A keyword appears, the entry fires, your exact text goes in. No model rewrote it, no similarity score was involved.
The budget is the number to know: lorebook entries may fill 25% of your context by default, computed as a straight percentage of the maximum context. There is a separate token cap that overrides the percentage when set, useful if you are on a very large context and 25% is more than you want spent on lore.
Entries carry a vectorized flag, which is where World Info and Vector Storage meet. A vectorized entry stops being keyword-triggered and becomes similarity-retrieved instead — useful for an entry describing a mood or a theme, which has no reliable keyword, and wrong for an entry describing a person’s name, which does.
The practical division: use World Info for facts that must be exactly right, and Summarize for the shape of events. A character’s sister’s name belongs in a lorebook entry, where it will be reproduced verbatim. What happened between them in chapter two belongs in the summary, where an approximation is fine.
If you are writing entries and finding they do not fire, the scan depth of 2 is almost always the reason, and the full mechanics of keys, secondary keys and insertion order are worth a guide of their own — we cover the platform-specific version of the same system in Janitor AI lorebooks, which imports SillyTavern’s lorebook format directly.
What To Turn On, In Order
- Summarize, source set to Main API. One dropdown, and it is the difference between having a memory system and having an empty box. Press Summarize Now rather than waiting ten messages.
- World Info, with the scan depth raised. The default 2 is too tight for anything but constantly-repeated keywords. Four or five is a common working value; higher costs a little more scanning per turn.
- Read the summary at around message 50 and fix it. This is the compounding one. Errors caught here never reach message 300.
- Vector Storage, only if you need old scenes back. Raise protect if chronology matters. Accept the rearrangement, or do not turn it on.
- Data Bank, for reference documents. Rules, long setting bibles, anything you would otherwise paste. Remember it does not travel with the card.
Turn them on one at a time and give each a few dozen messages before adding the next. All four are contributing to the same prompt, and if you enable everything at once and the output gets strange, you will have no idea which one to blame.
The Settings That Matter Most
| Panel | Setting | Default | Change it to |
|---|---|---|---|
| Summarize | Summary source | Extras | Main API |
| Summarize | Interval | 10 messages | Fine, or use Auto |
| Summarize | Target length | 200 words | Raise for long campaigns, with the response length override |
| Summarize | Injection depth | 2 | Usually fine |
| World Info | Scan depth | 2 | 4–5 |
| World Info | Budget | 25% | Fine; cap it on very large contexts |
| Vector Storage | Enabled for chats | Off | On only if you want similarity recall |
| Vector Storage | Insert | 3 | 5–10 on a large context |
| Vector Storage | Protect | 5 | Raise if chronology matters |
Checklist
- SillyTavern has four memory systems; three start switched off or inert.
- Summarize ships with its source set to a server you almost certainly do not run, and fails silently. Set it to Main API.
- World Info, Vector Storage and Summarize all work off a two-message window by default. Raise World Info’s scan depth first.
- The summary is recursive and capped at 200 words, so it compresses harder every turn and inherits its own mistakes. Correct it by hand early.
- The summary is attached to a specific message; editing or deleting that message rolls it back.
- Vector Storage relocates matched messages out of the history rather than adding them. That is what makes chronology feel wrong after enabling it.
- Character-scoped Data Bank documents do not export with the card. Lorebooks do.
- Use lorebooks for facts that must be exact, summaries for the shape of the story.
Frequently Asked Questions
Does SillyTavern have long term memory? It has four things that do parts of the job, and none of them is a single long-term memory. Summarize keeps one rolling summary of the story. Vector Storage retrieves older messages by similarity. Data Bank attaches documents and retrieves pieces of them. World Info injects entries when their keywords appear. Summarize is installed by default but does nothing until you point it at a working summary source, and Vector Storage and Data Bank retrieval both start switched off. SillyTavern’s own documentation is careful about the term, saying summarization could be interpreted as long-term memory but to take that with a grain of salt, because the summary is written by a language model and can drop details or invent them.
Why is SillyTavern summarize not working? The most common cause is the default summary source. In the extension’s default settings the source is Extras, the old separate Extras server that most people never install, and when that module is not present the extension’s chat handler simply returns and does nothing. There is no error and no toast, so it looks like a broken feature rather than an unconfigured one. Open the Summarize panel and set the source to Main API, which uses whatever backend you are already connected to and needs no extra setup. The second cause is the interval: by default a summary is only regenerated every ten messages, so nothing appears to happen for the first several turns of a new chat.
How long is the SillyTavern summary? The default target is 200 words, set by the target summary length field, and it is regenerated every 10 messages by default. That target does not grow as the chat grows, so the same 200 words have to cover 10 messages early on and several hundred messages later. The length is also only a request rather than a limit, because it is passed to the model through a words macro inside the summary prompt, and SillyTavern’s documentation notes that the setting has no effect at all if you remove that macro from the prompt. If you want a longer memory, raise the target and raise the API response length override to match, or the model will be cut off mid-summary.
What is the difference between Vector Storage and Summarize in SillyTavern? Summarize compresses everything into one short block of prose that is always present. Vector Storage leaves the text alone and pulls back a few whole messages that resemble what you just wrote. They fail in opposite ways, which is why many people run both. A summary is always there but has lost the detail. A vector hit has the exact wording but only appears if your last couple of messages happen to resemble it, so a detail you have not mentioned for fifty turns stays invisible until something you type looks like it.
How many messages does Vector Storage actually insert? Three, by default. The settings in the extension’s source ship with insert set to 3, the query built from your last 2 messages, a similarity threshold of 0.25, and the most recent 5 messages protected from the process. So on defaults the feature retrieves three older messages per turn, chosen by how closely they resemble your last two. There is a second detail worth knowing: it does not add those messages on top of your history. It removes them from their original position in the chat and re-inserts them together, under a Past events heading, near the end of the prompt.
What is the Data Bank in SillyTavern? It is the document side of retrieval, added by the built-in Chat Attachments extension and reached from the Magic Wand menu. You attach files and SillyTavern splits them into chunks, embeds them, and pulls back the most relevant pieces when they match what you are writing. Documents sit in one of three scopes: global, available in every chat; character, available only for that character; or chat, available only in the open chat. One thing catches people out when they share a card: the documentation states that character attachments are saved locally and are not exported with the character card.
Why does my SillyTavern summary keep disappearing? Because of where it is stored. The documentation states that the summary is embedded into the chat file’s metadata against the message that was last in context when it was generated, and that deleting or editing that message reverts the summary to the last valid state. So trimming or re-rolling an older message can roll your memory backwards without any warning. If you have written or corrected a summary by hand and want to keep it, tick Pause, which stops automatic updates and leaves your text in place.
What is the best memory setup for a long SillyTavern campaign? Use more than one system, because they cover different failures. Turn Summarize on with the source set to Main API for the always-present outline of the plot. Add World Info entries for the facts that must be exactly right when they come up, since a keyword match is deterministic and a summary is not. Add Vector Storage if you want old scenes recoverable by similarity, and accept that it reorders history to do it. Keep an eye on the summary and correct it by hand when it drifts, which is the single highest-value habit in a long campaign, because every later summary is generated from the previous one and an error that gets in stays in.
Default values for the Summarize and Vector Storage extensions and for World Info were read from SillyTavern’s own source on 22 September 2026; panel behaviour, summary storage and Data Bank scopes are from the project’s published documentation. SillyTavern is free, open-source software and Arcanum is an independent publication with no affiliation to the project or to any model provider or backend named here; all names are used nominatively.