Fish, the popular shell known for being interactive and friendly, has gotten its version 4.2 update.
When you install the latest version, the first thing you'd probably notice is that history-based autosuggestions now handle multi-line commands. History-based autosuggestions have been a part of Fish for a very long time, practically since its inception around 2005.
The feature suggests commands as you type based on your past commands. You can accept the full suggestion by pressing the right arrow key or Ctrl+F, or just grab the first word with Alt+Right Arrow.
UTF-8 is now the default character encoding Fish assumes, even if your system is not set up with a UTF-8 locale. Your old file paths using legacy encodings will still work fine, but they might render a little differently on the command line. A new feature also lets you get more specific with your terminal organization. There is now a fish_tab_title function that lets you set the title of the terminal tab independently from the main window title.
Digging a little deeper, developers will find that the standalone build mode is now the default. This change means that the shell's internal helper functions are embedded directly, so future updates will not break your currently running shells.
This version also requires at least Rust 1.85 to build, carrying on the work that started with its big Rust rewrite back in Fish 4.0. Fish no longer force-disables mouse capture, so you can use your mouse to move the cursor or select completion items in compatible terminals.
As for the bug fixes, a crash caused by an invalid function command has been fixed, and another that occurred when passing negative process IDs to the "wait" builtin on Linux machines is also gone. For anyone using MSYS2, issues with saving and loading universal variables have been resolved. Here's the full list of bug fixes:
- Fix the web-based config for Python 3.9 and older.
- Correct wrong terminal modes set by fish -c 'read; cat'.
- On VTE-based terminals, stop redrawing the prompt on resize to avoid glitches.
- On MSYS2, fix saving and loading of universal variables.
-
Fix errors when using man for the commands
!.,:,[,{ - Fix build issues on illumos systems.
- Fix crash on invalid function command.
- Fix build on SPARC and MIPS Linux by disabling SIGSTKFLT.
- Fix crash when passing negative PIDs to the builtin wait.
- On Linux, fix status fish-path output when fish has been reinstalled since it was started.
You can check out the full changelog here.
Hope you enjoyed this news post. Feedback welcome.
Posted Wednesday 12 November 2025 at 1:00 am AEST (my time).
News posts... 2023: 5,800+ | 2024: 5,700+ | 2025 (till end of October): 5,009
Recommended Comments
There are no comments to display.
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.