[BUG] Status line never renders on Windows Terminal in Claude Code 2.1.202: XTVERSION query gets no reply through ConPTY.
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
Claude Code Version = 2.1.202 (Windows 10).
Summary of what happened:
- The status line broke (no show) because Claude Code 2.1.202 requires a successful XTVERSION terminal query to enable its status bar rendering (DECSTBM)
- Windows Terminal uses ConPTY which doesn't reliably pass that query's response back — so XTVERSION always times out with no reply
- No env var (TERM, TERM_PROGRAM, etc.) overrides this — the gate is purely XTVERSION
What Should Happen?
Status line should render properly on Windows Terminal.
Error Messages/Logs
2026-07-07T09:19:37.935Z [DEBUG] XTVERSION: no reply (terminal ignored query)
Steps to Reproduce
Steps to reproduce:
- Configure statusLine in ~/.claude/settings.json with type: "command"
- Open Windows Terminal, launch a PowerShell tab
- Run claude --debug and exit immediately
- Open the debug log generated in ~/.claude/debug/
Observed behavior:
The status line never appears. The debug log consistently shows:
XTVERSION: no reply (terminal ignored query)
DECRQM(2026): skipped (no XTVERSION reply) → sync unsupported
DECSTBM: gated (TMUX=unset ZELLIJ=unset TERM_PROGRAM=unset TERM=unset)
The statusLine command is never invoked — confirmed by adding a file-write at the top of the script; the file is never created.
Additional finding:
Setting TERM=xterm-256color and TERM_PROGRAM=WindowsTerminal as environment variables does not change the outcome — DECSTBM remains gated regardless:
DECSTBM: gated (TMUX=unset ZELLIJ=unset TERM_PROGRAM=WindowsTerminal TERM=xterm-256color)
Root cause hypothesis:
Claude Code sends an XTVERSION capability query to the terminal and waits for a response. On Windows, the terminal runs through ConPTY (Windows Terminal's console compatibility bridge), which does not reliably forward the terminal's response back to the process's stdin. The query times out with no reply, DECSTBM stays gated, and the status line is never rendered.
Expected behavior:
The status line should render in Windows Terminal, which is a modern VT-capable terminal. Either the XTVERSION check should succeed through ConPTY, or env vars like TERM_PROGRAM should serve as a fallback gate condition when XTVERSION fails.
Claude Model
Sonnet (default)
Is this a regression?
Yes, this worked in a previous version
Last Working Version
2.1.201
Claude Code Version
2.1.202
Platform
Anthropic API
Operating System
Windows
Terminal/Shell
Windows Terminal
Additional Information
Environment:
- Claude Code: 2.1.202
- OS: Windows 10 Enterprise 10.0.19045
- Terminal: Windows Terminal 1.24.11321.0
- Shell: PowerShell (powershell.exe)
- Node.js: v26.3.0
Configuration (~/.claude/settings.json):
{
"statusLine": {
"type": "command",
"command": "powershell -NoProfile -File C:/Users/<user>/.claude/statusline.ps1",
"refreshInterval": 10
}
}
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗