Repository navigation
Fixed model discovery failing when CR is absorbed as newline in prompt - #103
Merged
Merged
Conversation
Under load the /model command sometimes gets CR treated as a multiline newline instead of submission. The screen then shows ❯ /model → blank line → separator. Added isModelCommandPendingWithBlankLine() detector and retry logic: send PTY_BACKSPACE + CR to resubmit the command. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
/model+ CR is sometimes treated as a newline in the multiline prompt input instead of submitting the command. The screen shows❯ /model→ blank line → separator, and the polling loop times out with no model list.isModelCommandPendingWithBlankLine()that detects this exact screen pattern (cursor line with/model, followed by blank line, then separator line).PTY_BACKSPACE+ 200 ms delay +\rto resubmit the command (max 12 retries, leaving the last 4 polls to read the menu).PTY_BACKSPACE = {0x7f}constant alongside existingPTY_ESC.Test plan
messages.logfor[discoverModels] /model pending with blank lineto confirm retry fires on affected runs/modelappears in Claude's output history (covered by unit test)mvn testpasses (33 tests including 3 new)🤖 Generated with Claude Code