# NousResearch/hermes-agent · CLI layout: blank space and input anchoring issues

## Open now

- Nothing open on GitHub.

These issues and fixes relate to unwanted blank space appearing between responses and the input area in the CLI, and efforts to control vertical padding and terminal anchoring behavior.

## TL;DR

- 4 member(s): 0 open issue(s), 2 closed issue(s), 0 open PR(s), 1 merged PR(s), 1 PR(s) closed without merging.
- A fix was merged to main in PR #4412. Verify it addresses your case.
- **Recommended:** read PR #4412 (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_PARTIAL`): some members are connected by structural evidence (shared changed files, or a closing/superseded reference); the rest are joined by an automated relevance judgement over their text.
- Members outside that structural core may belong to a different underlying problem.
- Pairwise link density `0.39`: 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.

## Closed / duplicate issues

- #4398: \[Bug\] v0.6.0 CLI displays large blank space between response and input area
- #4421: fix(cli): post-response padding newlines push content off-screen

## Prior & competing PRs

- **#4412: fix(cli): pin entire TUI to bottom of terminal on startup**. merged to main · fix tier `verified`
  - maintainer direction: category `merged`; implication `superseded`
  - files: `cli.py`
  - fix hunks:
  - `cli.py`

    ```diff
    @@ -6343,6 +6343,17 @@ def _build_tui_layout_children(
     
         def run(self):
             """Run the interactive CLI loop with persistent input at bottom."""
    +        # Push the entire TUI to the bottom of the terminal so the banner,
    +        # responses, and prompt all appear pinned to the bottom — empty
    +        # space stays above, not below.  This prints enough blank lines to
    +        # scroll the cursor to the last row before any content is rendered.
    +        try:
    +            _term_lines = shutil.get_terminal_size().lines
    +            if _term_lines > 2:
    +                print("\n" * (_term_lines - 1), end="", flush=True)
    +        except Exception:
    +            pass
    +
             self.show_banner()
     
             # One-line Honcho session indicator (TTY-only, not captured by agent).
    ```

    ```diff
    @@ -7569,18 +7580,6 @@ def _expand_ref(m):
                             self._agent_running = False
                             self._spinner_text = ""
     
    -                        # Push the input prompt toward the bottom of the
    -                        # terminal so it doesn't sit mid-screen after short
    -                        # responses.  patch_stdout renders these newlines
    -                        # above the input area, creating visual separation
    -                        # and anchoring the prompt near the bottom.
    -                        try:
    -                            _pad = shutil.get_terminal_size().lines // 2
    -                            if _pad > 2:
    -                                _cprint("\n" * _pad)
    -                        except Exception:
    -                            pass
    -
                             app.invalidate()  # Refresh status line
     
                             # Continuous voice: auto-restart recording after agent responds.
    ```
- **#4436: fix(cli): only pad short responses to avoid pushing content off-screen**. closed without merge
  - maintainer direction: category `implemented_elsewhere`; implication `superseded`; refs `#4421`, `#4412`, `#4359`, `#4421`

## Fix status

- Merged to main in PR #4412 (cited above). No release data is tracked. Verify downstream.
- Fix last verified (merged) `2026-04-01`. This confirmation is old and may be out of date (a revert/reopen would not have invalidated it here); re-verify.
- Subsystem: `hermes_cli`
