[BUG] Status line never renders on Windows Terminal in Claude Code 2.1.202: XTVERSION query gets no reply through ConPTY.

Resolved 💬 1 comment Opened Jul 7, 2026 by spreudti-cpu Closed Jul 7, 2026

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:

  1. Configure statusLine in ~/.claude/settings.json with type: "command"
  2. Open Windows Terminal, launch a PowerShell tab
  3. Run claude --debug and exit immediately
  4. 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
}
}

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗