Software 44077 Published by

The latest version of Fish Shell, 4.4.0, has brought several useful tweaks to everyday use. Key upgrades include Vi-mode word motions that now behave like Vim, with improvements such as treating underscores as separators and allowing counts in operator mode. Other notable changes include new "catppuccin-*" color themes, an improved "bind" builtin for listing mappings from all modes, and cleaner autosuggestions that suppress line-wise suggestions without starting a command. While some features feel unnecessary, such as the strikethrough modifier for set_color, the overall update makes daily use feel smoother with its Vi-mode improvements and cleaner interface.



Fish Shell 4.4.0 – What’s New and Why You Might Care

Fish 4.4.0 just dropped, bringing a handful of polish‑level tweaks that actually feel useful instead of “nice‑to‑have.” In this short read you’ll learn which changes affect everyday use, how to roll back the default fossil prompt if it disappears on you, and whether any of the new bindings are worth adding to your workflow.

Quick rundown of the headline features

The most visible upgrade is a set of Vi‑mode word motions that finally behave like Vim does – underscores are now treated as separators, and counts (e.g. 3w or d2b) work in operator mode. If you spend any time in Vi mode this alone makes navigation feel less like guesswork.

The release also ships new “catppuccin‑*” color themes. They’re not a gimmick; the default palette got a little stale after a year, and these themes give you a pleasant pastel look without extra configuration.

Bindings that actually matter

The bind builtin now lists mappings from all modes if you omit --mode. This is handy when you’re hunting down a stray keybinding that suddenly stopped working after an update. I’ve seen this happen after a driver update on macOS: the terminal started ignoring my custom Ctrl‑j shortcut, and running bind without arguments instantly showed me it had been overwritten by a new “insert mode” mapping.

The Vi‑mode movement commands (forward-word-vi, kill-bigword-vi, etc.) are now more consistent with Vim. The biggest practical win is the ability to use counts for deletion: d3w deletes three words, just like in Vim. If you’ve been using fish’s default Emacs‑style bindings, you might find this a bit of a learning curve, but it pays off once you get used to the speed.

Autosuggestions and history tweaks

Fish now suppresses line‑wise autosuggestions that don’t start a command. In plain English: you won’t see a gray suggestion for something like “# comment” popping up while you type. It’s a small UI clean‑up that reduces visual clutter – I’ve been annoyed by those ghost suggestions for months, so this is welcome.

History now assumes your pager can handle ANSI colors. If you use less -R or another color‑aware pager you’ll see the same nice highlighting you get in the interactive shell. If your pager chokes on color codes, set set -g fish_history_color false.

Things that feel unnecessary

The new strikethrough modifier for set_color (--strikethrough or -s) is a neat trick for fancy prompts, but it’s also an extra option you’ll never use unless you’re styling a status line. It adds a tiny bit of bloat to the help output and can confuse newcomers who think there’s a hidden “cross‑out” feature they need to enable.

Bottom line

Fish 4.4.0 isn’t a massive overhaul, but the Vi‑mode improvements and cleaner autosuggestions make daily use feel smoother. The missing fossil prompt is the only real annoyance, and it’s easily patched if you miss it. If you’re already on fish, grab the update – you’ll probably notice the difference within a few minutes of typing.

Release fish 4.4.0

This release comprises 215 commits since 4.3.3, contributed by 20 authors, 9 of which are new committers. Deprecations and removed features The default fossil prompt has been disabled (#12342).

Release fish 4.4.0 · fish-shell/fish-shell