Compose History

Compose History lets you recall recently submitted text from Terminal Spotlight, ACP chat, and VibeCast compose fields. It uses the same boundary-aware behavior in the main window and detached boards.

Where recall works

  • Terminal Spotlight compose boxes, including both halves of a terminal combo
  • ACP chat compose fields
  • VibeCast compose fields

Each compose input keeps an independent history. A command recalled in one terminal or conversation does not appear in another input’s history.

Recall older and newer entries

  1. Place the caret on the first visual line of the compose field.
  2. Press Up to recall the previous submitted entry.
  3. Continue pressing Up to move to older entries.
  4. Place the caret on the last visual line.
  5. Press Down to move toward newer entries.

Pressing Down past the newest entry restores the draft you were writing before you entered history.

Multiline text

Up and Down retain normal caret movement on interior lines of multiline text. History recall starts only when the caret is on the first visual line for Up or the last visual line for Down.

Edit or send a recalled entry

Editing recalled text exits history traversal and leaves the text available as a new draft. Sending an entry stores it in that input’s history and clears the pending draft. Consecutive duplicate submissions are stored once.

Combo isolation

Each terminal half in a Spotlight combo keeps its own compose text, pasted images, and recall history. When you send from the unfocused half, CrispyVibe focuses that terminal before delivery.

Arrow-key priority

Compose recall responds only to unmodified Up and Down:

  • Option, Cmd, Shift, or Ctrl with an arrow does not recall history.
  • An overlay that captures Up and Down, such as the inline-trigger picker, receives those keys before compose history.
  • In VibeCast, Option+Up and Option+Down continue to cycle targets.

Storage and privacy

Compose history remains in memory for the current app session and keeps up to 500 entries per input. It is not written to disk and normally clears when you restart CrispyVibe.

🚨 Warning: Text sent through a participating compose field, including secrets, can be recalled from that same input during the current app session. Closing a pane does not currently guarantee that its in-memory history is cleared before the app exits.

Troubleshooting

ProblemWhat to do
Up moves the caret instead of recalling historyMove the caret to the first visual line and close any inline-trigger picker or other overlay that captures Up and Down.
Down does not restore the draftMove to the last visual line, then continue past the newest recalled entry.
A modified arrow does not recall historyUse plain Up or Down; modifier combinations retain their normal editor or VibeCast behavior.
Another combo terminal shows different historyThis is expected. Every terminal half and compose input has an isolated history.