Release notes

FEATURE

Intuitive shortcuts and interrupt operations with foolproof keybinding settings

Keyboard shortcuts now behave much more intuitively. Pressing ctrl+c once interrupts whatever the agent is currently doing (like stopping a rambling, streaming response), and pressing it twice exits the program. Furthermore, this acts as a fail-safe safety valve: even if you mapped ctrl+c to another function in your settings, the system forcibly intercepts it to prevent you from getting permanently locked up, offering clear suggestions on how to fix your config. When pressing ctrl+d while typing, it now correctly forward-deletes text, and only exits the app if the input box is completely empty — no more accidentally closing the whole program just because you tried to delete a typo. The custom keybinding system is also smarter now: if you misspell a key name, it will outright reject it and suggest the correct spelling, ensuring you don't register "dead keys" that can never be pressed; the error messages also use human-readable names (like cli.escape) and appear as transient alerts instead of permanently hogging valuable space at the bottom of the screen. Like riding an elevator: you used to press the "open door" button and the elevator might shut down, or you might accidentally lock yourself out while setting up the security system; now, the emergency stop button is guaranteed to work, and if you punch in the wrong passcode format, it corrects you on the spot.

FEATURE

Blazing fast history loading with improved search and rename features

Opening /resume to view your conversation history is now blazingly fast and smooth. Previously, if you had a massive chat history, loading this screen would freeze for a long time while spamming loading logs in the background; now, thanks to a new caching mechanism and parallel loader, the list pops up instantly. When searching or renaming conversations in this view, you can finally paste text directly from your clipboard. The rename input box has also been upgraded to a multiline editor, so long titles won't get chopped off halfway, and the menu cursor will no longer mysteriously vanish. Like searching for a book at the library: the librarian used to flip through cards one by one while mumbling non-stop, but now there's an electronic catalog that finds it in a second, and when you want to add a note to your reading list, you can finally paste an entire paragraph instead of being restricted to a single line.

FEATURE

Better formatting, full-screen command review, and clearer version history

The text and layout in the terminal are now much friendlier. When the tool confirmation dialog pops up asking if you want to run a command, you can press ctrl+g to switch to a full-screen view, allowing you to comfortably inspect and edit the entire command and its permissions rather than cramming into a tiny single-line box. Command output heights now adjust dynamically, and you can even set a maximum terminal height percentage using the AGY_CLI_CMD_OUTPUT_PERCENTAGE environment variable (a parameter used to configure the program's environment). Text formatting has also been improved to stop awkwardly splitting URLs in half just because they contain a hyphen. When viewing the version control system (VCS, like Git) tree history, the @ marker representing your current position now accurately highlights your actual committed state, rather than pointing to the uncommitted "Working Copy", letting you see exactly where you stand. Like watching a movie: the subtitles used to awkwardly chop long URLs in half, and crucial scenes were forced into a tiny window; now the subtitles are perfectly formatted, and you can instantly expand important prompts to full-screen to read every detail clearly.

Original changelog

Original changelogIntuitive shortcuts and interrupt operations with foolproof keybinding settings
Added `ctrl+c` as an exit and interrupt key: the first press cancels active agent operations (like streaming responses), and a double-press triggers the exit flow. Also added a dynamic exit hint in the status line.
Fixed `ctrl+d` behavior to act as a forward-delete when the input prompt contains text, only triggering the exit flow when the prompt is empty.
Added strict key name validation to the keybindings system to reject invalid key names (like typos) and suggest canonical alternatives, preventing "dead keys" from being registered.
Added a validation warning when `ctrl+c` is mapped to a non-default action, clarifying that the system always intercepts `ctrl+c` to interrupt active operations or exit, and providing instructions on how to resolve the warning.
Improved keybinding error presentation by replacing the persistent error footer with transient error alerts, freeing up valuable terminal space.
Improved keybinding validation warning messages to use user-facing names (e.g., `cli.escape`) instead of internal representation names.
Improved startup behavior by only creating the `keybindings.json` configuration file when the user explicitly runs the `/keybindings` customization command, rather than automatically generating it on every startup.
Fixed the `ctrl+c` exit safety valve to ensure it always works as an interrupt or exit key, regardless of how it is mapped in the user's custom keybindings configuration.
Original changelogBlazing fast history loading with improved search and rename features
Improved `/resume` loading performance by implementing a persistent metadata cache and parallel loader, eliminating severe latency with large conversation histories and preventing background loading log spam.
Improved the `/resume` experience: added support for pasting clipboard text into the search filter and rename fields, upgraded the rename input to a multiline editor to prevent long titles from being hidden, and fixed a bug where the navigation cursor could disappear.
Original changelogBetter formatting, full-screen command review, and clearer version history
Added an expanded AltScreen view for tool confirmations (accessible via `ctrl+g`), allowing users to view and edit the full command and associated permissions in a dedicated full-screen view, replacing the inline edit (`e`) key.
Added the `AGY_CLI_CMD_OUTPUT_PERCENTAGE` environment variable, allowing users to customize the maximum height of command outputs in the TUI as a percentage of the terminal height.
Improved command output rendering by making the output height dynamic, improving the readability of commands like `/keybindings`.
Improved text rendering with ANSI-aware word wrapping at word boundaries and prevented URLs containing hyphens from being incorrectly split across lines.
Fixed VCS commit tree rendering to reserve the `@` marker exclusively for the actual current commit in the VCS history rather than the synthetic "Working Copy" entry, helping users easily identify the working copy parent.
Fixed authentication error handling to gracefully handle unsigned-in states by returning an empty configuration and suppressing noisy error logs.