Early stageSolo founderUsed daily by its founder

An operations layer for people who run many Claude Code sessions at once.

sshgjr routes requests between role sessions, relays approvals with a risk card, pings you the moment a session is stuck waiting for you, and measures where tokens are wasted. Its founder built it for their own daily work and runs it every day.

The problem

One Claude Code session is easy. Ten is an operations job.

Once several sessions run in parallel, the work stops being about prompts and becomes about attention and tokens.

  • Approvals scatter.Permission and question prompts pop up in many terminals, each asking you to judge a command with no context.
  • Blocked sessions go unnoticed.A session waiting on your answer sits idle until you happen to look at it.
  • The cache has a clock.Claude Code's prompt cache lasts 1 hour. Waking a large session after it expired rewrites its whole context.
  • Waste is invisible.Sessions that start without ever receiving a request still spend tokens, and nothing tells you.
How it works

Role sessions, and the plumbing around them.

sshgjr is a set of long-running Claude Code sessions with defined roles, plus small tools that keep them useful. Everything below is in daily use.

  1. Youtalk to the secretariat
  2. Secretariatroutes the request to a desk
  3. Front deskwrites a spec, hands it to a worker
  4. Workerchanges code in a fresh git worktree; never commits or pushes
  5. Desk reviewreads the diff, runs the tests itself, then merges

01 Role sessions

  • Secretariat talks with you and routes work.
  • Front desks take requests, write specs, delegate code changes to workers in fresh git worktrees, then review and merge.
  • Cleaner replaces idle or cold sessions.
  • Curator runs scheduled maintenance.

Workers never commit or push. The desk reads the diff and runs the tests itself before merging — a worker's “tests pass” is not accepted as a fact.

02 Approval relay

Permission and question prompts from many sessions are surfaced together with a risk card. You confirm once, and the tool presses or types the confirmed answer for you. Low-risk approvals can be delegated.

The first demo below is a simplified version of that risk card.

03 Owner-stall ping

When a session is blocked waiting for your input, a Telegram message goes out right away.

04 Cache-aware session lifecycle

The prompt cache lasts 1 hour, and the tooling plans around that:

  • big sessions are not woken after their cache expired;
  • cold, empty sessions are replaced instead of resumed;
  • “idle start turns” that spend tokens with no work are avoided.

Before a cold session is replaced, it writes a handoff note — what was asked, promises made, instructions not yet sent — so a fresh session continues from it.

05 Token-waste measurement

Scripts read only the usage numbers from session logs — never the conversation text — to find where tokens are wasted. The second demo below does the same thing in your browser.

06 Usage gates

Before starting workers, the desk checks the 5-hour and 7-day usage and limits how many run in parallel:

4workers
usage under 60%
2workers
usage 60–80%
0workers
usage 80%+
Numbers

Measured on real sessions, not estimated.

Every figure comes from the founder's own tooling running on the founder's own sessions.

2,059

automated tests passing (pytest, run on 2026-10-09)

62

recorded design decisions

788

commits since 2026-09-22 (private repository)

98.4%

prompt-cache hit rate of main sessions in a 48-hour study (2026-10-07)

21%

of main-session cache writes came from just 11 wake-ups of sessions idle for more than 60 minutes (same 48-hour study)

−42%

session-start instructions cut from 37.7 KB to 21.8 KB by replacing rules with tools

36%

of front-desk start-turn cost went to sessions that never received a request, across 52 measured role-session starts (2026-10-06 to 2026-10-09). An idle start turn costs about 170k input-equivalent tokens. The fix has shipped: sessions that never received a request are no longer replaced.

These are single-user measurements of one person's setup. They are not a benchmark, they are not customer data, and they say nothing about how another setup would behave.

Demos

Two small things you can run yourself.

Both demos run through this site's own backend. In live mode it sends your input to the Claude API; in demo mode (see the badge) it returns a fixed sample and nothing is sent to Anthropic. This site does not store or log what you enter; in live mode Anthropic processes it under its own privacy policy.

checking demo backend… Demo mode: fixed sample responses. Live mode uses the Claude API — model claude-haiku-5-5

1 · Approval risk card

Paste a shell command an AI coding agent wants to run. Claude returns a risk card — a simplified version of what the approval relay shows.

0 / 2000

2 · Session cost check

Pick a Claude Code transcript (.jsonl). Your browser reads only its token counters and timestamps, shows where cache writes happened, then asks Claude for recommendations.

Your transcript never leaves this browser. The file is parsed locally and only the usage numbers and timestamps are read — no message text is kept or sent. If you ask for advice, only the small block of aggregate numbers shown below is sent.
no file loaded

What is AI-generated here. The risk card and the recommendations are written by a language model (or, while the badge above says “demo mode”, they are fixed sample responses chosen by simple rules — not by a model). The numbers in the cost check are computed by plain code in your browser, not by AI. Model output can be wrong: do not use it as a security gate or as financial advice.

Limits apply to keep this free to run: a daily cap on live calls, a per-visitor limit, and a bot check. See the privacy note for exactly what is processed.

Built on Claude

Claude is the product, not a feature.

Every role in sshgjr is a Claude Code session. Remove Claude and there is nothing left to operate.

  • Front deskClaude Code session on Claude Opus — takes requests, writes specs, reviews and merges.
  • WorkersClaude Code sessions, Claude Sonnet by default — implement the change in a fresh git worktree.
  • Final reviewsClaude Fable via Claude Code.
  • Secretariat, cleaner, curatorClaude Code sessions with their own roles and instructions.
  • PlannedHandoff summaries through the Claude API. Today the handoff note is written by the Claude Code session itself (see 04 above); no demo covers it.
  • This site's demosIn live mode, the Claude API — model claude-haiku-5-5, chosen as the cheapest current model that handles short, schema-constrained tasks well.

sshgjr is an independent project. It is not affiliated with, endorsed by, or sponsored by Anthropic. “Claude” and “Claude Code” are Anthropic's names for its products.

Founded September 2026

Timeline.

Founder: Minjae Kang. Only dates that can be checked are listed.

  1. First code of the productThe first commit lands in a private repository.
  2. sshgjr.com registered, public site launchedThis site goes live on its own domain.
Status & early access

Early stage. Used every day by its founder.

  • Early stage
  • Solo founder — Minjae Kang
  • Used daily by the founder
  • Early access by email

There are no customers yet and no public release. If you run many Claude Code sessions and want to try it, write to:

[email protected]