MoonshotAI / MoonshotAI/kimi-code

Feature request: fullscreen TUI mode with mouse text selection/copy (like Claude Code)

Open
#2,721 2 comments 0 reactions 0 assignees View on GitHub

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?

Two related TUI features, both inspired by Claude Code's fullscreen mode:

1. Fullscreen TUI mode (alternate screen buffer), toggleable

Claude Code can run in a fullscreen mode where the TUI takes over the whole terminal. This gives a stable, app-controlled rendering surface: scrolling, layout, and mouse handling all behave consistently instead of interleaving with the host terminal's scrollback. A keybinding (e.g. ctrl+b) or a config option to enter/leave fullscreen would be ideal.

(Related: #2195 asks for the opposite direction — an option to disable the alternate screen for SSH scrollback. A user-facing toggle would serve both requests.)

2. Built-in mouse text selection that actually copies

In fullscreen mode, drag-selecting text with the mouse should create an app-level selection and copy it to the system clipboard — with an OSC 52 fallback when no native clipboard is available (SSH, tmux, browser code-server terminals).

Current pain point: in the inline TUI, mouse selection is unreliable. Drag-selecting shows a "Copied" hint, but the text never reaches the system clipboard — this is especially broken inside browser-based code-server terminals and tmux, where the terminal's own selection and the app's mouse handling fight each other. Users currently have to discover Shift-drag workarounds themselves.

(Related: #1174 proposes a conservative mouse policy that keeps native terminal selection and shows a Shift-drag hint. That helps, but an app-level selection+copy with OSC 52 fallback would make copy work out of the box in remote/browser terminals where native selection is unavailable entirely.)

Additional information

Environment: Kimi Code CLI on Linux, used daily inside tmux and browser code-server (web VS Code) terminals, often over SSH. In these environments neither the terminal's native selection nor naive OSC 52 passthrough works reliably, so app-managed selection with an OSC 52 fallback is the only option that works everywhere.

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 by tracing the existing TUI mouse-selection and clipboard handling, then review related issues #2195 and #1174 for compatibility constraints. Done should include a toggleable fullscreen mode and reliable app-level selection and copying, with OSC 52 fallback in SSH, tmux, and browser terminals.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
cli
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.