Skip to content

Nushell

A shell that treats command output as structured data you can filter and pipe.

Stars
40.8k
Forks
2.3k
Licence
MIT
Language
Rust
Last update
5 days ago
Type
Dev tool

What it is

Nushell is a command-line shell, the program you type commands into in a terminal. Instead of passing plain text between commands, it passes structured data such as tables and records, so a command like ls returns rows you can filter and sort. It is written in Rust and is MIT licensed.

  • List directory contents and filter them, for example ls | where type == "dir"
  • Check running processes with ps and filter by CPU use
  • Open a structured file such as Cargo.toml and drill into a field with get package.version

Great for

  • Developers who work a lot in the terminal and want to query files, processes, or config files as data
  • People who already like pipelines and want to compose commands in new ways
  • Users on Linux, macOS, or Windows who want to try a different shell alongside their current one

Not ideal for

  • People who need a fully stable, unchanging shell: the README says the project is at a minimum-viable-product level, some commands may be unstable, and the design may still change
  • Anyone who relies on strict POSIX shell scripts, since Nu is a different language and existing bash scripts will not simply run in it
Step-by-step guide: how to use NushellInstall, first run, examples, tips and FAQs

How to get it

  1. 1

    Install with a package manager

    Install on Linux or macOS with Homebrew

    brew install nushell

    Install on Windows with winget

    winget install nushell
  2. 2

    Run it

    • Install Nushell with your package manager or download a release binary
    • Start it by running nu in a terminal
    • Try ls | where type == "dir" to see a filtered table
    • Type $nu.config-path to find where config.nu lives
  3. 3

    Get the most out of it

    • Read the Nushell book at nushell.sh/book for the full command reference
    • Browse the cookbook at nushell.sh/cookbook for worked examples
    • Customize config.nu, using the default sample config as a starting point
    • Explore the plugin model, where plugins are nu_plugin_* binaries on your path that speak JSON-RPC

Downloads

Strengths

  • Commands return structured tables, which makes filtering and reshaping output more direct than parsing text
  • Pipelines read left to right and are built around composing the same commands in different ways
  • Active project with an official book, cookbook, and Discord community

Trade-offs

  • The README says the design is subject to change and some commands may be unstable
  • It is a different language from POSIX shells, so switching requires learning new syntax
  • Plugin support is described only briefly in the README, so the plugin workflow is not fully clear from it

How it compares

ProjectStarsTypeLevelUpdatedBest for
nushell (this)40.8kDev toolintermediate5 days agoDevelopers who work a lot in the terminal and want to query files, processes, or config files as data
PowerShell56kCLIbeginner4 days agoDevelopers who script or automate tasks across Windows, Linux, and macOS
asdf25.6kDev toolbeginner5 days agoDevelopers who work on several projects that need different language versions
zoxide40.4kDev toolbeginner4 days agoDevelopers who move between many project folders in a terminal
oh-my-posh23.7kDev toolintermediate4 days agoDevelopers who want their terminal prompt to show extra context
spaceship-prompt20.6kDev toolbeginner10 days agoZsh users who want useful information in their prompt without much setup

Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.