A Terminal Protocol for Program Status (OSC 7501)
a day ago
- MITCHELL HASHIMOTO INTRODUCES OSC 7501, A NEW TERMINAL ESCAPE SEQUENCE FOR PROGRAMS TO REPORT THEIR STATUS (IDLE, WORKING, DONE, BLOCKED, ERROR).
- EXISTING SOLUTIONS LIKE HEURISTICS (READING SCREEN TITLES) AND NON-TERMINAL APIS ARE INSUFFICIENT, ESPECIALLY FOR CODING AGENTS THAT NEED TO COMMUNICATE STATE CHANGE.
- THE PROTOCOL USES KEY=VALUE PAIRS (E.G., STATE, APP, MSG) SENT THROUGH THE PTY; IT IS SIMPLE, SAFE, AND CAN HANDLE HIERARCHICAL TASKS.
- IMPLEMENTATION IS TRIVIAL (E.G., A SHELL SCRIPT USING PRINTF) AND ALREADY DEPLOYED IN GHOSTTY, REX, AND PROOF-OF-CONCEPT IN TERRAFORM, CLAUDE CODE, AND HOMEBREW.
- THE GOAL IS TO LET PROGRAMS DIRECTLY TELL THE TERMINAL THEIR STATUS, ELIMINATING THE NEED TO GUESS BY READING OUTPUT OR WINDOW TITLES.