You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
bug(claude): a colour-only slash-picker selection change never republishes the picker #1253
Found in the #1236 review (reviewer A). It predates #1236: the old screen-frame path had the same gate.
What happens
detectSlashPicker reads the selected row from relative foreground colour. HeadlessTerminal.scheduleFlush (packages/claude-code-headless/src/terminal/HeadlessTerminal.ts:~632) compares only the plain and recent strings.
When arrowing through the picker changes only the highlight colour and not the text, no screen event fires. ClaudeCodeHeadless then never reparses the picker or publishes claude.slash-picker, and the composer keeps showing the old selected row until the text changes.
Reviewer evidence: a temporary test repainted three coloured slash rows with the bright colour moved from /help to /clear. detectSlashPicker returned /clear, but the terminal had emitted only one screen frame.
Also untested
The producer that feeds the composer's picker is unpinned. Replacing slashPicker: this.pickerState with an empty picker in the evaluator input survived every headless and renderer picker suite.
Fix direction
Include a picker-selection signature (or the picker state) in the flush comparison, or reparse the picker on attribute-only repaints while it is visible.
Add a real-frame test asserting open, filtered, selected and closed picker snapshots on the conditions event.
There is no captured Claude picker PTY sequence yet; record one first.
Activity