tablo - A tiny cat that watches your AI coding agents for you
by•
You kick off an AI agent, switch tabs, and forget it's stuck or 90% through its context window. tablo fixes that, a tiny cat in your screen corner watching every Claude Code & Codex session: live context meters, tool approvals, and a nudge the second one needs you. Unlike usage dashboards, tablo tracks the conversation context filling up in real time, per session, across both tools — in a widget that stays out of your way. cozy by default. 🐱

Replies
@m1tul5 It looks insane and funny—especially that cat. Btw, congratulations!
@dmitrii_volosatov
Thank you so much for the feedback !! :)
love the cat mascot idea, super cozy vibe honestly. one thing i'd want though is a little sound or subtle notification when a session is about to hit the limit so i can wrap things up before it gets cut off mid task. right now i think it just nudges you right when it's already too late, like a few seconds before the cutoff. maybe a heads up at like 75% would be way more useful so you can actually plan the handoff
@subscriptionb
Thank you for the feedback !! Yes, these issues are already being tracked and will be resolved in the upcoming version : )
@subscriptionb
Please do check out the new update, I have added a notification nudges as requested.
@etiennegarcia
Glad to hear that ! Keep looking forward to the amazing updates : )
I feel like coding agents are becoming something you supervise instead of actively use. I'm curious if you've thought about adding simple stats, like which agent spends the most time waiting for approvals or burns through context the fastest.
@reda_roqai_chaoui
Thank you for the review !
Yes, I have thought about adding statistics while also keeping the application lightweight, it's primarily a widget so I have to make sure it does not eat up your machine's resources : )
Pazi
A tiny cat watching my coding agents is genuinely delightful — and so useful. Congrats on the launch! 🚀
@zvonimir_sabljic1
Isn't it ! : ) Thank you for the support !
This hits close to home. I run long Claude Code sessions for a data pipeline and losing track of a session mid-context-window is exactly the failure mode you're describing. The mood states (sleeping/running/alarmed) are a nice touch, way more glanceable than a numeric meter. Following to see how the Windows/Linux support shakes out.
@madareyou
Thank you so much ! Yes, windows and linux are almost entirely supported !
The context-window meter per session is exactly what I kept wishing existed. I always notice too late that an agent quietly compacted. Does the widget remember your session layout between restarts, like which terminal panes map to which agent, or does it rediscover them fresh every time?
@leo404
Hey ! Glad you liked context window per session :)
As for session layout (which terminal pane maps to which agent), is something which is stored by your system at the start of a session. Therefore, it is extremely hard to track if you change your layout.
If you use tmux, on the other hand, tablo is smartly able to remember you exact session and pane.
@leo404 Also pane to session mapping does not survive a restart because the session mapping information is extracted using an internal hook. If you perform an action AFTER the restart, the session mapping is restored !
The per-session context meter is the right primitive. Usage dashboards tell you what you spent; this tells you what's about to break, and those are genuinely different problems.
One thing I'd want once several are running: sessions aren't equally valuable. I route deliberately — cheaper models doing gathering and research, expensive ones doing judgement and synthesis. A gather session hitting 90% is fine, it's disposable, I'll rerun it. The synthesis session hitting 90% is the expensive one, because its context is the work product, and an auto-compact there quietly loses reasoning I can't get back.
A flat meter treats those identically, so the cat gets alarmed about the wrong one. Some way to mark a session as the one that matters — pin it, priority tag, whatever — would make the alarm mean something. It'd also make subscriptionbox's 75% heads-up land harder, since the early warning is really only worth having on sessions where planning a handoff is worth the interruption.
Leopold's question is the other one I'd want answered — whether pane-to-session mapping survives a restart is the difference between a widget I leave open and one I re-set-up every morning.
The mood states are a good call, by the way. Glanceable beats precise for anything living in peripheral vision.
@rabnoor_s
Thank you so much for the detailed feedback !!
Will make sure to implement these in the future updates !
As for pane-to-session mapping survives a restart: The pane to session mapping does not survive a restart because it is extracted using a hook which is fired when you perform an action. Therefore, once you send a message, or the agent performs an action, the mapping will be restored.
Also, the widget is extremely lightweight therefore it won't tax your machine if you don't shut it down :)
@m1tul5 That is a cleaner answer than I expected, thank you.
One edge worth turning over though. If the mapping is restored by a hook that fires on action, then right after a restart the sessions you cannot locate are precisely the stuck ones. A hung session is by definition not firing actions, so it never re-announces itself. Which means the mapping is missing in exactly the case the product exists to catch.
Probably rare enough not to block anything. But if you ever want a cheap fix, writing the pane mapping to disk when you capture it and treating it as a hint on restart would cover it with no runtime cost. Worst case the hint is stale and the next real action corrects it.
Good to hear on the footprint too. That was the other thing that would have stopped me leaving it open all day.
@rabnoor_s
Cheers !
I will wire up a fallback by writing the mapping to the disk
Also, tablo is completely open source, if you feel like you want to help solve a problem, please feel free to fork the repo and contribute your changes :)
@m1tul5 Writing it to disk is the right call, and faster than I expected you to move on it.
On the fork offer, yes, but let me earn it. Give me a week with tablo running against my own sessions first. Contributing a fix to something I have not properly used would be worse than not contributing.
What I actually want to find out is whether the priority idea survives contact. It is easy to want a feature on launch day. Harder to still want it on Thursday when you have stopped noticing the widget. If I stop caring which session is which after two days, that tells you more than my original comment did.
Either way I will come back and tell you which one it was.
The moods are the risky part. A tool approval that's blocking right now and a context window that fills in ten minutes are different urgencies, and one alarmed cat flattens them into the same glance. With four sessions running I'd want it to only wake up for the blocking one, otherwise it's alarmed most of the day and I stop seeing it.
@asadmalik901
Yes, I think the shocked mood can be confusing at times, that's why I also gave the counts around the cat (green counts are waiting sessions, yellow are running and red are either requesting input or going beyond healthy context). Will roll out a better mood logic in the future updates ! Stay tuned :)
@m1tul5 The counts help, but red doing double duty is the bit I'd change. Needs my input and burning through context want completely different reactions from me, one is drop everything and the other is fine for another ten minutes, so folding them into one colour puts me back to opening the panel to find out which. Give the blocking one its own state and the cat can go back to being ignorable.
@asadmalik901
That is a noteworthy idea !! Will surely work on this :)
@m1tul5 One thing if you do build it: only let the blocked state move. Peripheral vision catches motion long before it catches colour, so if the context meter animates too I'll tune both out inside a day. Static red for context pressure, a moving cat only when it actually needs me, and I'd never open the panel just to find out which.
building it as a Tauri widget instead of an Electron dashboard is the right call for something meant to live in the corner all day. what's idle memory actually look like with 3-4 sessions being watched at once?
@irahimiam
It is almost negligible because tauri works with native Rust backend which is already known for it's superb memory optimization. If you want numbers, right now I am tracking about 7 sessions and the memory usage is 45 MBs :)