Oh.
Oh.

Your AI coding is a black box. Oh turns it into a mirror.

After every Claude Code and Codex session, Oh shows you where your time and tokens went — and quotes your own words back at the moment they cost you: "that 'ok i think it worked' cost 418k tokens — the agent re-read the whole thread just to hear it." There's no separate AI reading your code — Oh surfaces the evidence and your own agent (the Claude or Codex you already run) does the talking, over a verbatim record of every session. Your week to see · Yours to recall · Your team's to ask.

Claude Code, with Oh wired in — brief on open · ask · statusbar
claude — /Users/nrav
Claude Code v2.1.178 Opus 4.8 with high effort · Claude Pro /Users/nrav
3 setup issues: MCP · /doctor
Using Opus 4.8 (from .claude/settings.json) · /model
hi
Oh ▸ where you left off: "Create offline local enterprise version" (github.com/21j3phy/oh · 2h ago) today 5h 49m (1h 10m you · 3h 47m agent) · 2.1M tokens — week: 13h 24m, 33 sessions by repo: aydhi 3h 27m · oh 2h 22m tip: one turn dumped 418k fresh tokens at once — that paste rode in context all session; next big one, /clear after the heavy lift.
Hey! What can I help you with?
ask why we switched the queue from SQS to Redis
Retries were poisoning the batch — Sam hit the vendor rate limit and moved dedup into Redis. [Sam · claude · 12 Jun · session 0e20a191 · sim 0.87]
Baked for 11s
~|Opus 4.8|ctx:97%|Oh · 5h 49m today · 2.1M tok ⏵⏵ auto mode on (shift+tab to cycle) · ← for agents
The problem

The code survives. The reasoning doesn't.

On a team where AI writes most of the code, the bottleneck isn't writing — it's re-explaining. Someone ships a PR, and everyone else has to interrupt them: "wait, why does this work this way?" The answer existed, in full, in the author's AI session. Then the session ended.

"We chose the queue because retries were poisoning the batch and the vendor limit meant we…

— gone. Unless something remembers.

One memory, three superpowers

Things your AI can do with a memory.

Insights

See how you actually code — then get better at it.

Time anatomy (you prompting vs. the agent working vs. you away), token economy, rabbit-hole detection — plus tips that quote your own words back at the moment they cost you. Useful solo, from day one.

Today: 5h 49m (1h 10m you · 3h 47m agent) · 2.1M fresh tokens. tip: that "ok i think it worked" (Fri 19:47) cost 418k tokens — the agent re-read the whole thread to hear it. `oh insights` for the full report
Rules find the evidence; your own agent writes the tips. Visible only to you.

Recall

Your AI remembers everything you two have done.

Every past session — across Claude Code and Codex — is memory your agent can pull from. Last month's plan, last week's fix, the thing you almost remember deciding. Useful solo, from day one.

you: what was my plan for the auth refactor? oh: Three phases — sessions first, you'd already ruled out JWT for the kiosk flow. [you · codex · 14 May · session 019e75d2]
Works at team-of-one. The team makes it compound.

Shared memory

Ask their agent, not them.

Your agent queries your teammates' reasoning and answers with citations — instead of you interrupting the author to re-explain. Cross-tool: Codex answers from a Claude session, and vice versa.

you: ask why we switched the queue from SQS to Redis oh: Retries were poisoning the batch — Sam hit the vendor rate limit and moved dedup into Redis. [Sam · claude · 12 Jun · session 0e20a191]
Memory that outlives the session, the tool — even the person.
What `oh insights` actually prints — real output, founder's machine
~/Documents/Oh — oh insights
$ oh insights Nirav's vibecoding since 2026-06-08 Today ~5h 49m (1h 10m you · 3h 47m agent) · 2.1M fresh tokens · 4 sessions Sessions: 33 Exchanges: 406 Time at the wheel ~13h 24m you prompting/thinking 2h 51m agent working 9h 12m you away (agent waited) 1h 21m By repo (the total above is the sum) aydhi 8h 41m (1h 52m you · 6h 02m agent) 18 sessions · 7.8M tok oh 4h 43m (0h 59m you · 3h 10m agent) 15 sessions · 5.4M tok Tokens 13.2M fresh (2.1M out) + 88.4M cache reads cache hit 87% most expensive exchange 418k fresh tokens (oh, 2026-06-12 19:47) Friction 21 corrections · 9 tool errors · 6 interrupts · 1 rabbit-hole episode Fun peak hour 21:00 · busiest day 2026-06-12 · longest session 3h 41m Oh tips (from your own sessions — only you see these): 1. Your priciest moment this week: "ok i think it worked. also can you make a prompt for the us…" (oh · Fri 19:47) → 418k fresh tokens in a single turn. Whatever got pasted there stayed in context the rest of the session.
~/Documents/OhFable 5ctx:97%Oh · 5h 49m today · 2.1M tok
memory built into your AI tools
"User prefers pnpm. Project uses Postgres."
a summary — lossy, single-tool, no provenance
vs
Oh
The exact exchange. The actual code block. The full reasoning thread — cited to the session and the moment it happened.
the record — verbatim, cross-tool, citable. Theirs summarizes; Oh remembers.
How it works

No daemon. No new editor. No habit change.

01 / capture

Hooks, not watchers

Every time a turn ends in Claude Code or Codex, a detached process reads what's new in the session file. It never blocks your typing.

02 / scrub + embed

Reasoning only

Prompts, explanations, and one-line action summaries are embedded into the team brain. File dumps and raw output are dropped; secrets are masked before anything leaves your machine.

03 / ask

Cited answers

Any teammate's agent asks in natural language and gets ranked, cited excerpts — recency-boosted, so the current decision wins when plans changed.

no AI of its own — your agent does the talking raw sessions never leave your machine secrets masked before storage insights are individual-only cross-tool from day one verbatim record, not summaries fully-offline local mode — no cloud at all
Open beta · free · no keys

A few commands. Then it just remembers.

Three ways to run Oh — all free during the beta, all the same CLI and the same capture. They differ in one thing: where your memory lives. Pick the row that fits.

Hosted recommended · no keys, no card

We run it — bring nothing. The full product, including the shared team brain your teammates can ask. The fastest start, and the right call for teams.

$ npm install -g oh-brain
$ oh signup # email + password — logged in instantly
$ oh team create "Acme" # or: oh team join <invite-code> — solo = a team of one
$ oh init --yes # wires Claude Code & Codex (hooks + ask + insights)
$ oh backfill # seeds memory from your existing sessions
copied ✓
Local-only no cloud · no api · no keys

Nothing leaves your machine. On-device store under ~/.oh/local, embeddings in-process — no account, no Supabase, no OpenAI key, no egress to allow-list. You get Recall + Insights; the shared team brain is the one thing it skips. The easiest version for a security-locked org to approve — works air-gapped.

$ npm install -g oh-brain
$ oh init --local --yes # on-device store + in-process model, no keys, no account
$ oh backfill # first run fetches a ~23MB model, then never touches the network again
copied ✓ source & docs on GitHub ↗
Self-host your supabase · your keys

Your own cloud. The full product — including the shared team brain — running in your Supabase with your OpenAI key. Free forever; the Elastic License keeps this path open.

$ npm install -g oh-brain
$ oh migrate # paste ~/.oh/schema.sql into your Supabase SQL editor, once
$ oh init # name + Supabase URL/secret key + OpenAI key
$ oh backfill
copied ✓ source & docs on GitHub ↗

Whichever you pick: restart Claude Code and Codex, then try it — "ask what I was working on last week". On hosted or self-host, teammates join with your invite code. Stuck? email us, a human answers.

Rather not run commands yourself? Each option above has a copy a setup prompt button — paste it into your agent (Claude Code, Codex, whatever you drive) and it does the install end to end.

Pricing

Free to remember. Pay to never forget.

Free

$0
up to 3 seats
  • 30 days of memory
  • Everything — ask, insights, brief, nudge
  • Cross-tool capture (Claude + Codex)
  • Secret scrubbing
Install now — open beta

Team

$15 /seat/mo
$12 annual · unlimited seats
  • Memory that never expires
  • Full history backfill
  • Everything in Free
  • Priority support
Free during the beta — install now

Enterprise

let's talk
when you're ready
  • Custom retention & residency
  • SSO, audit, visibility policy
  • Self-host / deploy in your cloud
  • Fully-offline local mode — nothing leaves the machine
Talk to us

During the open beta everything is free — hosted, no keys, no card. Paid tiers arrive when the beta ends. The cap will be memory, not features — everything works on Free and ages out after 30 days. The day an answer you needed has expired, you'll know exactly what you're paying for. Self-hosting stays free forever.

Six months from now, someone will look at your code and ask why.
Oh will know.