Environment
- herdr 0.6.8 (Homebrew, stable channel), server and client both 0.6.8, protocol 12
- kitty 0.45.0
- macOS 26.5 (Darwin 25.5.0)
- Claude Code 2.1.170, zsh
- Content: heavy Chinese (double-width) text mixed with English
Symptom
In a long-running Claude Code pane, scrollback intermittently shows fragments of OLD frames interleaved with current content:
- struck-through task-list lines from Claude Code's footer widget (SGR 9) appear merged into unrelated earlier output lines;
- the
-- INSERT -- auto mode on status line is duplicated 3-4 times at different scrollback positions;
- characters from two different render cycles concatenate within a single line (e.g. diff content + task-list title interleaved);
- CJK text occasionally splits/misaligns at the seams.
Ctrl+L (app repaint) or a window resize clears the live screen; already-baked scrollback stays corrupted.
When it triggers
Most reliably when several footer redraw sources coincide while the assistant is streaming large CJK output:
- Claude Code error banner redraws (
API Error: ... ConnectionRefused during a network blip)
- Claude Code auto-update banner (
update failed - Run /doctor)
- task-list footer updates (items completed -> strikethrough)
What I ruled out
Guess
The pane VT/compositor occasionally mishandles Claude Code's cursor-jump live-region repaints under load, committing partial frames into scrollback; SGR state (strikethrough) leaks across the seams.
Screenshots from both 0.6.6 and 0.6.8 will be attached in a comment. Happy to test a preview build or collect a recording with whatever instrumentation helps.
Environment
Symptom
In a long-running Claude Code pane, scrollback intermittently shows fragments of OLD frames interleaved with current content:
-- INSERT -- auto mode onstatus line is duplicated 3-4 times at different scrollback positions;Ctrl+L(app repaint) or a window resize clears the live screen; already-baked scrollback stays corrupted.When it triggers
Most reliably when several footer redraw sources coincide while the assistant is streaming large CJK output:
API Error: ... ConnectionRefusedduring a network blip)update failed - Run /doctor)What I ruled out
herdr status server).Guess
The pane VT/compositor occasionally mishandles Claude Code's cursor-jump live-region repaints under load, committing partial frames into scrollback; SGR state (strikethrough) leaks across the seams.
Screenshots from both 0.6.6 and 0.6.8 will be attached in a comment. Happy to test a preview build or collect a recording with whatever instrumentation helps.