# How memory works

> What a character keeps, what it forgets, and how to make something stick.

Source: https://reverie.im/en/docs/chatting/memory
Language: en

Three separate things carry a conversation forward: the raw messages still in the window, the rolling summary of the ones that fell out of it, and the memory store of durable facts. They behave differently, and when a character "forgets" something it is worth knowing which one let go.

## The three layers \[#the-three-layers]

| Layer                | Where it lives                                                              | How much it holds                                                                                                                                                                                                                                  |
| -------------------- | --------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Live messages        | The conversation itself                                                     | Set by the [memory detail](https://reverie.im/en/docs/chatting/memory#memory-detail) level. At the default, **Balanced**: the most recent 10,000 tokens — or 25% of the model's context window, whichever is smaller — and at most **50 messages** |
| Conversation summary | That one chat, in the side panel's **Memory** tab → **Conversation Memory** | Three levels: **Recent summary**, then **Merged summary**, then **Long-term memory**                                                                                                                                                               |
| Saved memories       | The side panel's **Memory** tab, per character and globally                 | **100** entries per scope, plus **20** pinned ones, each up to **500 characters**                                                                                                                                                                  |

The live window is deliberately decoupled from the model you pick. Choosing a model with a million-token context does not keep more raw messages in play; it changes what else can fit around them.

When messages fall out of the live window they are summarised, a few chunks at a time, after a turn completes. Four recent summaries merge into one, and four merged summaries become one long-term summary — at every memory detail level, all scoped to that single chat. You can read, **edit** and **Rebuild** them in the side panel's **Memory** tab → **Conversation Memory**, which also shows how many messages are not yet in the summary.

## Memory detail \[#memory-detail]

**Memory detail**, at the top of **Conversation Memory**, sets how much of the story the conversation summary keeps. It is saved per character and applies to your web chats with that character; the Discord and Telegram bots always use **Balanced**. Everything the summary holds is sent with every message, so more detail costs more credits on every reply.

| Level                  | Kept word for word                  | What the summaries keep                                                                                                   |
| ---------------------- | ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------- |
| **Key events**         | Up to 6,000 tokens and 30 messages  | The main plot, relationships, promises and lasting facts. Scene-by-scene detail is left out, so older detail fades sooner |
| **Balanced** (default) | Up to 10,000 tokens and 50 messages | Important events, promises and how things changed, in moderate detail                                                     |
| **Detailed**           | Up to 16,000 tokens and 80 messages | More scenes and side details, and a longer timeline in the long-term memory                                               |

On a model with a small context window, every level keeps at most 25% of that window word for word.

The long-term summary has a size budget too: about 4,000, 8,000 or 16,000 tokens at **Key events**, **Balanced** and **Detailed**. Once it grows well past that, it is compacted: the oldest timeline lines are folded into short era lines, and only the open promises, exact references and current state that still matter are kept. Corrections and rules it has noted from you are always kept word for word.

A new level applies from your next message. Summaries already written keep their detail until they are merged into older memory. To apply the new level to the whole history at once, **Rebuild** the conversation memory: the panel offers it right after you switch, with the estimated cost. The **High Credit Usage Notice**, shown once per chat after an unusually expensive reply, lets you change the level too.

A rebuild keeps going if you close the panel or leave the chat, and you get a notification when it is done. Until then your current memory keeps working, and new messages wait to be summarized. If it cannot finish — for example because you ran out of credits — you are notified instead, and **Conversation Memory** lets you continue it or start over. After you change the level in the **High Credit Usage Notice**, it offers **Rebuild at this level** as well.

## Where saved memories live \[#where-saved-memories-live]

A memory belongs to one of two scopes, chosen when you add it: **Character-specific Memory** or **Global Memory** (every character sees it). That is the whole scoping model.

> **Memory is not partitioned by persona, chat or branch.** Switching
> [persona](https://reverie.im/en/docs/chatting/personas), starting a new conversation or
> [forking](https://reverie.im/en/docs/chatting/forking) isolates nothing: every chat you have with
> a character reads and writes the same store. A fact learned in a branch is
> immediately visible in the original, and under every persona you use.

Two side effects: in a [group chat](https://reverie.im/en/docs/chatting/group-chats) the character reads the union of every member's memories plus global ones, and if a character is ever deleted, memories filed under it become global rather than disappearing.

Every turn, the character receives all pinned entries plus up to 100 unpinned ones, newest first and spread evenly across the scopes in play, with anything updated in the last 7 days marked as recent.

## How something gets saved \[#how-something-gets-saved]

| Route                                           | Who does it       | Notes                                                                                              |
| ----------------------------------------------- | ----------------- | -------------------------------------------------------------------------------------------------- |
| The character saves it mid-reply                | The model         | Needs a tool-capable model. It can also update or delete its own earlier entries                   |
| **Add Memory**                                  | You               | Type the fact, pick the scope                                                                      |
| **Initialize Memories** → **Generate Memories** | You, then AI      | Answers "What should the character remember?" from a description you write, up to 1,000 characters |
| **Save from conversation**                      | You, then AI      | Pick up to 20 messages, then **Draft with AI** or **Use as-is**                                    |
| Deeper memory                                   | Your subscription | See below                                                                                          |

> **Generate Memories does not read your chat.** It works only from the
> description you type into the box. The feature that reads the conversation
> is **Save from conversation**: select the messages that matter — a promise
> and the reply to it usually belong together — review up to five drafts, and
> save. Everything saved that way arrives **pinned**.

If you regenerate a turn, the memory writes that turn made are rolled back with it. Pinned entries are left alone.

## Pinning \[#pinning]

Pinning is how you make something permanent. A pinned entry:

* is sent to the character **in full, every turn**, never crowded out by newer entries;
* has its own budget — **20 per scope**, on top of the 100 unpinned ones;
* **cannot be edited or deleted by the AI**, only by you;
* survives rewinding or regenerating the conversation;
* is held back the first time you run **Clear All Memories**.

Unpinned entries have none of that protection: the character can rewrite or delete them, and so can the background pass. If a fact matters — what you want to be called, a boundary, a dated promise — pin it.

## Deeper memory \[#deeper-memory]

**Requires an active subscription.** Each time a chunk of older messages is summarised out of the live window, Reverie re-reads that chunk for lasting details and files them as memories. It runs **during** the conversation, in the background, right after the compaction that triggered it — not overnight and not on a schedule. Replies never wait on it, and it does not spend your credits.

The pass is limited on purpose: it makes only a few changes at a time, it never touches pinned entries, and it needs a stretch of new messages to work from. It runs on web chats only — not Discord or Telegram — and never in bounty-challenge chats. The panel shows **Deeper memory** with an **Active** badge when it applies to you.

On a free account there is no automatic pass. The character still saves memories mid-reply, and the panel still works.

## When memory is off \[#when-memory-is-off]

* **Learn from Chat** is a per-character switch, on by default. Turning it off stops both saving *and* reading — the character neither learns nor sees existing memories.
* On a model without tool support the character cannot save mid-conversation; saved memories are still used, and a subscriber's deeper-memory pass still runs.
* In a bounty-challenge chat memory is disabled entirely, so every attempt starts from the same clean slate.
* Signed out, nothing is saved.

## Memory or summary? \[#memory-or-summary]

Memory keeps facts that stay true for weeks — a preferred name, a birthday, an allergy, an explicit promise. Plot progress, today's mood and shifting relationships belong to the conversation summary. If something you said is missing from memory, check the summary before adding it by hand.

> **Clear All Memories** deletes every unpinned entry for that scope and cannot
> be undone. Your pinned entries survive that first pass; Reverie then asks
> separately whether to delete them too — "These are the moments you marked
> yourself and protected from the AI."

## Related \[#related]

* [Personas](https://reverie.im/en/docs/chatting/personas) — why switching persona does not give you a second memory
* [Bonds](https://reverie.im/en/docs/chatting/bonds) — the relationship itself, as opposed to facts about you
* [Forking conversations](https://reverie.im/en/docs/chatting/forking) — what a branch copies, and what it shares
* [World books](https://reverie.im/en/docs/writing/world-books) — lore about the world, as opposed to facts about you
* [Troubleshooting chat](https://reverie.im/en/docs/chatting/troubleshooting) — when a character forgets something
* [Limits](https://reverie.im/en/docs/reference/limits) — every cap in one table
