Add option to suppress idle notification text message (causes terminal corruption in screen/tmux)

Resolved 💬 5 comments Opened Mar 11, 2026 by barefootcoder Closed Mar 14, 2026

Summary

When Claude Code is waiting for user input (not a permission prompt), after ~30 seconds it prints the text "Claude is waiting for your input" to the bottom of the terminal. This text output shifts the terminal viewport, which desynchronizes Claude Code's internal screen model from what's actually displayed, causing persistent rendering corruption.

Environment

  • Claude Code running inside GNU screen under kitty terminal
  • Bell notifications and notification hooks are both working correctly
  • The text message is redundant when bell + hooks are already configured

Steps to Reproduce

  1. Run Claude Code inside GNU screen
  2. Trigger an interaction that presents a menu/elicitation (e.g., AskUserQuestion)
  3. Wait ~30 seconds without responding
  4. The "Claude is waiting for your input" text appears at the bottom of the terminal
  5. Answer the prompt — the screen now has corrupted/overwritten text regions

Screenshot

(screenshot of corruption after idle notification fired during a menu interaction — will attach below)

Expected Behavior

A configuration option to suppress the idle notification text message while keeping bell and hook notifications active. Something like:

// in settings.json
"idleNotificationText": false

or an environment variable like CLAUDE_CODE_DISABLE_IDLE_TEXT=1.

Why This Matters

  • The bell notification already alerts the user audibly
  • The notification hook already provides visual notification (screen flash, etc.)
  • The text message is the only notification mechanism that causes terminal corruption
  • Sending SIGWINCH to Claude Code after the text appears does not fix the corruption — the internal screen model is already wrong
  • GNU screen redraw (Ctrl+A Ctrl+L) also does not help, since it redraws from screen's buffer, not Claude Code's

Additional Context

This is the last remaining source of terminal corruption after significant improvements on both the user side (migrating from urxvt to kitty) and Anthropic's side. Everything else works well — this one text message is the sole remaining trigger.

View original on GitHub ↗

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