Fundamentals 4 min read

Fish Shell Announces Plan to Transition from C++ to Rust

The fish command‑line shell, known for its user‑friendly features, is planning a gradual migration from C++ to Rust to reduce development pain, attract contributors, improve concurrency support, and keep the project modern, with a PR already demonstrating several components rewritten in Rust.

IT Services Circle
IT Services Circle
IT Services Circle
Fish Shell Announces Plan to Transition from C++ to Rust

Fish is a user‑friendly command‑line shell for Linux and macOS, offering powerful features out‑of‑the‑box without requiring additional configuration.

The fish author recently submitted a pull request stating the intention to rewrite the project in Rust, describing the effort as a "port" rather than a full rewrite because the migration will be incremental, converting modules one by one while maintaining compatibility via FFI.

Reasons for the transition include:

Developers dislike C++ and CMake, and there is no clear path to abandon the legacy toolchain, leading to increasing development pain each year.

C++ is becoming a legacy language, making it harder to attract contributors, whereas Rust has an active, growing community.

Rust provides the language features needed for concurrent function execution.

Rewriting in Rust will help fish remain modern and valuable.

To demonstrate feasibility, the PR already ports several components—FLOG, theme monitor, wgetopt, builtin_wait, and others—into Rust. The Rust code lives in a crate linked to the existing C++ code via FFI.

Developers can build the mixed codebase by:

Installing Rust 1.67 or newer.

Running the usual cmake build, optionally using corrosion to handle the Rust parts.

For a detailed description of the Rust rewrite plan, see the documentation at https://github.com/ridiculousfish/fish-shell/blob/riir/doc_internal/fish-riir-plan.md .

Rustopen-sourceprogramming languagesFish Shellshell
IT Services Circle
Written by

IT Services Circle

Delivering cutting-edge internet insights and practical learning resources. We're a passionate and principled IT media platform.

0 followers
Reader feedback

How this landed with the community

login Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.