Get started

From one session to the next.

Recallstack picks up what matters while you work, keeps it as small records, and hands them to whichever agent you open next. Here's each step, with real records from rebuilding Recallstack itself.

It picks things up while you work.

Hooks read each session on your machine, using the agent you already have, and pull out what matters. The agent also notes decisions, questions and corrections on its own the moment they come up. Either way, there's nothing for you to save.

A session in Codex, Oct 3. On the right, what it became and how much it counts.

  1. You“We're rebuilding Recallstack around intent. Start fresh, keep only what earns its place.”
    Goal: Rebuild Recallstack around intent
    Decision: Start fresh, keep only what earns its place
    Your own words. Only a correction counts more.
  2. Codex“Should I start with the website or the app?”You“Website first.”
    Question, now closed: Website or app first?
    Decision: Website first
    An answer. Codex closed the question on the spot.
  3. Codex“Dark and quiet, or light and airy?”You“Dark and quiet.”
    Decision: Dark and quiet look over light and airy
    A choice. The option you turned down is kept too.
  4. Codex“I've put a label above the headline and a subtitle under it.”You“No. Plain copy, no stacked headlines.”
    Taste: Plain copy, no stacked headlines
    A correction. Counts most, and Codex noted it straight away.
  5. Codex“I'll start on the homepage next.”You(carry on without replying)
    Focus: Build the homepage
    A proposal you let pass. Counts least, since silence isn't always a yes.

Each one becomes a small record.

  • Goals you're working toward
  • Focus and the next step
  • Decisions and the options turned down
  • Questions still open
  • Taste, how you like things done

Every record answers the same five questions. Here's the first decision from that session:

whatStart fresh, keep only what earns its place, whybecause there are no users yet and the old version was built around code. whereIt applies to all of Recallstack, whenfrom Oct 3 until something replaces it. howYou said it in Codex, in those words, so it's marked sure.

Where can be everywhere, one project, or one part of it. When also records the day something stopped applying. How keeps the agent, your exact words and how sure Recallstack is.

Nothing is overwritten.

When you change your mind, the old record stays, linked to the one that replaced it.

Extend the old backend

Claude Code, Sep 12. Replaced Oct 3.

Start fresh, keep only what earns its place

Codex, Oct 3. In force.

Conflicts come to you.

If two agents heard different things, Recallstack asks. It never quietly picks one.

You told Codex “website first” on Oct 3 and Claude Code “let's get the app working first” on Oct 10. Which one stands?

Every session starts with a brief.

Open any agent and it gets your active goal, your focus and next step, the decisions in force, what's still open and the taste that applies. It's kept short on purpose, so the agent actually follows it.

It stays current as you work, so there's no save step. Before you switch, you can see what the next agent will be told and fix anything that's off.

What Claude Code will be toldCurrent as of your last message
  • Goal: Rebuild Recallstack around intent
  • Focus: Build the homepage. Next: the How it works page
  • Decision: Start fresh, keep only what earns its place
  • Decision: Website first
  • Decision: Dark and quiet look
  • Open question: What does the How it works page need to show?
  • Taste: Plain copy, no stacked headlines
  • Taste, edited: Bold colour cards One bold colour moment per page you fixed this

If a plan goes against a decision, the agent stops and waits for you.

Cursor was about to reuse the old backend's sync code. That breaks “Start fresh, keep only what earns its place”, decided in Codex on Oct 3, so it asked before touching anything.

Your conversations stay on your machine.

Stays with you

  • Full conversations
  • Your code, diffs and commits
  • Secrets

Kept as records

  • Goals, focus, decisions, questions and taste
  • The exact words each one came from, with secrets stripped first
“deploy with STRIPE_KEY=sk_live_51Hx…”“deploy with STRIPE_KEY=[secret removed]”

Projects name themselves.

Recallstack recognises the repo you're in. Work outside a repo gets a name you choose. Your taste follows you to every project.

~/code/recallstackrecallstack from the repo name, renameable
~/Desktop/notesLaunch copy not a repo, so you named it

The rules it works by

Why, not what. Your code already shows what exists. Your words win. What you said beats what was guessed. Nothing changes quietly. Old records stay, and disagreements come to you. Short beats complete. A brief the agent follows beats an archive it skims. Every agent is equal. Codex, Claude Code, Cursor, Copilot and Antigravity get the same memory. You first. Your records follow you across projects. A project is just a scope.

It isn'tcode searcha change loga task trackera chat archivea notes app

Try it on your next session.

macOS and Linux
curl -fsSL https://github.com/o-clan/recallstack-cli/releases/latest/download/install.sh | bash
Windows PowerShell
irm https://github.com/o-clan/recallstack-cli/releases/latest/download/install.ps1 | iex

Works with Codex, Claude Code, Cursor, Copilot and Antigravity. Read the docs