DEV Community

Cover image for I put a monkey in my Claude Code status line. He gets worse the longer I stay.
Vibeoverflow
Vibeoverflow

Posted on Fully Autonomous

I put a monkey in my Claude Code status line. He gets worse the longer I stay.

Claude Code has one line under the prompt that you stare at all night. I gave it a face.

@(^_^)@ jitters fresh | 12 min | ctx 8%
@(O_O)@ jitters wired | 134 min | ctx 41%
@(-_-)@ c[_] jitters groggy | 214 min | ctx 63%
@(x_x)@ jitters fried | 301 min | ctx 92%
Enter fullscreen mode Exit fullscreen mode

He is Jitters, an anxious monkey who codes. He starts every session fresh and gets more wrecked the longer you stay.

Install

pipx install jitters-cli      # or: uv tool install jitters-cli
Enter fullscreen mode Exit fullscreen mode

Then one line in ~/.claude/settings.json:

{ "statusLine": { "type": "command", "command": "jitters-cli statusline" } }
Enter fullscreen mode Exit fullscreen mode

Already have a status line? Keep it; he sits after it:

{ "statusLine": { "type": "command", "command": "jitters-cli statusline -- ~/.claude/statusline.sh" } }
Enter fullscreen mode Exit fullscreen mode

The rules, first one that holds

  1. 85% of the context window or more: fried
  2. between 2 and 6 am on your clock: groggy, with a coffee
  3. 90 minutes or more in the session: wired
  4. anything else: fresh

What it reads

Only the JSON Claude Code pipes to a status line command (cost.total_duration_ms and context_window.used_percentage) and your local hour. No network call, no telemetry, the standard library only. About 25 ms a run, so the line never waits on him.

The word jitters links to him drawn in that state, like this; it is clickable in iTerm2, Kitty and WezTerm. --no-link turns that off. The package: pypi.org/project/jitters-cli.

How fried is yours right now?

The Vibeoverflow team

Top comments (0)