Done is scattered everywhere
Seven tabs open, four agents working in the background. Finding which tab just finished should not be a scavenger hunt.
Tiremusu lives under the notch and watches your Claude Code and Codex sessions. See what each agent is doing, answer Allow or Deny, send a one-line reply — without leaving your editor.
‹ ⌘ All sessions
1 needs you
Auth refactor
tiremusu ⎇ auth-refactor · Reviewing
Billing page
shop ⎇ main · Done
GP-114 migrationCodex
api ⎇ db-migrate · Writing
Landing copyCodex · App
site ⎇ copy · Reasoning
Deps cleanup
shop ⎇ chore · Ended
Show 1 more
Seven tabs open, four agents working in the background. Finding which tab just finished should not be a scavenger hunt.
Going back to the terminal, finding the right tab, pressing the right key — every answer costs you your train of thought.
Tiremusu only watches and asks. It injects nothing into the agent, so the agent runs exactly as if Tiremusu were not there.
2 agents · 4 phases · 8 moods · 9 colors × 6 shapes · 3 Island states · 1 shortcut.
Newest on top, never reshuffled while open. Each row shows project ⎇ branch, status — Idle · Needs you · Done · Error · Ended — and a ⌘1–⌘9 badge. Ended sessions stay visible, dimmed.
Researching, Reasoning, Writing, Reviewing — derived from the active tool by rule, held steady for 1.2 s so fast tool chains never flicker. Each phase tab shows its share of real time this turn.
“Needs your go-ahead” with the tool name, a command summary and a live timer. ⌥A / ⌥D answers instantly. One request is answered at most once — ambiguity always fails open, never auto-allows. Claude Code only.
“Reply to continue…” sends a real user message and the agent starts a new turn. Suggestion chips (Continue, Run the tests…) fill the field, never send. Undeliverable text is kept, with Copy & Jump. Claude Code only.
↗ Jump brings the session's terminal forward — Terminal, iTerm2, Ghostty, tmux — or opens the Codex chat via deep link. The only action that ever takes focus. The Island closes behind you.
One character in the Island's ear tells the collective state at a glance — 8 moods, tinted with the session's own color (9 colors × 6 shapes). Soft morphs, gentle breathing when idle; respects Reduce Motion.
Collapsed · Peek · Expanded — opens only downward
All sessions, newest on top, never reshuffled while open
project ⎇ branch with live git tracking, no git process spawned
Researching — reads, searches, read-only commands
Reasoning — working, no tool running
Writing — edits, patches, file-changing commands
Reviewing — tests, builds, lint, git diff, re-reads
Needs your go-ahead — tool name, command, live timer
⌥A / ⌥D — answered at most once, ambiguity fails open
~9.5 min to answer, then Answer in terminal + Jump
Reply to continue… — a real user message, new turn
Chips: Continue · Run the tests · Show me the diff
↗ Jump — Terminal, iTerm2, Ghostty, tmux, Codex deep link
8 moods: alert · worried · pleased · thinking · fine · curious · idle · asleep
‹ ⌘ ● ◎ ● › — All sessions + the hot set of the last 15 min
Tool calls ×count + 3m ago, last message, Tokens · Turn · Model
Needs you Glass on · Done Hero off · Error Basso off
Shows every file it will touch, backs up, removes only its own lines
No network · no keystrokes · p99 ≤ 5 ms per hook
…and one shortcut to rule it: ⌃⌥Space
Tiremusu reads Claude Code hooks and Codex session files on your Mac. Nothing is sent anywhere — there is no network connection at all.
Each session shows its phase — Researching, Reasoning, Writing, Reviewing — derived from the active tool. A small Face mirrors the mood of the room: alert, worried, pleased, thinking, fine, curious, idle, asleep.
When an agent needs you, the Island taps your shoulder. Allow or Deny with ⌥A / ⌥D, send a one-line reply, or Jump to the terminal. Nothing else ever steals focus.
A thin strip the width of the notch. A Face on the left, the priority session's mark on the right, colored dots for the rest. Always visible, never takes keyboard focus.
Slides down on hover (~150 ms) or by itself for 4 s when something needs you. Session name + status line. No focus taken — clicks pass through to the app below.
The full panel: rail strip, session list or single-session detail. Opens on click or ⌃⌥Space. On notch-less screens the same surface lives as a draggable Pill, centered on top.
Sound, per event: Needs you plays Glass (on by default). Done plays Hero and Error plays Basso (both off by default). Each can be toggled and previewed, volume defaults to 70%. Same event never repeats within 10 s; when the panel already shows the session, it stays silent.
Privacy & reliability
No connections except its own 127.0.0.1 socket. No account, no telemetry, no cloud sync.
It never edits your code, runs commands, or injects keystrokes into your terminal.
Every hook except Allow/Reply adds at most p99 5 ms. If Tiremusu is gone, crashed or frozen, agents behave exactly as before — the hook exits silently.
Late or repeated events never roll state back. Each permission is answered at most once; an answer from the terminal wins with “Already answered”.
Only identity colors, settings, seen-state and ended-session summaries (title, project/branch, model, tokens, tool counts, phase times — max 50). Message contents, code and commands are never written to disk.
No Dock icon, no space-hogging window. ≤ 0.05% average CPU idle, ≤ 60 MB memory. Face animations run on the render server, not your CPU.
Shortcuts
Remapping shortcuts is not available yet — the Shortcuts tab in Settings says Coming soon.
Pricing
Tiremusu
One-time purchase · Free updates for 1.x
$9.99
FAQ
Only to show them. Message contents, code and commands are kept in memory for display and never written to disk. The disk holds only identity colors, settings, seen-state and ended-session summaries (title, project/branch, model, tokens, tool counts, phase times — max 50 sessions).
No. The app makes no network connections; local communication is only its own 127.0.0.1 socket. No account, no telemetry, no cloud sync.
Every hook except Allow/Reply adds at most p99 5 ms. If Tiremusu is not running, crashed or removed, the hook exits silently and the agent behaves exactly as before.
No. Before writing anything it shows which file gets which lines and asks for approval. Setup is idempotent, never touches your other hooks, takes a backup, and uninstall removes only the lines Tiremusu added.
Yes for tracking, status, phases and Jump. Permission decisions and quick replies from the notch are Claude Code only for now — in Codex the card shows “Answer in Codex” + Jump. Codex hook setup is labeled experimental.
macOS only — built as a macOS menu-bar app (LSUIElement, no Dock icon). There are no Windows, Linux or iOS versions.
No. Tiremusu is a one-time purchase with free updates for the current major version. No account needed.