Visual overview of your Claude sessions

www.dylanfisher.com · 2026-07-31 · by Long Nguyen ·generic
A daemon that shows running Claude Code sessions on a DJTT Midi Fighter Twister: one encoder per session, press to focus that terminal tab. The page includes a browser simulator.

Visual overview of your Claude sessions

██████████ ██ ██████████ ██ ██ ████████ ██████████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██████████ ██ ██ ██ ██ ██████████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██████████ ██████████ ██ ██ ██████████ ████████ ██████████

██ ██ ██████████ ████████ ██████████ ████ ████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██████████ ████████ ██████████

██████████ ██ ██ ██████████ ██████████ ██████████ ██████████ ████████ ▄▄▄▄▄▄▄▄ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██████████ ██ ██████████ ████████ ██████████ ██ ██████████ ██ ██ ██ ██ ██ ██ █▀█▀▀█▀█ ██ ████ ████ ██████████ ██████████ ██ ██████████ ██ ██ ▀ ▀ ▀ ▀

Visual overview of your Claude sessions

A daemon that shows every running Claude Code session on a DJTT Midi Fighter Twister, one encoder per session. The color is the session's state, the LED ring is how long the current turn has run, and pressing an encoder brings that session's terminal tab to the front.

running scenarios automatically — interact to take over

scenarios

What the colors mean

Ten states, one color each. Hover a row to play that state alone. The colors, animation rates and ring rules below come from the same tables the daemon uses — `mft/config.py`, ported line for line.

Installing

THE HARDWARE DJ TechTools — Midi Fighter Twister → 16 RGB-lit rotary encoders with LED rings, 4 banks, USB class-compliant. The device this daemon drives. THE SOFTWARE github.com/dylanfisher/claude-midi-twister → Python 3.14, stdlib only except mido + python-rtmidi. The README is the design document.

install. it backs up your settings first and tags its own entries,

so --uninstall removes exactly what it added

$ python3 -m venv .venv && .venv/bin/pip install -r requirements.txt $ .venv/bin/python install_hooks.py --print # look at what it will add $ .venv/bin/python install_hooks.py # merge into ~/.claude/settings.json

run it and leave it running. any Claude Code session claims an encoder.

$ .venv/bin/python -m mft.daemon

or build the app bundle, which starts and stops the daemon

$ .venv/bin/python app/make_app.py # -> ~/Applications/Claude Twister.app

without hardware, everything except the wire still runs

$ .venv/bin/python -m mft.daemon --no-device $ .venv/bin/python -m mft.simulate --sessions 6

One more step: in the Midi Fighter Utility, set the encoders to accept host LED control. Otherwise the device drives its own LEDs and ignores everything the daemon sends.

Comments (0)

No comments yet