❯_termy
Using Termy

Program status

See when terminal programs are working, waiting for you, finished, or failed.

Termy supports the OSC 7501 Program Status Protocol. Programs that emit these reports show a status badge in their tab: a dot while working, a question mark when waiting for you (such as approval, an answer, or sign-in), a checkmark when done, or an exclamation mark on failure.

The Progress Indicators setting (progress_indicator_enabled = true) controls these badges. Blocked tasks take priority, followed by failures, completed tasks, and work in progress. Idle tasks have no badge. Messages, titles, and percentages are not drawn, and progress bars come only from OSC 9;4. These reports do not trigger system notifications or sounds.

Report status from a script

status() {
  printf '\033]7501;state=%s:msg=%s\033\\' "$1" "$(printf '%s' "$2" | base64 | tr -d '\n')"
}
status working "Running checks"
# Run your command here, then report its result:
status done "Checks passed"
# Remove the status when it is no longer needed:
status clear ""

A new shell prompt clears working and blocked statuses. Completed and failed statuses remain until replaced or cleared. Programs can use slash-separated id values for multiple tasks, such as build/tests; clearing a parent also clears its children. Full terminal reset clears every status.

Status is retained when reattaching to Termy's native multiplexer. External multiplexers must forward OSC 7501 for reports and support detection to work.

On this page