statusLine command never invoked when CLAUDE_CODE_NO_FLICKER=1 is set

Resolved 💬 3 comments Opened May 9, 2026 by kirilly Closed May 12, 2026

Description

Custom statusLine commands configured in ~/.claude/settings.json are never invoked when CLAUDE_CODE_NO_FLICKER=1 is set. The status line area is completely blank — the configured script is never executed.

Reproduction

  1. Configure a custom statusLine in ~/.claude/settings.json:

``json
{
"statusLine": {
"type": "command",
"command": "/path/to/statusline.sh",
"refreshInterval": 5
}
}
``

  1. Verify the script works manually: echo '{}' | /path/to/statusline.sh produces output.
  2. Launch Claude Code with CLAUDE_CODE_NO_FLICKER=1 exported.
  3. The status line area is blank. Adding a probe (echo "$(date)" >> /tmp/probe.log) to the script confirms it is never called.

Expected behavior

The statusLine command should be invoked and its output rendered in NO_FLICKER mode, same as in standard mode.

Environment

  • Claude Code version: 2.1.137
  • OS: macOS 15.5 (Darwin 24.6.0, arm64)
  • Terminal: Ghostty
  • Shell: zsh

Context

NO_FLICKER mode is the only usable rendering mode for some terminal setups — standard mode produces unusable flickering. Losing the status line to get stable rendering is a significant trade-off, especially since the status line is the primary way to surface project context (model, branch, health) without scrolling.

Related: #13517 (same symptom reported for standard mode)

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗