# NousResearch/hermes-agent · TUI default change plus clarify options formatting fix

## Open now

- 1 issue, 0 PRs open on GitHub.
- #47285: clarify_tool: put options in choices\[\] only, never enumerate in question text

One item introduces a native OpenTUI terminal UI as the new default (with Ink as fallback). The remaining three items, likely duplicates or related iterations, address a fix to keep clarify tool options in the choices array rather than enumerating them in question text.

## TL;DR

- 4 member(s): 1 open issue(s), 0 closed issue(s), 0 open PR(s), 1 merged PR(s), 2 PR(s) closed without merging.
- A fix was merged to main in PR #49089. Verify it addresses your case.
- **Recommended:** read PR #49089 (and any competing PRs below) before filing. Confirm the merged change covers your symptom.

## Maintainer resolution verdict

- Internal-tracker verdict over this cluster's issue members: `unresolved`. This is distinct from the fix status above. Weigh it yourself.

## How this cluster was grouped

- Link evidence (`STRUCTURAL_SPANNING`): every member is connected by structural evidence: shared changed files, or a closing/superseded reference.
- Pairwise link density `0.50`: the share of member pairs that carry a link, counting a structural link in full and a relevance-only link at 0.36. `1.00` means every pair is linked.

## Open related issues

- #47285: clarify_tool: put options in choices\[\] only, never enumerate in question text

## Prior & competing PRs

- **#49089: fix(clarify): put options in choices\[\] only, never enumerate in question text**. merged to main · fix tier `verified`
  - maintainer direction: category `merged`
  - files: `tools/clarify_tool.py`
  - fix hunks:
  - `tools/clarify_tool.py`

    ```diff
    @@ -131,6 +131,12 @@ def check_clarify_requirements() -> bool:
             "or types their own answer via a 5th 'Other' option.\n"
             "2. **Open-ended** — omit choices entirely. The user types a free-form "
             "response.\n\n"
    +        "CRITICAL: when you are offering options, put each option ONLY in the "
    +        "`choices` array — NEVER enumerate the options inside the `question` "
    +        "text. The UI renders `choices` as selectable rows; options written "
    +        "into the question string render as dead prose the user can't pick. "
    +        "Right: question='Which deployment target?', choices=['staging', "
    +        "'prod']. Wrong: question='Which target? 1) staging 2) prod', choices=[].\n\n"
             "Use this tool when:\n"
             "- The task is ambiguous and you need the user to choose an approach\n"
             "- You want post-task feedback ('How did that work out?')\n"
    ```

    ```diff
    @@ -145,16 +151,22 @@ def check_clarify_requirements() -> bool:
             "properties": {
                 "question": {
                     "type": "string",
    -                "description": "The question to present to the user.",
    +                "description": (
    +                    "The question itself, and ONLY the question (e.g. 'Which "
    +                    "deployment target?'). Do NOT embed the answer options here "
    +                    "— pass them as separate elements in `choices`."
    +                ),
                 },
                 "choices": {
                     "type": "array",
                     "items": {"type": "string"},
                     "maxItems": MAX_CHOICES,
                     "description": (
    -                    "Up to 4 answer choices. Omit this parameter entirely to "
    -                    "ask an open-ended question. When provided, the UI "
    -                    "automatically appends an 'Other (type your answer)' option."
    +                    "REQUIRED whenever you are presenting selectable options: "
    +                    "each distinct option is its own array element (up to 4). "
    +                    "The UI renders these as pickable rows and auto-appends an "
    +                    "'Other (type your answer)' option. Omit this parameter "
    +                    "entirely ONLY for a genuinely open-ended free-text question."
                     ),
                 },
             },
    ```
- **#42922: feat(tui): native OpenTUI terminal UI — the new default (Ink kept as fallback)**. closed without merge
  - maintainer direction: category `uncategorized`; implication `needs_llm`; refs `#47281`, `#47286`, `#47283`, `#47287`, `#47284`, `#47288`, `#47285`, `#47282`
- **#47288: fix(clarify): put options in choices\[\] only, never enumerate in question text**. closed without merge
  - maintainer direction: category `merged_via`; implication `superseded`; refs `#49089`

## Fix status

- Merged to main in PR #49089 (cited above). No release data is tracked. Verify downstream.
- Fix last verified (merged) `2026-06-19`.
- Subsystem: `agent`
