.🔥-🔥. [O O] context 31% /|───|\ /compact me! o o
Context too big?
Past 25% context, its head catches fire. It paces, panics and asks you to /compact.
A little robot lives above your Claude Code prompt. It walks, dances and goes fishing while Claude works.
macOS, Linux and Windows. No daemon, no network, nothing else to install.
/plugin marketplace add egor-xyz/robot/plugin install robot@robot/robotHide or show the robot. It stays that way.
/robot statusHide or show the status line.
/robot changesHide or show the PR and files line.
/robot playThe robot plays the slot machine.
/robot diceThe robot becomes a die, rolls to the middle, and lands on 1 to 6.
/robot coinThe robot flips a coin. Yes or no.
/robot animate ufoThe robot plays any animation by name. Leave the name out to see the list.
/robot filesSee the changed files and their diffs.
/robot agentsSee every running subagent in a panel.
/robot calmA slower robot with only its quiet acts. Run it again to turn it off. Play, dice, coin and animate still work.
/plugin → robot → ConfigureTurn the fire off, or set when it starts.
/plugin marketplace update robotGet the newest robot. It reloads by itself.
.🔥-🔥. [O O] context 31% /|───|\ /compact me! o o
Past 25% context, its head catches fire. It paces, panics and asks you to /compact.
🧊·.-----.🧊 [o o] b-b-brr… */|───|\· cache frozen! 🧊 o o 🧊
After a break, the prompt cache expires and your next message costs more. The robot freezes blue in ice, and the status line shows ❄ cache cold · 117k.
┌───────┐ │ robot │ │ ↑ ↑ ↑ │ └───────┘
Robots and WALL-Es ride a factory line into boxes, under the spinner's "Compacting" text, until it ends. Arrows squeeze the ctx percent in the status line.
(o)(o) .-----. =[##]= [o o] (oooo) /|───|\
A WALL-E friend rolls in for each agent. Past three, a +N. Open an agent's transcript and the robot steps aside.
git commit ✓
git push ↑
It cheers for 3 seconds. Its friends hop too.
? Which one ❯ 1. This one 2. That one
It steps aside. It never blocks your answer.
🛸 .-----. / \ [O O] 🐄 /|───|\
It plays: 25+ hand-drawn acts, like a UFO taking a cow from a random gap in the woods, or a caped hero zapping targets with eye lasers.
When Claude is busy, the robot plays. Here are some of its acts, as they look above your prompt. Each one has its own colour.
.-----. [o o] /|───|\ o o
.-----.\o [o o] |───| o o
.-----. [- _ -] /|───|\ o o
.-----. [o o] /|─u─|\ o o
.-----. [O O] |───| ' '
.-----. 🌙 [- - O] ==o /|───|\ | o o / \
.-----. 🏀 [⌐ ⌐] --|_| /|───|─ | o o |
.-----. [o o] · /|───|──o o o 💥
.-----. 🐟 [^ ^]──/✨ /|───| o o ~~~~~
.-----. [- -] ~ /|───|─☕ o o
.-----. [o o] /|───|─o o o 🌱
.-----. 🎈 [o o] / /|───|─o o o
.-----. [o o] ______ /|───|\ |: : :| o o | ⚽ |
.-----.
🎵 [o o]
🎤─|───|\
o o.-----.\o [O O] ✨ |───| 📸 o o /|
🛸 .-----.
/ \ [O O]
🐄 /|───|\
o o/\ /\ .-----. [o o]
.-----. (o)(o) (-)(-) (O)(o) [o o] =[##]= =[##]= =[##]= /|───|\ +2 (oooo) (oooo) (oooo) o o
When an agent starts. Their wheels pulse.
They blink, look around and stretch up.
Context on fire? Their eyes go wide.
They roll in from the right and wait in fixed slots. Now and then they all shuffle a cell together.
Now and then the robot walks over to the nearest friend. Both raise a hand, slap with a spark, and all the friends hop.
Rarely, the friends creep toward the robot. It frowns, turns into an excavator part by part, pushes them home and pops back up.
More agents? A +1, +2… shows them.
The robot draws it. It replaces nothing: Claude Code's own hint line stays right under it.
all calmAcme Team | Opus 5.5 [high] | my-app | feat/login | 7d 25% (2d) | 5h 15% (4h) | $21.97 | ctx 12%needs attentionAcme Team | Opus 5.5 [high] | my-app | feat/login | 7d 62% (1d) | 5h 85% (1h) | $134.50 | ctx 31%cache coldAcme Team | Opus 5.5 [high] | my-app | feat/login | 7d 25% (2d) | 5h 15% (4h) | $21.97 | ctx 12% | ❄ cache cold · 117kwith subagentsAcme Team | Opus 5.5 [high] | my-app | feat/login | 7d 25% (2d) | 5h 15% (4h) | $21.97 | ctx 12% ↳ Find the login form | Explore | Haiku 5.5 [low] | 16k tok | 0:06 ↳ Review the diff | tech-lead | Opus 5.5 [high] | 42k tok | 1:12changed filesAcme Team | Opus 5.5 [high] | my-app | feat/login | 7d 25% (2d) | 5h 15% (4h) | $21.97 | ctx 12% 5 files changed | +249 | -24
Account, model and effort, project folder, git branch, 7d and 5h limits with time left until reset, session cost, context %. A worktree folder named like its branch shows once, as the branch.
Opus orange, Sonnet blue, Haiku green, Fable pink. Project folder teal, branch blue.
low and medium stay grey, high and xhigh yellow, max red.
Limits turn yellow at 50% and red at 80%. Cost turns yellow above $100. ctx turns red at the "Fire at" setting (default 25%). The exact shades come from your Claude Code theme: dark, light, color-blind or your terminal's own colors.
When the branch changes, or after a git commit or push, a bright band sweeps across the branch name for 3 seconds: feat/login.
Each running subagent gets a ↳ line: task, type, model and effort, tokens and time. Up to 3 show, then +N more. After a plugin reload, running agents get their lines back.
Open a subagent from the tasks list and the status line shows that agent's model, effort, tokens and time in place of the session's.
One line under the status line counts the files git would commit. With a PR open, it counts all the PR's files. Click it, or run /robot files: a panel lists them.
the line14 files changed | +249 | -94the panelPR #42 · 14 files changed Not committed · 2 SECURITY.md +1 M notes.txt +1 A In PR · 12 register.tsx claude-mod +206 -22 M old-panel.ts claude-mod -48 D
With a PR open (found with gh), the files come in two groups: not committed yet, and already in the PR. The panel title links to the PR in the browser.
Open a file to see its diff, in color. ↗ open opens the file in its default app. ← files goes back.
Type in the search box to find a file. ↓ walks the files, Enter opens one. With the mouse, click once to select, click again to open.
The panel lists hundreds of files. The file under the mouse shimmers, and so does the line. Esc or Close closes it.
Claude ends its turn with a question for you? The robot dances and says "need a human" in a comic speech bubble. It goes away when you send your next message.
After a break the prompt cache goes cold. Ice cubes gather around the robot, it turns blue and says "b-b-brr… cache frozen!", and the status line shows ❄ cache cold · 117k: the context your next message re-reads at full price.
The spinner shows a robot word each turn, like "Beaming…" or "Recharging…".
In Claude Code, type /plugin, open Installed, pick robot, choose Configure. Change a value and save. It applies at once. /robot, /robot status, /robot changes and /robot calm flip the Robot, Status line, PR and files line and Calm settings (each run flips one), and they stay that way.
| Setting | Default | What it does |
|---|---|---|
| Robot | true | false hides the robot above the prompt. Each /robot flips it. |
| Calm | false | A calmer robot: half speed, only its quiet acts, no git cheer, factory line or branch wave. Each /robot calm flips it. |
| Status line | true | false hides the status line under the prompt. Each /robot status flips it. |
| Context on fire | true | false turns the burning-head act off. |
| Fire at (% context) | 25 | Context % where the head catches fire and ctx turns red. |
| Cache cold | true | false turns the ice cubes and the status line's ❄ cache cold part off. |
| Cache TTL | 1h | How long the prompt cache lives: 1h, 5m, or auto (5m until a chat shows a 1-hour cache). |
| Compacting factory line | true | false turns the factory line during /compact off. |
| Git cheer | true | false stops the ✅ / 🚀 on commit and push. |
| Subagent friends | true | false hides the WALL-E friends. |
| Limits shown | both | Which limits the status line shows: both, 5h or 7d. |
| Limits from (% used) | 0 | A limit shows only from this %; 0 shows it always. |
| Needs you | true | false stops the "need a human" bubble. |
| Robot spinner words | true | false keeps Claude Code's own spinner words. |
| Branch wave | true | A bright band shimmers across the branch name for 3 seconds when the branch changes, and after a git commit or push. false keeps it still. |
| Subagent lines | true | One line for each running subagent under the status line: task, type, model, tokens and time. false hides them. |
| PR and files line | true | One line under the status line: how many files git would commit (with a PR open, all the PR's files, with the lines added and removed), and the open PR's checks, conflicts, unresolved review threads and auto-merge. A toast says when something new needs you. Click it, or run /robot files, for the list. Uses gh. Each /robot changes flips it. false hides the line and the toast. |
| Update toast | true | A toast when a new robot version is out, with the commands to update. Checks GitHub every 6 hours at most. false turns it off. |
| Reset all settings to default | false | Set to true and save: every setting goes back to its default, and this switch goes back to false. |
A screensaver in the spirit of cmatrix and sl, with a slot machine inside. It needs zsh.
curl -fsSL https://raw.githubusercontent.com/egor-xyz/robot/main/install.sh | bashrobot/robot play).