# A Terminal Protocol for Program Status (OSC 7501)

DevFeed: [A Terminal Protocol for Program Status (OSC 7501)](<https://devfeed.tech/articles/a-terminal-protocol-for-program-status-osc-7501-66446.md>)

Original publisher: [Read original article](<https://mitchellh.com/writing/program-status-osc7501>)

Published: 2026-10-06T00:00:00Z

Content type: article

Language: en

Sources: [Mitchell Hashimoto](<https://devfeed.tech/sources/mitchell-hashimoto.md>)

Topics: [Protocol (disambiguation)](<https://devfeed.tech/topics/protocol.md>), [Terminal](<https://devfeed.tech/topics/terminal.md>)

Tags: [agent](<https://devfeed.tech/tags/agent.md>), [agentic](<https://devfeed.tech/tags/agentic.md>), [protocol](<https://devfeed.tech/tags/protocol.md>), [terminal](<https://devfeed.tech/tags/terminal.md>)

## AI overview

The article proposes OSC 7501, a terminal-native protocol that lets programs report states such as working, waiting for user input, finished, or failed. It explains how the protocol could give terminals and agent inboxes structured status information without relying on screen-reading heuristics or separate integrations for each inbox.

## Source excerpt

# A Terminal Protocol for Program Status (OSC 7501) I wrote a specification for a new terminal escape sequence: OSC 7501, the Program Status Protocol. It lets any program tell the terminal what it's doing: idle, working, waiting on the user, finished, or failed, and why. For example, here is how Terraform could indicate that it is blocked waiting for user input, with the message "Apply 3 to add, 1 to change, 0 to destroy?" (base64-encoded).