cyberine
UsageRun recipes

TUI/chat — terminal tab status, OSC 7501 (k33z2)

cyberine chat and the fleet hub (cyberine agents / npm run tui) publish their state through the Program Status Protocol, the escape sequence Claude Code 2.1.295 uses so a terminal can show a tab as working, waiting on you or done. Nothing to run: it is on by default and writes only when the state changes, never per render. Chat reports working while a turn streams, blocked (kind question) while an ask_user / present_plan / rewind prompt is open, done once a turn has finished and idle before the first turn. The hub reports blocked while any run needs you, working while any run is live, otherwise idle. The status is cleared (state=clear) on exit.

CYBERINE_PROGRAM_STATUS=off cyberine chat    # never emit
CYBERINE_PROGRAM_STATUS=on cyberine chat     # emit inside tmux too, wrapped in tmux DCS passthrough

The wire format is ESC ] 7501 ; state=<working|blocked|done|idle|error>:app=cyberine[:kind=<permission|question|auth>][:title=<base64>] BEL, read from the strings of the Claude Code 2.1.295 binary; the protocol has no public spec that was checked. Known Limitations and Deferred Work: nothing is emitted when stdout is not a TTY, when TERM=dumb, or inside tmux / screen unless CYBERINE_PROGRAM_STATUS=on (tmux additionally needs set -g allow-passthrough on). Cyberine does not probe the terminal with OSC 7501 ; ? the way Claude Code does, so a terminal that does not implement the protocol receives the sequence and is expected to ignore it. Only the chat planner and the hub are covered; cyberine run, autopilot and the one-shot CLI do not emit it, and per-worker rows are not reported. The sequence was checked as a byte string only, not against a terminal that renders it.