Skip to content

Feature request: show the current session title in the TUI footer (proposed /titleon and /titleoff) #2018

Description

@go-bananas-wwj

Problem

Two related pain points when working with multiple sessions in the terminal:

  1. Sessions forked from the same conversation are hard to tell apart. When I fork a conversation to explore different features or tasks, and later switch between those sessions in the same terminal (/sessions, kimi --session), the entries look almost identical — same working directory, similar first prompts. It is easy to resume the wrong session.

  2. The current session's title is invisible while you work. Even after renaming a session with /title, the TUI status bar (which shows the working directory and git branch) never displays the title. Inside a session there is no persistent on-screen indicator telling me which conversation I am actually in.

Proposal

Add a session-only display toggle for the footer status bar:

  • /titleon — show the current session title in the footer, right after the working directory and git branch badge, e.g. ~/work/kimi-code main fix-auth-flow
  • /titleoff — hide it again (the default)

Behavior details:

  • Session-only, not persisted: the toggle resets on session switch / /new / fork / logout, but survives /reload within the same session.
  • The title is truncated to 40 display columns (width-aware, so CJK titles are capped correctly) with , so it cannot crowd out the rest of the status bar; it uses the existing two-space separator and the same dim color as the cwd.
  • Renaming with /title updates the footer live.
  • No git repo → the title simply follows the cwd segment.

Why two new commands instead of /title on|off?

/title <text> currently sets the title verbatim, so /title on is ambiguous — it already means "set the title to on". A dedicated pair /titleon / /titleoff avoids that ambiguity. If maintainers prefer a different shape (a single toggle command, or a /title subcommand with disambiguated syntax), I am happy to adjust — feedback welcome.

I have a complete implementation ready (with unit tests, lifecycle tests, changeset, and en/zh docs updates) and will open a PR referencing this issue.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions