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
Nobody has claimed this yet.
- 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
- Launch kimi to enter an interactive session.
- Run a task that produces a long output (for example, ask Kimi to read
multiple files, run tests, and print results). - After the output finishes, scroll up in the terminal to review earlier
content. - 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
- Make the input box sticky/fixed at the bottom of the TUI layout.
- Allow the message history area to scroll independently from the input
box. - 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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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