One team.
Every session.
See what every session is doing, catch the collisions before they land, and keep the decisions your team will need months from now.
- Zero tokens
- Reads, never writes
- Nothing leaves until login
Claude Code, live · Codex, distilled · Anything on MCP, on request
Four sessions, and one of them is a mystery
Four sessions open, and no way to see what the third one is doing.
Two sessions editing one file, neither aware of the other.
The transcript that explained a decision is gone.
The session that decided it is gone and nobody wrote it down.
Susan is Git: it works alone, forever, with nothing sent anywhere. susan.network is the remote a team pushes to.
On your machine
She runs on one machine. She writes only to her own database. Nothing leaves the machine until the person runs susan login.
When a team needs it
susan.network is where a team shares what Susan knows. Signing a terminal in with susan login puts every teammate’s sessions on one board, lets each person push their decisions so a colleague can search them months later, and gives every agent on the team the same notes, skills and plans over MCP.
What Susan does before there is an account
The board
Every session on your machine, and the todo list each one is working through. Susan reads that list out of the session’s own transcript and keeps none of her own. Your agent carries on using its todo tool exactly as before.
A terminal, the status line, or a browser tab on a second monitor.
Costs the agent zero tokens. The board is built from files already on disk.
The conflict notice
Touch a file another live session edited in the last half hour and Susan tells your agent to re-read it first. Once per file. She never blocks the edit.
Decisions, with the quote
Susan distils each session into the decisions it produced: one sentence, the line it came from, and where that line sits. She checks every quote against the transcript before she keeps it. Your agent asks for decisions; she never pushes them into a session.
Contexts and domain agents
Name a domain, point it at its folders, and get an agent that opens already knowing them. @sales reads the entry document fresh and pulls every decision your sales sessions produced. The agent file routes; it quotes nothing, so your documents stay the source of truth.
Every quote gets checked against the transcript
susan memory "why did we drop the retry wrapper"
No custom retry wrapper was added because the SDK already retries 429s.
The line it came fromThe SDK already retries 429s with backoff internallyWhere that line sits
susan · a1b2.jsonl:284119
Distillation runs on the Claude Code subscription you already pay for, and prints its cost first. Claude Code deletes transcripts after thirty days. The decisions outlive them.
susan login is the moment it becomes shared
Before that, Susan has nowhere to send anything. Sign in and she prints a short code. You approve it in a browser you are already signed in to, and the terminal collects a credential nobody typed.
One board, every machine
Who on the team is running what, on which project and branch, and how far through their plan. Reported when a session starts
Conflicts between people
Two people editing one file are told, matched on the path relative to the repository root, so the same file is the same file on both laptops
Decisions the whole team can search
Push what your sessions decided and a colleague finds it months later, with the quote
Notes every agent can ask for
Conventions and constraints the team wrote once, read over MCP before unfamiliar work
Skills, shared and vouched for
Write a skill once and every agent on the team has it. Publish it and other organisations can install it, with install counts and verdicts from teams that ran it
Plans and work, handed over
A shared plan has steps, assignees, and a status an agent can tick over MCP. A task pushed to the team’s queue appears on the team board and in every agent’s queue list
susan push. Then, at each session start, its project, branch, plan progress and repo-relative paths, so the board works. susan push prints the whole payload and every project name, then asks.One connection, both halves
Susan speaks MCP locally: the board, plans, decisions, handing work between projects. The hub speaks it too, over the same token the CLI already holds.
claude mcp add --transport http susan https://susan.network/api/mcp \ --header "Authorization: Bearer sk_susan_…"
Which tools, and what each gets
| Tool | Board and conflicts | Decisions | How |
|---|---|---|---|
| Claude Code | yes | yes | Reads its transcripts and hooks, live |
| Codex | yes | Reads its transcripts and distils them | |
| Cursor, ChatGPT web, Claude web | ask | ask | Over MCP |
Every claim, and the mechanism behind it
Zero tokens
The board and the conflict notice are hooks reading files. The card is at most ten lines, and prints nothing when you are alone
Never blocks
Every hook exits 0. The pre-edit hook always answers “allow”
Reads, never writes
Transcripts are read only. Susan writes to her own database and, on init, to settings.json with a timestamped backup
Keeps the distillate
What Susan keeps is a small fraction of transcript volume, asserted by a test. susan doctor prints the live number
Every quote checked
A quote not found in the transcript means the decision is dropped, not stored
Asked for, never injected
Decisions reach a session only when the person or the agent asks
Nothing leaves until login
With no credential, the code has no URL to send to
A code, not a token
susan login shows a code you approve in a browser. The code alphabet has no vowels and no 0/O or 1/I/L
One line to undo
susan uninstall removes exactly what susan init added. The settings backup is kept. susan init --dry-run shows the change first
Open
The CLI is MIT on npm. What a team pushes is private to its organisation