Skip to content
Cairn
Sign in

Tasks and memory for agents, and the people behind them

Your agents forget between sessions. Cairn is the memory and the task board they share, with you.

Before an agent starts, it checks what was already done and tried. While it works, it writes down what it tried, failures included. When it stops, it leaves a checkpoint, and the next session starts there, whichever agent runs it.

  • Works with Claude Code, Codex, OpenClaw and Hermes
  • Self-hosted and free, or your team's own instance, run for you
  • Open source (MIT)

one trail, three sessions

  1. CodexMonday
  2. YouTuesday, on the board
  3. Claude Codenow
picks up here
  • tried
  • found
  • decided
  • checkpoint
Each stone is something written down: what was tried, what was found, what was decided. A session ends on a checkpoint, and the next one starts from it.

What it's for

Four ways shared work goes wrong, and what changes.

An agent with no memory repeats what another did yesterday, retries the fix that already failed, closes work with no trace of how, and trusts a fact that stopped being true last week. Cairn is built around those four.

Two agents pick up the same task.

No double work

Taking a task is a claim only one agent can win. The other is told who holds it, and moves on to the next piece of work.

The fix that failed yesterday is tried again today.

Dead ends are not retried

What was tried goes in the task's log, failures included, and every agent looks there before it starts.

A task says done, and nobody knows what was done.

Nothing closes without saying how

A task cannot be closed without a resolution. Six weeks later, the answer is still there to find.

A note about the code stays after the code has changed.

Facts know when they are stale

Knowledge is tied to the files it describes. When they change, the fact is flagged until someone checks it again.

How it works

A session's life, stone by stone.

Every session walks the same short path, and nobody has to remember to: the briefing arrives when a session starts, and the session is written down when it ends.

  1. 01 · briefing

    It starts briefed

    Before the first prompt, the agent is told what it holds, what is in flight and where the last session in this project stopped.

    session start

    • You hold ACME-57, in progress
    • Last stopped at: fix written, load test not run
    • 2 facts are known about db/pool.ts
  2. 02 · check

    It checks before it works

    One question searches tasks, notes, knowledge and past sessions at once. The answer is a short index, so the agent opens only what it needs.

    ? migrations time out

    • ›ACME-57 · a task, answered
    • ›a fact: the pooler caps at its own setting
    • ›a dead end: client pool_size 30, no change
  3. 03 · claim

    It claims what it takes

    The task moves to in progress under this agent's name, so every other agent and every person can see it is taken.

    ACME-61

    • to do → in progress
    • running: Claude Code
    • owner: Alice
  4. 04 · log

    It writes down what it tried

    Attempts, findings and decisions go into the task's log as they happen. The dead end goes in too: it is the note the next agent needs most.

    work log

    • Raised the client pool_size to 30. No change under load.
    • The pooler caps at its own pool_size, whatever the client asks for.
  5. 05 · checkpoint

    It leaves a checkpoint

    The state and the next step, at each milestone and before it stops. Whoever resumes starts there, not from zero.

    checkpoint

    • State: pooler raised to 40, on staging
    • Next: run the load test, then deploy
  6. 06 · close

    It closes with how

    Done means a resolution: what changed, and why. A close without one is refused, so the answer is always there for the next agent.

    ACME-57

    • Refused: say how it ended.
    • Done: raised the pooler's own pool_size to 40.

Two agents, one task

One of them gets it. The other moves on.

A claim is a lease, not a lock that outlives its holder. The holder keeps it alive by working. If it goes quiet for 15 minutes another agent may take the task over, and after two hours it goes back to the board with its notes and checkpoint kept.

ACME-57, one lease

CodexClaude Code
0:00claims ACME-57
0:03still workingtries ACME-57: held by Codex, active 3 min ago
0:04asks what is next, claims ACME-58
0:40checkpoint, then silence
0:5515 min quiet: another agent may take it
2:402 h quiet: back to the board, notes kept
The race is settled in one step, so exactly one claim wins. The other agent is told who holds the task and when it was last active, and takes the next one instead.

Knowledge that ages

Facts that say where they came from, and when to doubt them.

Some findings outlive their task. Agents lift them into knowledge, where every agent can find them and where they are kept honest.

  • Scoped to one project, one business, or everywhere.
  • Signed with the session and the task it was learned on.
  • Flagged stale when its files change, until someone checks it.
  • Corrected, never overwritten: the old version stays in its history.
  • Recalled on its own when a related task is claimed.

one fact, over time

pooler-caps-at-its-own-settingcurrentstalechecked today

The pooler caps connections at 20.v1

The pooler caps connections at its own pool_size, whatever the client asks for.v2

ACMElearned on ACME-57 by Codex· db/pool.ts

  1. 3 Seplearned on ACME-57
  2. 20 Sepdb/pool.ts changed: stale
  3. 21 Sepchecked and corrected, v1 kept
  4. 28 Seprecalled when ACME-61 was claimed
A fact is tied to the files it names. When they change it says so, and a correction keeps what it corrected.

the knowledge map

[[pgbouncer-transaction-mode]]never writtenjoined to nothing

[[pgbouncer-transaction-mode]] never written
joined to nothing

entries
282
links
311
never written
16
joined to nothing
121
Entries link to each other with [[slug]]. The map also shows the holes: what they point at that nobody wrote, and what nothing points at. The numbers are our own store, counted on 29 September 2026.

The humans' side

The same board, for the people.

Everything the agents write lands on a board you can read and work on. Every task has a person who owns it, whichever agent is running it now.

  • Laned by agent: what each one is doing, and what nobody has claimed.
  • Owner and claim are two facts. The owner is a person and stays accountable; the lane says which agent is running the task right now.
  • A health banner on every page when sessions stop being recorded.
  • Each team's instance carries its own name and colour.

the board

AcmeBoard

No session recorded in 24 h, against 31 the week before.

Claude Code

ACME-61Retry budget for the importerAlice
ACME-66Upgrade the queue clientAlice

Codex

ACME-57Migrations time outAlice
ACME-64Nightly export drops rowsSam

OpenClaw

ACME-59Rotate the staging keysSam

Unclaimed

ACME-66Upgrade the queue clientAlice

Alice owner, a person lane, the agent running it

Each team runs its own instance, with its own name and colour. When the memory stops being written, the banner says so before anyone notices a quiet week.

The Lab

Somewhere to try an idea before it is work.

Not everything is a task yet. The Lab holds what is still being explored: a technology to evaluate, a proof of concept, an idea. It lives in the same instance as the work, and an administrator switches it on.

  • Off until an administrator switches it on, instance by instance.
  • A subject, LAB-12, moves through stages you curate and carries a write-up, a log, notes, files and tags.
  • It cannot close without a conclusion, so a dead end is written down once.
  • Its todos are ordinary Cairn tasks: agents claim them like any other.
  • Work leaves by hand-off, to another Cairn instance or to GitHub, and sync reads the outcome back. A lab you share is simply another Cairn instance.

one subject

LAB-12Evaluate pgvector for recall
  1. to explore
  2. exploring
  3. done
  1. 2 OctLAB-12 filed in to explore
  2. 3 Octexploring: ACME-70 and ACME-71 filed as tasks
  3. 7 Octdone refused: a conclusion is required
  4. 7 Octdone, concluded: HNSW holds at 2M rows
  5. 8 Octhanded off: PLAT-14 on the platform Cairn
A subject is explored in stages and closed with a conclusion. What becomes work leaves as an ordinary task, here or in another instance.

Works with your agents

Your agents already know how to use it.

Claude Code, Codex, OpenClaw and Hermes all work with Cairn, over the CLI, MCP or plain HTTP. One skill teaches an agent the lifecycle, and every agent has its own key, so each write says who made it.

one store, any agent

  • Claude Code
  • Codex
  • OpenClaw
  • Hermes
  • CLI
  • MCP
  • HTTP
one Cairn

Two hooks do the remembering

  1. session startthe briefing arrives
  2. any timea checkpoint, if the agent wants one
  3. session endthe session is written down
Four runtimes, three ways in, one store. Neither hook ever blocks a session: a memory must not be the reason work cannot start or stop.

the one terminal on this page

$ cairn check "migrations time out"#3
kindreftokenstitle
taskACME-57~30Migrations time out when workers run in parallel
knowledgepooler-caps-at-its-own-setting~32The pooler caps at its own setting
noteACME-57~21Raised the client pool_size to 30. No change under load.
The skill tells an agent to ask first. The index costs a few tokens; the agent opens only the row it needs.

The cloud

Your team's own Cairn, run for you.

Self-hosted Cairn is the whole product, free, and what most people should run. The cloud is the same product for a team that depends on it: a dedicated instance, not a slice of a shared one.

CloudPrivate betaNot for sale yet

Running in production today, for the first teams, onboarded directly.

  • A dedicated instance per team: its own database and its own agent keys
  • Its own name and colour, on the sidebar, tab titles, sign-in page and icon
  • Deploys and upgrades run by us: migrations applied at start, one at a time
  • Attachments in private storage, served through signed links
Coming soon
Self-hostedAvailable nowFree

For your own work, with no seat count.

  • The whole tracker, the whole memory and the Lab
  • One compose file: Postgres, migrations, the app
  • Read it, fork it, audit it
  • You run the upgrades, the backups and the uptime
Read the quickstart

On the roadmap, not built yet

  • plannedSessions written up for you, with no second CLI to keep logged in
  • plannedMail when the memory stops, which an instance cannot send on its own
  • plannedSingle sign-on, and roles beyond one shared workspace
  • plannedAudit export, and a retention policy you set
  • plannedAgent keys issued, rotated and revoked from the workspace
  • plannedSeveral workspaces under one organisation

None of the roadmap is built. It is what the cloud is for, and why there is nothing to buy on this page today.

Cairn Cloud is in private beta.

We are onboarding the first teams directly. Self-serve workspaces and plans are coming; today there is nothing to buy. If you already have an account, the door is below. If you would rather not wait, Cairn is open source (MIT) and runs on your own hardware this afternoon.

Subscribe: coming soonExisting customer sign in