Repository navigation
Fixed choice menu not recognizing Ultraplan "Tell Claude what to change" as text input - #90
Merged
oleg68 merged 1 commit intoApr 25, 2026
Conversation
…ge" as text input The Ultraplan plan-review menu option "Tell Claude what to change" was rendered as a plain radio button instead of a text input field. The "shift+tab to approve with this feedback" sub-line was incorrectly stored as the option's description rather than being treated as a hint that marks the option as hasTextInput. Fixes: - ScreenContentDetector: added "shift+tab" to isHintLine; when a "shift+tab to approve" line is detected below an option, sets hasTextInput=true on that option - ChoiceMenuModel.Option: added hasTextInput field (mirrors existing hasCheckbox pattern) - ChoiceMenuPanel.isTypeInputOption: also returns true for opt.hasTextInput() Python investigation confirmed that the existing TYPE:N:text mechanism (digit + text + \r) works correctly for this option. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
3 tasks
oleg68
added a commit
that referenced
this pull request
Apr 25, 2026
…ge" as text input (#91) Backport of #90 to release/0.21. ## Summary - The Ultraplan plan-review menu option "Tell Claude what to change" was rendered as a plain radio button instead of a text input field - Fixed by adding `hasTextInput` field to `ChoiceMenuModel.Option`, detecting "shift+tab to approve" hint lines in `ScreenContentDetector`, and extending `isTypeInputOption` in `ChoiceMenuPanel` ## Test plan - [ ] `ScreenContentDetectorTest` passes (70 tests) - [ ] `mvn package` passes - [ ] In NetBeans: trigger Ultraplan plan-review menu, verify option 4 renders with a text field 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Oleg Samarin <osamarin@openintegration.inc> 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
isTypeInputOptiononly checked for display text starting with "type";isHintLinedidn't recognize "shift+tab" lines, so they were stored as the option's description rather than triggeringhasTextInputdetection.hasTextInputfield toChoiceMenuModel.Option(mirroring the existinghasCheckboxpattern), detecting "shift+tab to approve" hint lines inScreenContentDetector, and extendingisTypeInputOptionto also checkopt.hasTextInput().claude-launch-tests/test_ultraplan_tell_claude.py) confirmed the existingTYPE:N:textmechanism (digit + text + \r) works correctly for this option.Test plan
ultraplan-tell-claudeadded;ScreenContentDetectorTestpasses (70 tests)mvn packagepasses--permission-mode plan, trigger the Ultraplan plan-review menu, verify option 4 renders with a text field, type feedback, click Send, confirm Claude receives and re-plans🤖 Generated with Claude Code