41,079
stars
+10
2,351
forks
227
watchers
10,875
prs
7,426
issues
127
releases
986
discussions
README
Nushell A new type of shell. !Example of nushell Table of Contents - Status - Learning About Nu - Installation - Configuration - Philosophy - Pipelines - Opening files - Plugins - Goals - Officially Supported By - Contributing - License Status This project has reached a minimum-viable-product level of quality. Many people use it as their daily driver, but it may be unstable for some commands. Nu's design is subject to change as it matures. Learning About Nu The Nushell book is the primary source of Nushell documentation. You can find a full list of Nu commands in the book, and we have many examples of using Nu in our cookbook. We're also active on Discord; come and chat with us! Installation To quickly install Nu: bash Linux and macOS brew install nushell Windows winget install nushell To use Nu in GitHub Action, check setup-nu for more detail. Detailed installation instructions can be found in the installation chapter of the book. Nu is available via many package managers: For details about which platforms the Nushell team actively supports, see our platform support policy. Configuration The default configurations can be found at sample_config which are the configuration files one gets when they start up Nushell for the first time. It sets all of the default configuration to run Nushell. From here one can then customize this file for their specific needs. To see where config.nu is located on your system simply type this command. rust $nu.config-path Please see our book for all of the Nushell documentation. Philosophy Nu draws inspiration from projects like PowerShell, functional programming languages, and modern CLI tools. Rather than thinking of files and data as raw streams of text, Nu looks at each input as something with structure. For example, when you list the contents of a directory what you get back is a table of rows, where each row represents an item in that directory. These values can be piped through a series of steps, in a series of commands called a 'pipeline'. Pipelines In Unix, it's common to pipe between commands to split up a sophisticated command over multiple steps. Nu takes this a step further and builds heavily on the idea of _pipelines_. As in the Unix philosophy, Nu allows commands to output to stdout and read from stdin. Additionally, commands can output structured data (you can think of this as a third kind of stream). Commands that work in the pipeline fit into one of three categories: - Commands that produce a stream (e.g., ls) - Commands that filter a stream (e.g., where type == "dir") - Commands that consume the output of the pipeline (e.g., table) Commands are separated by the pipe symbol (|) to denote a pipeline flowing left to right. shell ls | where type == "dir" | table = ╭────┬──────────┬──────┬─────────┬───────────────╮ = │ │ name │ type │ size │ modified │ = ├────┼──────────┼──────┼─────────┼───────────────┤ = │ 0 │ .cargo │
Top issues
#5585`nushell` replicates prompt line with every keystroke on `wezterm`86 comments · 2022-05-19#11950Nushell is printing (or asking to print) escape sequences65 comments · 2024-02-23#10100config: history files should be stored in $XDG_STATE_HOME51 comments · 2023-08-23#5552Any way to expand alias?40 comments · 2022-05-16#10610Process substitution/`<(expr)`-like syntax39 comments · 2023-10-04#18297Nushell 1.036 comments · 2026-05-27#12004ls with recursive glob pattern can output empty results27 comments · 2024-02-28#19206Proposal: an independent language specification and conformance test suite for Nushell25 comments · 2026-10-10
Discussions
#19437`overlay use` vs. `use` in terms of tab completions?3 comments · 2026-11-04#19408Nuedit?1 comments · 2026-11-01#19396Can't name variable path1 comments · 2026-10-31#19380Oh My Nu (omn): an Oh My Zsh copycat1 comments · 2026-10-29#19329Should `path type` support following symlinks, and if so, which flag convention?1 comments · 2026-10-23#19312Using `wezterm imgcat $file` in a loop -- each vs for1 comments · 2026-10-21#19301Does `path join` from a string does not result in a string?2 comments · 2026-10-20#19300Unexpected incorrect type error1 comments · 2026-10-19
Latest release
0.116.1 0.116.1 2026-10-04This is the 0.116.1 release of Nushell. You can learn more about this release here: https://www.nushell.sh/blog/2026-10-04-nushell_v0_116_1.html For convenience, we are providing full builds for Windows, Linux, and macOS. Be sure you have the requirements to enable all capabilities: https://www.nushell.sh/book/installation.htmldependencies This release was made possible by PR contributions from @app/dependabot, @cptpiepmatz, @fdncred, @kronberger-droid