Summary
Add a /thinking slash command (alias /t) and a Ctrl+T keyboard shortcut to toggle thinking mode on/off for the current model, without leaving the interactive session.
Motivation
Today, toggling thinking mode requires /model → select model → select thinking on/off → confirm. That's several keystrokes for a setting users may want to flip quickly between turns — e.g. switching from a complex task to a trivial follow-up.
A direct toggle would:
- Reduce friction for a frequent action
- Match the pattern of other in-session toggles (
Ctrl+X for shell/agent mode, Shift+Tab for plan mode)
- Reuse the existing
default_thinking save + reload mechanism already in place behind /model
Proposed UX
/thinking (canonical) or /t (alias): flip the current thinking state, save config, reload session
Ctrl+T: same behavior, bound in the prompt
- The existing dot indicator (●/○) in the status bar already reflects the state — no new UI needed
- Add
ctrl-t: thinking mode to the rotating toolbar tips
Semantics match the existing /model flow: is_from_default_location guard, always_thinking / thinking capability checks, telemetry via track("thinking_toggle", enabled=...), and raise Reload(session_id=...).
Related work — PR #2158
PR #2158 proposes Ctrl+T for toggling visibility of thinking content (hide/show the streamed reasoning). It's a complementary feature, but it conflicts on the shortcut.
The two are semantically distinct:
| #2158 |
This FR |
| Toggle visibility of thinking output |
Toggle whether thinking is used at all |
| Display preference |
Model capability switch |
| Affects rendering only |
Affects default_thinking config + LLM behavior |
UX rationale for the shortcut split: a base-level capability toggle fits a base modifier (Ctrl+T); a display preference fits a compound modifier (Ctrl+Shift+T). This is consistent with patterns where view modifiers stack on top of base bindings.
That said, this is a maintainers' call. The implementation is the same either way — happy to defer to whatever the team decides.
Reference implementation
I built an external installer that monkey-patches ui/shell/slash.py and ui/shell/prompt.py to add this feature: https://github.com/yahiasalamanca/kimi-cli-thinking-command
Tested on Linux and Windows; macOS coverage by code paths (XDG + legacy ~/Library/Application Support + UV_TOOL_DIR). The patched code is ~50 lines and mirrors /model's flow — should map cleanly to a native implementation.
Summary
Add a
/thinkingslash command (alias/t) and aCtrl+Tkeyboard shortcut to toggle thinking mode on/off for the current model, without leaving the interactive session.Motivation
Today, toggling thinking mode requires
/model→ select model → select thinking on/off → confirm. That's several keystrokes for a setting users may want to flip quickly between turns — e.g. switching from a complex task to a trivial follow-up.A direct toggle would:
Ctrl+Xfor shell/agent mode,Shift+Tabfor plan mode)default_thinkingsave + reload mechanism already in place behind/modelProposed UX
/thinking(canonical) or/t(alias): flip the current thinking state, save config, reload sessionCtrl+T: same behavior, bound in the promptctrl-t: thinking modeto the rotating toolbar tipsSemantics match the existing
/modelflow:is_from_default_locationguard,always_thinking/thinkingcapability checks, telemetry viatrack("thinking_toggle", enabled=...), andraise Reload(session_id=...).Related work — PR #2158
PR #2158 proposes
Ctrl+Tfor toggling visibility of thinking content (hide/show the streamed reasoning). It's a complementary feature, but it conflicts on the shortcut.The two are semantically distinct:
default_thinkingconfig + LLM behaviorUX rationale for the shortcut split: a base-level capability toggle fits a base modifier (
Ctrl+T); a display preference fits a compound modifier (Ctrl+Shift+T). This is consistent with patterns where view modifiers stack on top of base bindings.That said, this is a maintainers' call. The implementation is the same either way — happy to defer to whatever the team decides.
Reference implementation
I built an external installer that monkey-patches
ui/shell/slash.pyandui/shell/prompt.pyto add this feature: https://github.com/yahiasalamanca/kimi-cli-thinking-commandTested on Linux and Windows; macOS coverage by code paths (XDG + legacy
~/Library/Application Support+UV_TOOL_DIR). The patched code is ~50 lines and mirrors/model's flow — should map cleanly to a native implementation.