Problem
I wanted to see when a coding agent is busy without keeping its terminal or a browser tab in front.
A small desktop companion that shows what Claude Code is doing.
A native macOS desktop companion for Claude Code: a pixel crab on a floating panel that reacts to what your agent sessions are doing, plus a menu bar item with your 5-hour and weekly usage bars, every live session, and recent projects. Written in Swift against AppKit and Core Animation. No Electron, no WebView.
~ $ gh repo view jx-grxf/CCrab
CCrab A small desktop companion that shows what Claude Code is doing.
status Experimental
stack Swift · AppKit · Core Animation
platform macOS 14+
repo github.com/jx-grxf/CCrab
~ $ git clone https://github.com/jx-grxf/CCrab.git && cd CCrab
~ $ I wanted to see when a coding agent is busy without keeping its terminal or a browser tab in front.
Every animation is a Core Animation keyframe over layer contents, so the render server owns the timeline and the process gets no per-frame wakeups. The resting pose is parsed from vector rects into CALayers instead of decoded bitmaps, and animations are removed, not paused, the moment the panel is occluded, the display sleeps, or the screen locks.
git clone https://github.com/jx-grxf/CCrab.git && cd CCrab