Group of 4 Under the hood
Terminal 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
What
- 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 (likeTERM_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. - A new Capabilities tracker treats
extendedKeys,synchronizedOutput, andkittyKeyboardas either 'settled' (known) or 'pending' (a guess awaiting a probe response), recording a source/reason for each. Probing now also issues a CSI?uquery 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'. - The function that used to shell out to
git rev-parse --show-object-formatto detect a repo's sha256/sha1 object format was rewritten to instead decide whether synchronized terminal output is active (checkingCLAUDE_BG_BACKEND,CLAUDE_CODE_FORCE_SYNC_OUTPUT, and the new capability state). The git object-format check itself moved into its own dedicated helper.
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.
Something disagreesSomething we can check disagrees with this entry, or the writer said they could not settle it.
The writer flagged doubt
The finding doesn't say whether Konsole or self-query-dependent terminals are still detected some other way, so it's unclear whether this is…