Maschine Code
A room full of Claude Code sessions, readable at a glance and steered without the keyboard.
The question I was chasing
How do I see and steer a room full of Claude Code sessions using hardware already on my desk?
OpenAI and Work Louder had just put out the Codex Micro, a dedicated controller for Codex. Keys that glow with the agent's state, buttons to accept or reject, push to talk. I did not want to buy another device, and it drives one agent anyway. I run half a dozen at a time in identical terminal tabs, and the state of the work stays invisible until I go and look. A Native Instruments Maschine is the opposite of invisible. It has 16 pads that light up, a bank of knobs, two screens, all built for making music.
The constraints
Three hard rules. It had to talk to the device directly, with no Native Instruments software involved, or nobody else could install it. It could never break the Maschine's day job as a musical instrument. And the permission flow had to be safe by design.
Claude Code asks permission before it runs a command, and I wanted to answer from the hardware. But a control surface that could approve a command on its own would be more dangerous than useful. So the bridge between the device and Claude Code never invents a decision. If the hardware is missing or the process is not running, Claude Code falls back to its normal prompt.
The decisions that mattered
I trusted what the hardware sent over the cable more than the documentation. Getting the device to talk meant working out its private message format by hand, reading two open-source music drivers against what the pads and knobs actually returned.
I slowed the input down before trusting it. An early run flooded the bridge with phantom presses from a controller nobody was touching. A quiet zone on every knob and a double-check on every pad press fixed it: the unglamorous detail that decides whether a thing like this feels solid or haunted.
I put the permission prompt on the screens. When a session asks to run something, its pad pulses gold and the exact command prints across the two displays. Approve or deny from the hardware. A command only ever runs because I read it first.
Built with: TypeScript, node-hid (raw USB HID), Claude Code, macOS, a Native Instruments Maschine MK2
Where it landed
It runs, and I use it whenever four sessions are going. The pads say which one is working, which is waiting on me and which is already done, all without opening a tab. Quit it and the Maschine goes back to being a musical instrument. There is a recursion I keep enjoying: the tool was built by Claude Code, to control Claude Code.
Part of the Rolling Waves work archive.