{"version":"2.1.295","anchor":"terminal-program-status-osc-query-added","canonical_anchor":"terminal-program-status-osc-query-added","heading":"New programStatus terminal capability, detected with OSC 7501","tier":"internal","area":"Terminal UI","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.295\/e\/terminal-program-status-osc-query-added","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.295","markdown":"### New programStatus terminal capability, detected with OSC 7501\n\nClaude Code now probes the terminal for a new program-status feature (OSC 7501), treated as unsupported unless the terminal replies\n\n**What**\n\nClaude Code now checks whether your terminal supports a new \"program status\" feature. It does this with an OSC sequence, a special escape code a program sends to the terminal to ask or set something.\n\n- A new code, `PROGRAM_STATUS: 7501`, sits beside the existing `TAB_STATUS` code.\n\n- The probe sends `PROGRAM_STATUS` with `?` and accepts a reply whose data starts with `?`. No reply means the terminal does not support it.\n\n- The list of terminal capabilities gains `programStatus`, which starts as false, next to `kittyKeyboard`, `kittyGraphics` and `mousePixels`.\n\n- Screen code reads the result, and one piece of text is added when it is supported. What gets shown was not traced.\n\n- When Claude Code restores the terminal's modes (for example after being suspended and resumed), it now also sends a `programStatus` sequence if the feature is supported.\n\n- A new `programStatus` entry records why writes to the terminal tab are not settled yet: `env: CLAUDE_CODE_DISABLE_TERMINAL_TITLE`, `bg worker` or `not asked yet`.\n\n**Why**\n\nThe feature only works in terminals that answer the probe; others behave as before. Setting `CLAUDE_CODE_DISABLE_TERMINAL_TITLE` is one of the reasons Claude Code holds back these terminal tab writes.\n\n- Area: Terminal UI\n- Tier: Under the hood\n- Useful: 2\/5\n- Signal: 2\/5\n- Scope: individual\n- Heads-up: no"}