MoonshotAI / MoonshotAI/kimi-code

TUI input box does not stick to the bottom of the terminal, making it hard to type after scrolling through history

Open
#891 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
TypeScript
Stars
7.5k
Forks
1.2k
Avg merge
11h 53m
Merged PRs (30d)
350

Description

What feature would you like to see?

Description

In the interactive TUI of Kimi Code CLI, when a conversation produces a long
output and the user scrolls up to review previous messages, the input box at
the bottom scrolls out of view along with the content. The user then has to
scroll all the way back down to the bottom before they can continue typing,
which breaks the flow of reviewing context and entering follow-up commands.

Steps to reproduce

  1. Launch kimi to enter an interactive session.
  2. Run a task that produces a long output (for example, ask Kimi to read
    multiple files, run tests, and print results).
  3. After the output finishes, scroll up in the terminal to review earlier
    content.
  4. Try to type a new command — the input box is no longer visible.

Expected behavior

The input box should remain docked at the bottom of the terminal window,
while the message history area scrolls independently. Even when the user
scrolls up to review past output, the input box should always be visible and
ready for typing.

Reference UX: browser-based chat UIs, Aichat, ShellGPT, and similar tools
usually keep the input box sticky/fixed.

Actual behavior

When scrolling up through historical output, the input box moves upward with
the content and disappears from view.

Environment

• Kimi Code CLI version: 0.17.1
• OS: Linux / macOS / Windows (all affected)
• Terminal: any terminal emulator

Suggested solutions

  1. Make the input box sticky/fixed at the bottom of the TUI layout.
  2. Allow the message history area to scroll independently from the input
    box.
  3. Alternatively, add a tui.toml option such as sticky_input = true so users
    can opt in.

Why this matters

When using Kimi Code CLI for complex tasks, users often need to review
earlier output (error logs, code diffs, analysis) while continuing to ask
follow-up questions or issue new commands. A non-sticky input box interrupts
this read-then-type loop and hurts productivity.

Thanks for considering this improvement!

Additional information

No response

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start at the interactive TUI entry point reached by launching kimi and reproduce the issue with a long-output task, then scroll through the history. Trace how the message history and input box share the terminal layout; done means the history scrolls independently while the input box remains visible and ready for typing.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
cli
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.