diff --git a/packages/coding-agent/CHANGELOG.md b/packages/coding-agent/CHANGELOG.md index 83997d2aa..581ea3652 100644 --- a/packages/coding-agent/CHANGELOG.md +++ b/packages/coding-agent/CHANGELOG.md @@ -4,7 +4,7 @@ ### Added -- **Prompt History Navigation**: Browse previously submitted prompts using Up/Down arrow keys when the editor is empty. Press Up to cycle through older prompts, Down to return to newer ones or clear the editor. Similar to shell history and Claude Code's prompt history feature. History is session-scoped and stores up to 100 entries. +- **Prompt History Navigation**: Browse previously submitted prompts using Up/Down arrow keys when the editor is empty. Press Up to cycle through older prompts, Down to return to newer ones or clear the editor. Similar to shell history and Claude Code's prompt history feature. History is session-scoped and stores up to 100 entries. ([#121](https://github.com/badlogic/pi-mono/pull/121) by [@nicobailon](https://github.com/nicobailon)) ## [0.12.10] - 2025-12-04 diff --git a/packages/coding-agent/src/tui/tui-renderer.ts b/packages/coding-agent/src/tui/tui-renderer.ts index 4546816de..15fcf9924 100644 --- a/packages/coding-agent/src/tui/tui-renderer.ts +++ b/packages/coding-agent/src/tui/tui-renderer.ts @@ -881,6 +881,22 @@ export class TuiRenderer { } // Clear pending tools after rendering initial messages this.pendingTools.clear(); + + // Populate editor history with user messages from the session (oldest first so newest is at index 0) + for (const message of state.messages) { + if (message.role === "user") { + const textBlocks = + typeof message.content === "string" + ? [{ type: "text", text: message.content }] + : message.content.filter((c) => c.type === "text"); + const textContent = textBlocks.map((c) => c.text).join(""); + // Skip compaction summary messages + if (textContent && !textContent.startsWith(SUMMARY_PREFIX)) { + this.editor.addToHistory(textContent); + } + } + } + this.ui.requestRender(); }