Skip to content

TUI: long list items wrap in narrow terminals, so the selected row scrolls out of view and the detail header garbles #2826

Closed

Description

@CloneOfAlex

Which version line?

v2 — current (@modelcontextprotocol/inspector@latest)

Which client?

TUI

Inspector version

2.13.0 (v2/main @ d7f6cee, built from source)

Node version

v22.23.4

Operating system (and browser, for the web client)

Linux (Debian), xterm-256color pty

Transport

stdio

MCP server under inspection

The repo's own stdio test server, default config:
node test-servers/build/test-server-stdio.js (built with npm run test-servers:build in clients/web).

Steps to reproduce

  1. mcp-inspector --tui node test-servers/build/test-server-stdio.js in an 80×24 terminal.
  2. Press c to connect, t for Tools, Tab to focus the list.
  3. Observe get_annotated_message.
  4. Resize to 60×18 and move the selection down to the last tool (mcp_app_demo).

Expected behavior

List rows stay one line (truncated with an ellipsis), the selected row is always visible, and the detail header shows the tool name and the [Enter to Test] hint without overlapping.

Actual behavior

  • At 80×24 the item wraps to two rows (get_annotated_mes / sage).
  • At 60×18, with the last tool selected, the selected row is not on screen: the visible window shows send_notifi/cation and write_to_st, because the scroll window counts items rather than rendered rows.
  • The detail header overlaps its hint: mcp_app_de[Enter to / o Test].
  • Same behavior applies to the other lists (Resources, Prompts) when names are long.

Logs, errors, or screenshots

Screen capture at 60×18 with mcp_app_demo selected:

 ▶ default       │ ▶ Tools (8)   Protocol (6)   Console (0)
                 │ Tools (8)     │ mcp_app_de[Enter to
                 │               │ o         Test]
                 │ / to filter   │
                 │   send_notifi │ Render a minimal MCP App
                 │ cation        │  widget that exercises
                 │   write_to_st │ size-changed,

Suggested fix: render list rows with wrap="truncate-end" and show the full name in the detail pane; let the hint drop below the title when space is short.

Already prototyped a fix?

No response

Before you submit

  • I searched existing issues and this is not a duplicate.
  • This is not a security vulnerability report (those go through the private advisory process).

Activity

  1. cliffhall commented on Oct 29, 2026

    @cliffhall
    Member

    Triage: Priority Medium (total 6)

    • Severity 3 — TUI list navigation breaks at common terminal sizes (wrap at 80×24, selected row off-screen at 60×18); workaround is a wider terminal
    • Urgency 2 — wanted eventually, nothing blocked on it
    • Bonuses: +1 bug label (no milestone, assignee, epic, engagement or reporter-set priority)

    Board: #28, Status Incoming (awaiting maintainer review — no milestone yet).

  2. added this to the v2.14.0 milestone on Oct 29, 2026
  3. self-assigned this
    on Oct 29, 2026
  4. cliffhall commented on Oct 29, 2026

    @cliffhall
    Member

    Fixed by #2850, merged into v2/main; verified together with the rest of v2.14.0 in the rollup #2858.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

bugSomething isn't workingv2Issues and PRs for v2

Type

No type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions