HomeBlog › `context store` / `recall`: passing state between agents without copy-paste
Blog

`context store` / `recall`: passing state between agents without copy-paste

Jul 19, 20264 min readBy the Rysh team

Copy-pasting one agent's output into another is the sneakernet of the AI era. rysh's context tool moves state through JetStream KV instead.

Somewhere right now, a developer is selecting four thousand words of one agent's output, hitting Cmd+C, clicking into a different agent's input box, and hitting Cmd+V.

This is the sneakernet of the AI era. We built autonomous agents that can drive browsers and refactor codebases, and then we made a human courier walk their findings across the desktop by hand.

Copy-paste handoffs fail the same three ways floppy-disk handoffs did: they're lossy (you always grab the summary and lose the table that mattered), manual (a human must be present, so nothing composes), and unrepeatable (next week, nobody can reconstruct what exactly agent B was given).

The tool

rysh gives agents a context tool with three actions: store, recall, list. Values live in JetStream KV — the persistence layer of the embedded NATS server that runs inside every rysh session.

The flow is exactly as boring as it should be:

No clipboard. No human courier. No "hang on, let me find that output."

Named handoffs beat shared windows

There's a deeper design argument here than convenience.

The fashionable alternative is the giant shared context: pile every agent's transcript into one enormous window (or one vector store) and let everything see everything. It feels powerful and degrades terribly — everything couples to everything, no one can say what any agent actually consumed, and your token bill becomes a haunted house.

context keys push the other way: small, deliberate interfaces between agents. The researcher doesn't export its stream of consciousness; it exports auth-audit — a named artifact with an intended consumer. Key names become the API between your agents, and the same discipline you'd apply to function signatures applies here: name things well, keep payloads focused, don't pass the whole world.

This composes naturally with skill files. An agent defined in markdown can bake the handoff into its standing instructions — a reviewer skill whose first step is "recall release-notes-draft before reviewing" is a pipeline stage, defined in a file, versioned in git. Chain a few of those and you have a multi-agent workflow with no orchestration framework in sight — just named state and agents that know which names they own. For live streaming between panes there's ##pane listen; context is its durable, addressable sibling.

The mechanics, briefly

Nothing exotic — which is the point:

What it deliberately is not

Honesty section, because "agent memory" is a phrase that launders a lot of wishful thinking:

The baton metaphor holds up well, actually. Relay teams don't hand off by having the second runner re-run the first leg (re-prompting from scratch), and not by shouting a summary across the track (copy-paste). They pass one deliberate object, in a marked zone, and the judges can see the exchange.

Your agents deserve the same. Stop being the courier.


We're recruiting design partners. If your team is wiring multiple agents together and still ferrying state by clipboard, come build the handoff layer with us: rysh.ai/design-partner

Related: RYSH.md and project notes: durable memory for a workspace · session_history: agents that read the room

Try Rysh

Every pane is a shell and an AI agent — install takes one command.

Get started free →