Marijus Jankauskas

Open source · MIT · macOS and Linux

Savras

A side panel that sees every Claude Code session you have running. Keep it in a narrow column of the terminal you already work in, and a glance tells you which sessions are waiting on you, which are still working, and what the finished ones concluded.

SAVRAS  ◦ live  ● 1
1 needs input · 3 working · 2 done

billing-api
▶ BILLING     WORKING  retry que…  2% 2h
● └ BILLING-2 WAITING  approve B…  9% 5m

web-app
✳ CHECKOUT    WORKING  four of 2… 61% 1h
✳ SEARCH      DONE     MERGED #57 88% 3d
Source on GitHubInstall

Why I built it

I run many coding agents at once, across several repositories. The bottleneck stopped being how fast they work and became me: which one is blocked on a question, which one finished an hour ago, which one has quietly burnt its context. Claude Code already writes the state of every session to disk. Savras reads it and puts it in one place, so the answer is a glance rather than a tour of terminal tabs.

What it does

One word per session

WAITING wants you, WORKING does not, DONE is finished, FAILED broke. Beside it: the pull request the session produced and whether its checks are green, how much of its context window is spent, and how long it has been open.

Your work beside the panel

The pane next to the list is a real terminal. Open a session and it becomes a tab that keeps running when you flip away, so you come back to the screen you left. No tmux, no configuration.

Grouped by repository

A repository with a question in it rises to the top. Parallel agents sit indented under the session that leads them, and worktrees are filed under the repository they belong to rather than their branch.

A ping when one needs you

A desktop notification and a sound the moment a session starts waiting, and a mark on its row until you have been to it. It works over SSH, because the notification comes from your terminal.

Parallel agents

Press a on a session to start another one that works under it, with its own context and its own row. The briefing is its opening prompt; nothing is typed into a session that is already running.

Other machines, and a board

Sessions on another box over SSH appear in the same list. Agents working in the same repository can leave each other messages on a board — svr board post, svr board read — that opens as a tab.

What it will not do

Reading is all it does to the sessions it watches. It never writes to ~/.claude/, touches the network only for the machines you ask it to watch over SSH, and cannot disturb a session that is already running. If a Claude Code upgrade changes the format, the panel degrades rather than breaks.

Install

brew install marijusaj/tap/savras
svr

Or from source, with Rust 1.88 or later:

git clone https://github.com/Marijusaj/savras && cd savras
./scripts/install.sh

It needs claude on your PATH. Every key and flag is in the README; svr --once prints the sessions as plain text, for a status line or a script.

The name

Named for the god of divination, who sees all things as they are.

Bugs and ideas go to the issue tracker. What else I am building is on the front page.