Show HN: Claudoro, Pomodoro timer embedded in the Claude Code statusline (github.com)
Its loosely based on a project I did a few years ago "pymodoro".
It's built on Node, zero runtime dependencies, MIT license:
- Composes with your existing status line (model/context/git) and backs up settings before touching them.
- Zero API tokens: the timer is a local CLI that Claude Code calls to paint the line, no model in the loop. The render path reads one small state file per tick.
- The alarm is decoupled: a detached one-shot that fires even if the status line is hidden or every session is closed, and exactly one alarm fires across N sessions.
- Guards the classic "forgot to stop it" inflation: a block left running unattended is credited up to planned time plus a short grace, flagged abandoned, with the true span kept.
- Local-first: append-only JSONL under your XDG state dir, aggregates derived on read. No network, no telemetry.
You can drive it from inside Claude Code (/pomo) or straight from a terminal (pomo).
Write-up: https://benemson.com/blog/agents/claudoro-pomodoro-timer-cla...
38 comments
[ 2.6 ms ] story [ 48.9 ms ] threadhttps://github.com/olimorris/tmux-pomodoro-plus
https://github.com/mkaz/pi-modoro
It's a long road to recovery. I'm 5 months in and still in a lot of pain, but it does (slowly) get better. Hope you're spirits stay up!
It’s only if you want to customise it. Also CC will do it for you. It’s very agent friendly
https://github.com/Hadlock/cscope/
It's not amazing code but it's tooling that works for me.
Though, if you're following Cal Newport-ian rules, watching over multiple agents doing their work is no longer a 25 minute "deep work" Pomodoro, and god knows Newport has been complaining about it [1]
[1]: https://calnewport.com/avoiding-digital-productivity-traps/#...
The other high failure rate things is opus correctly predicting where endpoints will end up (stacked endpoints), when you have an ingress with a main monorepo but it's endpoints are the outputs (not just json regurgitated/passed forward).
I figured by having the clanker write it's own documentation about what it did, and then the next time saying "go look at invest doc 2026-06-29-TICKT_1234.md, do that again, but here's what we're doing differently and why..." and it would immediately grep the situation, but it doesn't. As alluded to earlier I've been exploring other models since the corporate blessed one is struggling to keep up.
Curious to see what you release.
Ideally you are only notified when the main agent stops, main agent has a question, or a subagent has a question.
I tried to do that here but I think every month or two it needs updating: https://github.com/danneu/danterm/blob/b5e50a63ffc21f3742181...
Then that script is called in each hook:
Maybe someone has found a better solution.As long as those native (Objective-C / Swift) menu bar apps are ported as native (Go, Rust, Zig, etc.) binaries for Agent CLI(s) like Claude Code or Codex CLI to use, instead of JavaScript, as this project is written, then the broader community of Agent CLI users will be fine. Otherwise, it will be another nightmare induced by JavaScript.