On 27 July, a memory in my Nowledge Mem instance grew a new version. The old one was a months-old note about tuning a homelab server, and it was wrong. The new one was titled "CORRECTED 2026-07-27: the original advice was wrong", and it sat in the review queue waiting for me to notice. Nobody asked for it. A background pass had read enough later transcripts to work out that the earlier note no longer held, kept the mistake in history with a date on it, and moved on.
Anthropic calls that dreaming. Since 6 May it has been a research-preview feature of Claude Managed Agents (announcement, docs), covered as a feature by Ars Technica, reported as a launch by The New Stack, and argued over as a liability three months later once people had lived with it. The word had already been visible inside Claude Code's /memory screen since late March: users were filing bugs about a /dream command that wasn't wired up yet (issue #39135), and one of them reported watching auto-dream reorganise and consolidate memory files mid-session. So the loop was running in the wild six weeks before the platform announcement, and OpenAI and Letta are circling the same idea. Every few months the industry names something that was already running somewhere. This is about what dreaming is, why the name arrived now, and why you don't need a managed cloud to have it.
The problem is between sessions, not inside them
A model works inside a context window, and when the session closes, almost everything it learned goes with it. The two standard mitigations are well worn. Compaction summarises a long conversation so the session stays usable, but it never carries anything across days. Memory files like CLAUDE.md or MEMORY.md do carry across days, and nobody manages them: nothing dedupes them, nothing dates them, nothing deletes the advice that got superseded. After a few weeks a memory file is a pile of contradictions the agent drags into every new conversation.
So the third mitigation is a batch job that runs between sessions. Read the recent transcripts. Read the memory store that already exists. Decide what matters, what duplicates, what contradicts, what has gone stale. Emit a fresh store that is shorter, dated, and consistent.

Anthropic's version has two properties I like. The input store is never modified; the job writes a new output store, so a bad dream is discarded without touching the real memory. And adoption can be a deliberate step: you can let it update memory automatically or review the new store before it lands. It is an asynchronous job you trigger with a store and up to 100 transcripts, it runs for minutes to a few hours, and you choose when.
Why the word arrived now
Agents crossed from chat into work. Once a model is drafting legal documents and closing pull requests, "it already tried this nine days ago" stops being a quirk and becomes a bug. Anthropic's showcase is Harvey; Anthropic cited a roughly 6x jump in task completion on drafting work once Harvey's agents could carry what they learned between sessions. I would not lean on the number, but the shape of the story is right: sessions no longer have to forget.
Then the backlash, which I think is mostly correct. A bad answer used to die with the session. A bad memory now shapes thousands of future sessions, and a poisoned transcript can quietly become policy; one engineer quoted by The New Stack called it "a dangerous promotion path" (source). Others pointed at recency bias, memory drifting toward whatever the agent did last week, and at the fact that nothing in the design says when a stored fact stops being true. Memory is not a summary mechanism. It is infrastructure, and infrastructure needs discipline.
The February version
Nowledge Mem shipped this on 18 February 2026. The v0.6.0 release, "Background Intelligence, Smart Feed & Library", led with "the system finds connections, surfaces contradictions, and writes your daily briefing on its own". That is a close description of dreaming, two and a half months before Anthropic productised it as a named platform feature. Mem calls it background intelligence, and it differs from Anthropic's job in ways that matter to me.
It never stands still. Plugin agents push transcripts in from a dozen-plus agent and IDE tools automatically, so today's conversations are tomorrow's material with no "save to memory" ritual. The store is a graph rather than a pile of notes: every memory carries provenance (where it came from, what kind of claim it is), related memories are versioned and time-stamped, and nothing is silently overwritten. When the same lesson turns up in enough places it becomes a crystal, one clean insight instead of eleven scribbles. A working-memory briefing is written each morning so the agent gets what matters today rather than the whole pile. There is a scheduler in the box; nothing to trigger.
And the review lane is lazy on purpose. Promotions land in a queue whose default recommendation is "no change needed", and items expire if you ignore them. That is a gate engineered against rubber-stamping, which is exactly the failure the critics worry about.
The honest difference is where the gate sits. Anthropic reviews at store-replacement time: you kick off a dream and adopt or discard the whole output. Mem applies continuously and gates individual promotions. Same commit, different place to lint.
Memory on my machine, not in a vendor's data centre, waking up in whichever tool I open.
Dreams that cross tools
Anthropic's dreaming lives inside managed agents: a brand, a platform, a fence. Fine if you live there and never leave.
An on-your-machine version has no fence, which produces the effect I actually value: the dream is shared across every agent I run. The session I close at 4pm, the CLI agent at 9pm, the mobile summary tomorrow, all flow into one graph, and every tool reads the same briefing. Two more from my instance. While debugging, an old conversation about a terminal multiplexer surfaced in search because its transcript had been indexed; "we already tested that" came back in seconds with the source attached. And a workaround from one session was in another tool's context the next morning because both read the same briefing. Nobody typed it, no README changed. Memory on my machine, not in a vendor's data centre, waking up in whichever tool I open.
Where it falls short
The dream is only as good as the model dreaming. Local models at 7B and under are surprisingly adequate at summarisation and noticeably worse at catching contradictions and preserving nuance in a merge; 14B to 70B, or a remote model, produces a better pass. Nothing knows when a fact stops being true: provenance says where it came from, version history gives you the evidence, and you still decide. The review queue is real work; on my instance it grows into the double digits and only the "no action needed" default keeps it in check. And poisoning is a real attack. A crafted transcript in your logs can be promoted just like a real insight. Provenance shrinks the blast radius, it does not remove it, so treat session logs as untrusted input and guard the approve step.
You can start tonight
Dreaming is architecture, not a vendor. The whole recipe is five parts: the .jsonl transcripts your agents already write; a durable store, anywhere from MEMORY.md to a graph; a scheduler (cron, a systemd timer, an IDE stop hook); a model behind an OpenAI-compatible endpoint, local or remote; and a review gate, which can be git diff and some discipline.
Mem runs its whole background pass on local models if you route the "Agents" purpose at a local provider, with a built-in local embedding model (fully local setup, providers). The open-source world has built the bare shape more than once: dream-skill greps Claude Code transcripts and dedupes MEMORY.md from a stop hook; wienerdog runs a nightly dream through Claude Code or Codex, one git commit per night, with memory approve gating changes to your identity notes. Both ride whatever model the harness points at, so a local model behind an OpenAI-compatible endpoint works as well as a hosted one. Neither gives you provenance, versioning, or a review lane. They prove the point anyway: the dream is config-shaped.
Anthropic gave it a name in May, a customer story made people look, and the sceptics found the edges. Underneath is a small loop that has been running on my machine since February, as a product feature rather than a research preview. The durable part of an agent system is its memory, and memory, like a house, needs sorting, dating, evidence, and the occasional honest deletion. That's the dream.



