#9660·pi

/hotkeys: ctrl+x (app.message.copy) description omits selection and /tree fallbacks

Author: shihaonan369Created Sep 16, 2026Updated Sep 17, 2026

What happened?

/hotkeys describes ctrl+x (app.message.copy) as "Copy last assistant message", but that's only the last fallback. Actual behavior of handleCopyCommand() is:

  1. in /tree: copies the selected message
  2. fullscreen with fullscreenCopyOnSelect: false and an active selection: copies the selection
  3. otherwise: copies the last assistant message

docs/keybindings.md already describes the full chain, and the action description in keybindings.ts says a third variant ("Copy message to clipboard"), so three strings disagree.

Steps to reproduce

  1. Set "fullscreenCopyOnSelect": false
  2. Select text in the fullscreen TUI, press ctrl+x
  3. The selection is copied, not the last assistant message — /hotkeys never mentions this

Expected behavior

/hotkeys and the keybindings.ts description should match the actual chain, e.g. "Copy selection or last assistant message (in /tree: selected message)".

Docs-only change, no behavior touched. Proposed diff: https://github.com/earendil-works/pi/compare/main...shihaonan369:pi:fix/hotkeys-copy-description — happy to open the PR if approved.

Version

0.85.1

AI assistance: this issue was drafted with AI assistance; I verified the source locations and behavior locally.