Feature request: reserved statusline-adjacent region for ambient UI (companions, graphics widgets)

Status Open
Maintainer reply None cached
Activity 0 comments · opened Aug 26, 2026

Feature request

A configurable reserved region adjacent to the statusline - N columns (or rows) that Claude Code excludes from its own layout: transcript wrapping, the input box, and hint rows would all stay clear of it.

Why

The community keeps building ambient companions and widgets that live alongside Claude Code's UI - the /buddy pet being the canonical example (see #45705 asking for its return). With the custom statusline plus terminal graphics protocols (kitty Unicode placeholders / classic placements in ghostty, kitty, etc.), it's possible today to render a pixel companion, speech bubbles, and status art beside the session. What's missing is sanctioned space: anything drawn outside the statusline either overlaps the transcript or gets repainted over, because Claude Code justifiably believes it owns the whole terminal width.

What we do today (and why it's not great)

To give a companion a safe column, we currently shrink the pty's reported size (stty columns <true - N>) so Claude Code wraps short of a strip, while drawing into the real grid beyond it. It works, but it:

  • lies to every child process about the terminal width,
  • must be re-applied after every window resize (the emulator re-asserts the true winsize),
  • risks leaving the shell narrow if restoration is missed on an unclean exit.

Proposal

Something like:

{ "statusLine": { "reservedColumns": 14 } }
  • Claude Code lays out transcript/input/hints within columns - reservedColumns.
  • The reserved strip is never written to and never erased by Claude Code's repaints.
  • Bonus: expose the effective layout (e.g. the statusline's top row and the reserved region's origin) to the statusline command's environment, so extensions can position graphics without dead-reckoning the bottom stack.

This would let statusline extensions render companions, sparklines, or graphics widgets in a stable, collision-free region - and make hacks like the winsize shim unnecessary.

Environment

Claude Code v2.1.246, macOS, tested in ghostty/kitty/cmux (kitty graphics protocol).

View original on GitHub ↗