September 5, 2026
Autocomplete acceptance works again, voice dictation has been rebuilt from the ground up, and the terminal now draws at the full refresh rate of your display.
Right Arrow had been a dead key since v1.17.0. The honest reason: Shell Pilot installed its own shell-pilot-right-arrow ZLE widget, and zsh-autosuggestions wrapped it as a modify widget. That wrapper clears the ghost text before it calls the widget it wrapped, so our widget's "is there a suggestion?" test could never be true and it always fell through to plain cursor-right. The custom widget is gone. Right Arrow is back on zsh's stock forward-char, which the plugin already knows how to treat as an accept key.
Tab now accepts the highlighted suggestion too — a new Settings › Assistance › Accept with Tab toggle, on by default. Turn it off to leave Tab entirely to the shell's own completion.
Accepting from the overlay no longer mangles the line. It used to send the whole suggestion as keystrokes on top of what you had already typed, so accepting "git status" at the prompt git st produced git stgit status. It now sends only the missing part when the suggestion extends what you typed, and clears the line first when it does not.
Up Arrow at the top of the list now falls through to shell history instead of trapping you in the overlay, and dismissing with Esc sticks for the token you are typing rather than springing back on the next keystroke.
Suggestion quality improved alongside it: the prediction key for longer commands no longer includes the half-typed word, a trailing space now predicts the next word instead of re-completing the last one, and a suggestion identical to what you have already typed is filtered out rather than offered as a no-op.
Dictation shipped in v1.18.0 and turned out to be largely unusable. The biggest single bug: the code that delivers recognized text to the terminal was attached to the toolbar microphone button, and a toolbar item that collapses into the overflow chevron is never created. On a narrow window, dictation listened and typed into nothing. That wiring now lives on the split view, which is always present.
--, "tilde slash" into ~/, "pipe" into |, "and and" into &&. It joins spelled-out letters into one word and fixes the handful of homophones the recognizer reliably gets wrong ("get status" into git status).SwiftTerm hardcoded a 60 fps redraw throttle, which capped the terminal at 60 Hz on a ProMotion display no matter what else was set. Our copy now takes a maximum redraw rate that defaults to matching the display, read live from the screen — so moving the window to a 60 Hz external display is handled automatically.
New Settings › Terminal › Frame Rate: Match Display, 60 fps, or 30 fps. Low Power Mode caps Match Display at 60.
Closing a running session used to raise two different dialogs with the same words depending on how you closed it — the sidebar close button showed one, ⌘W and File › Close Session showed another. All three now go through one path: an idle session closes outright, and a running one asks once.
Automatic window tabbing is disabled. Every terminal view is owned by a single shared store, and a view can only live in one window, so letting macOS open a second window or tab re-parented the live terminal out of the first window and left it blank. Real multi-window support needs deeper changes and is future work.
The app had almost no animation, and what it had was inconsistent — the find bar popped into place, the suggestion overlay appeared in a single frame, and the git commit hash ran a shimmer sweep out of register with everything else. Every animation now runs through one Reduce Motion-aware system with four tokens: quick for anything appearing while you type, standard for chrome and lists, gentle for data readouts, and hover for pointer feedback. Nothing overshoots.
What moves now: the suggestion panel fades and scales up slightly from whichever caret edge it is anchored to; its selection is one highlight that slides between rows; the find bar slides down and its "N of M" counter rolls instead of jumping; a drag over the terminal fades in an accent border; sessions slide in and leave by fading; the file tree drops open behind a single rotating chevron; and the activity bars and memory figures ease between samples. Under Reduce Motion all of it collapses to a brief cross-fade. Deliberately not animated: terminal text, session switching, and the overlay's caret-following reposition — none of which may cost a keystroke.
$VARIABLES. If you dictate something that genuinely needs mixed case, turn the option off in Settings.