{"version":"2.1.269","anchor":"git-object-format-detection-sha256-vs-sha1","canonical_anchor":"synchronized-output-terminal-detection-reworked-konsole-ver","heading":"Terminal capability detection reworked into a probe-and-settle model","tier":"internal","area":"Git Internals","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.269\/e\/git-object-format-detection-sha256-vs-sha1","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.269","markdown":"### Terminal capability detection reworked into a probe-and-settle model\n\nTerminal feature detection (sync output, extended keys, kitty keyboard) now probes the terminal and settles capabilities from its actual reply, and git object-format detection moved to its own helper\n\n**Unclear.** The finding doesn't say what feature consumes this detection, so its downstream effect is unknown.\n\n**What**\n\n- Synchronized-output detection was restructured into reason-carrying helpers; checks for TMUX, `CLAUDE_CODE_FORCE_SYNC_OUTPUT`, and JetBrains terminals now live together, returning a reason string (like `TERM_PROGRAM=...`) instead of a plain boolean. The old Konsole-version allowlist entry and the old runtime terminal self-query for sync-output support were removed.\n\n- A new Capabilities tracker treats `extendedKeys`, `synchronizedOutput`, and `kittyKeyboard` as either 'settled' (known) or 'pending' (a guess awaiting a probe response), recording a source\/reason for each. Probing now also issues a CSI `?u` query for kitty-keyboard\/extended-key support, alongside the existing DECRPM 2026 sync-output probe, and treats DECRPM status 3 (not just 1 or 2) as 'supported'.\n\n- The function that used to shell out to `git rev-parse --show-object-format` to detect a repo's sha256\/sha1 object format was rewritten to instead decide whether synchronized terminal output is active (checking `CLAUDE_BG_BACKEND`, `CLAUDE_CODE_FORCE_SYNC_OUTPUT`, and the new capability state). The git object-format check itself moved into its own dedicated helper.\n\n**Why** Detecting terminal features by actually probing and reading the terminal's reply, rather than guessing from `TERM` or hardcoded version allowlists, makes Claude Code's terminal rendering more reliable across a wider range of terminal emulators.\n\n- Area: Git Internals\n- Tier: Under the hood\n- Useful: 2\/5\n- Signal: 2\/5"}