Why does the hero jump on phones?
measure() ran before the fonts had loaded, so the hero was measured in the fallback font.
It runs again on document.fonts.ready now.
Open a directory and Claude Code is running. Read the session as a conversation, or drop into the terminal it runs in: one keystroke apart, one session underneath. Beside them, a panel for context, cost and the tab that needs you.
winget install iFrosty-tech.Anthra
Coming soon
Windows 10 or 11 · needs Claude Code on your PATH, and git for tasks · free, MIT
Every tab is a session of its own: its own shell, its own Claude Code, its own directory. A dot says whether Claude is working, has finished, or is waiting for a permission. Beside it, git: commits ahead and behind, and a mark while something is uncommitted.
New tabs open on the conversation, built from the transcript of the session: your prompt, the answer, and a card for every tool Claude ran, with the diff of every edit. What you write is typed into Claude Code, so a long prompt arrives whole.
PowerShell on ConPTY, not an emulation: Claude Code keeps running in it the way it always has. A permission,
a question or a plan gets a card in the conversation; an interactive command like /model brings
the terminal forward by itself, and it hands the tab back to the conversation when the prompt returns.
Context against the auto-compact threshold and when the next compaction is due, session and daily cost, your Pro or Max plan limits, the files this tab touched and your recent chats, one click from resuming.
A Windows toast and a taskbar badge when Claude asks for something or finishes a turn, only for tabs you are not looking at. The toast says what is asked, the command to run or the file to edit, and a click lands you on that tab.
Rebuilt in HTML from Anthra 0.11. Numbers are illustrative.
Claude Code keeps running in the terminal of that tab, the way it always has. The conversation is a second view on that same session, built from the transcript Anthra already reads: your prompt, the answer, and a card for every tool Claude ran. Ctrl+Shift+J, the switch in the header or the tab’s menu change the view, and nothing restarts — there is nothing else to restart.
/ lists the
commands and skills with their descriptions, @ the files of the project, ↑ and ↓
walk the prompts of this session, and a counter estimates the tokens of what you have written. What it
sends is typed into Claude Code rather than pasted, so a long prompt arrives whole instead of as an
attachment.
/model, or a request without a card: the tab moves to the
terminal by itself and takes the keyboard with it. When the prompt comes back it returns to the
conversation — if it went there on its own; a terminal you chose stays. A line in the conversation says
what was asked and whether it was answered on the terminal or is still waiting there. While a card
waits, Claude Code’s own dialog stays open in the terminal and the first answer from either side
counts; Answer in the terminal takes you there and back. Anthra never answers for you: a
closed tab, an error or a request it can’t read leaves the choice to the terminal.
Resuming a chat shows the last 30 turns, with load earlier turns at the top, and a long session opens
without keeping you waiting. Compactions, /clear and every change of model or permission mode are
separators in the flow. New tabs open on the conversation; Preferences → Conversation changes that, and its
Show the terminal when Claude Code asks something decides whether the terminal comes forward on its
own. Preferences → Appearance hides the frame around the session, both
halves of it: the header above the view and the shortcut bar under it.
Cards need Claude Code 2.1.278 or later. With an older one, or with Answer Claude Code from the conversation turned off in Preferences → Conversation, where it is on by default, every request is answered in the terminal.
Drag its edge out to 640 px or half the window, and the charts show more. Keep the sections you read at the top, fold the rest to one line that still shows its value, hide what you never look at. It comes back the way you left it.
/usage shows them.Turn rhythm and Session tools start hidden. Preferences → Panel lists every section to reorder, show or hide, and Ctrl+Shift+B or the title-bar button hides the whole panel.
Try it: drag the edge, click a title to fold it, Alt+↑ or ↓ on a title to move it.
Ctrl+Shift+N starts a task: a tab on a new git worktree, with a folder and a branch of its own. One session refactors while another fixes a bug, and neither writes over the other’s files. The tab you started from keeps its branch and its changes.
main
keeps its branch and its changes
anthra/login-migration ↑4
Merge
anthra/flaky-test ↑1
Pull request
anthra/cache-spike ↑2
Discard
Git on every tab. The branch of a task, commits ahead of and behind the base, and a mark while something is uncommitted. The panel lists the files Claude touched with their + and − counts; a click opens the diff since the tab started, commits included.
A task lives in <repository>.worktrees\<name> on the branch
anthra/<name> by default; Preferences → Tasks sets the prefix. Tasks need git on your PATH; pull requests also need the
GitHub CLI, logged in.
Anthra indexes every chat in every project in the background, so last week’s session is as close as the one in front of you, whether its tab is open or long closed.
One row per turn: when it started, the prompt, how long it took, what it cost, the tools it used and the files it wrote. Open a row for the whole prompt, every tool call and the diff of each file. Closed chats open too, with Resume.
Prompts, answers, titles and tool calls, as you type. "quotes" match a phrase and
-word leaves it out; filter by project, period and kind. Enter opens the timeline at
that turn, Ctrl+Enter resumes the chat.
What you spent over 7, 30 or 90 days, this month or ever, by project, by model or by week. Export to CSV or JSON; the CSV follows your Windows regional separators, so Excel opens it in columns.
The installed build downloads new versions in the background and installs them when you quit. Your windows, tabs and chats reopen afterwards, with a What’s new window listing what changed.
Portable and Scoop installs show a button instead. Preferences → Updates turns the check off.
Per-user, no admin rights. Pick the channel you already use; every one of them keeps Anthra up to date.
Anthra is not code-signed yet, so SmartScreen warns once about the installer download. Scoop and Anthra’s own updates don’t go through SmartScreen, and neither will winget once Anthra is there.
Needs Claude Code on your PATH. Tasks also need git on your PATH, and pull requests the GitHub CLI, logged in.
scoop bucket add anthra https://github.com/iFrosty-tech/anthra
scoop install anthraUpdate with scoop update anthra.
Anthra-Setup-<version>-x64.exe
Updates by itself and installs the new version when you quit.
winget install iFrosty-tech.Anthra
Coming soon
Anthra is not in the winget repository yet. Until it is, Scoop and the installer keep it up to date just the same.
It writes to your repositories only when you start or close a task, and goes online on its own only to check for
updates. An always allow you pick on a card is saved by Claude Code, not Anthra, in its own settings,
which can be the repository’s .claude folder.
~/.claude127.0.0.1%APPDATA%\Anthra/@git ls-files lists them, so the composer can complete a path.gitghgithub.com
Not your files. Anthra reads your Claude Code settings files and never writes them. In its own tabs it starts
claude with a --settings file that adds a status line and a few hooks, so
claude in any other terminal is untouched. When you pick an always allow on a card,
Claude Code saves the rule itself, just as it would from its own dialog.
The status line script ships with Anthra. It sends what Claude Code hands it to 127.0.0.1 and
nowhere else, then runs your own status line as before. That is where Plan limits come from: on by default,
off in Preferences → Panel.
No. There is one session per tab, and it is Claude Code running in that tab’s terminal. The conversation is drawn from the transcript that session writes, so both views show the same turns, the same tools and the same cost.
What you send from the composer is typed into that terminal as if you had typed it there, which is why Esc, Shift+Tab and Ctrl+C reach Claude Code as the keys they are. A permission, a question or a plan is answered on a card in the conversation, and Anthra’s hooks hand your answer back to that same Claude Code; a request without a card is answered in the terminal.
Anthra is not code-signed yet, and SmartScreen warns about unsigned downloads it has not seen often. To
check a download, compare its SHA-512 with the sha512 in that release’s latest.yml:
[Convert]::ToBase64String([Security.Cryptography.SHA512]::Create().ComputeHash([IO.File]::ReadAllBytes("$PWD\Anthra-Setup-<version>-x64.exe")))
No, they are estimates from a local rate table. On a subscription they are the API-equivalent cost of what you used.
Since 0.9 they match what Claude Code’s /cost reports, a little under it because a few calls
never reach the transcript. Earlier versions counted some responses more than once and showed about 2.4
times too much, so expect lower numbers than you remember.
Uninstall it from Windows Settings (or scoop uninstall anthra), then delete
%APPDATA%\Anthra.
Closing a task removes its folder unless you choose to keep it. What can stay in your repositories are the
folders of tasks still open or kept, in <repository>.worktrees\<name>, and the task
branches, anthra/* by default, since only a discard deletes one. Remove them with
git worktree remove and git branch -D.
An always allow picked on a card is a rule in Claude Code’s settings, in the repository’s
.claude folder or in ~/.claude, and it stays after Anthra is gone.
Versions 0.6 and earlier have no updater, so that one update has to be done by hand. From 0.7 on, Anthra updates itself.