# Nushell

> A cross-platform shell that treats all data as structured, enabling safe filtering, sorting, and transformation through typed pipelines.

Nushell (Nu) is an open-source shell written in Rust that reimagines how command-line pipelines work by treating every piece of data as structured rather than raw text. It runs on Linux, macOS, BSD, and Windows, and is available via Homebrew, winget, Nix, and many other package managers. The project reached a minimum-viable-product milestone and is actively used as a daily driver by many users, though the README notes that some commands may still be unstable and the design continues to mature.

## What It Is

Nushell is a modern, cross-platform shell that draws inspiration from PowerShell, functional programming languages, and contemporary CLI tooling. Instead of passing raw text streams between commands, Nu passes structured data — tables, records, and lists — through pipelines. This means commands like `ls`, `ps`, and `open` return typed tables that can be filtered, sorted, and transformed with consistent syntax, rather than requiring fragile string parsing.

## How Pipelines Work

Nu's pipeline model extends the Unix philosophy of composable commands while adding a structured data layer. Commands fall into three categories: producers (e.g., `ls`), filters (e.g., `where type == "dir"`), and consumers (e.g., `table`). The pipe symbol (`|`) chains them left to right. Because data is typed, Nu catches type errors at the shell level and provides precise error messages showing exactly where and why something broke — a capability that text-based shells cannot offer.

## Data Format Support and File Handling

Nu speaks JSON, YAML, SQLite, Excel, TOML, and more out of the box. The `open` command loads files as structured data when the format is recognized, allowing users to navigate nested fields directly in the pipeline (e.g., `open Cargo.toml | get package.version`). Web APIs can also be fetched and piped through the same structured commands, making Nu useful for data exploration beyond traditional shell scripting.

## Plugin Architecture

Nu supports a plugin system that extends the shell with additional commands while following the same structured data model as built-ins. Plugins are standalone binaries named with a `nu_plugin_*` convention and communicate with Nu via a JSON-RPC protocol. Filter plugins receive data one element at a time and can stream results back; sink plugins receive the full data vector. The `awesome-nu` repository on GitHub lists a variety of community-built plugins.

## Ecosystem and Official Support

The README lists several projects that officially support Nushell, including zoxide, starship, oh-my-posh, virtualenv, atuin, clap, Direnv, and Windmill, among others. Nu can also be used in GitHub Actions via the `setup-nu` action available in the GitHub Marketplace.

## Update: Version 0.112.2

The latest release is version 0.112.2, published on April 15, 2026, according to the GitHub repository. The project shows active development with monthly commit activity and contributions from a large number of contributors. The repository was created in May 2019 and has accumulated over 39,000 stars on GitHub as of the last recorded update.

## Features
- Structured data pipelines
- Cross-platform support (Linux, macOS, BSD, Windows)
- Built-in support for JSON, YAML, SQLite, Excel, TOML
- Typed data with descriptive error messages
- Plugin system via JSON-RPC protocol
- Interactive autocomplete
- Open and query files as structured data
- Built-in commands: ls, ps, open, where, get, and more
- GitHub Actions integration via setup-nu
- Functional, immutable pipeline design

## Integrations
Homebrew, winget, Nix, zoxide, starship, oh-my-posh, virtualenv, atuin, clap, Direnv, Windmill, GitHub Actions, Couchbase Shell, x-cmd, vfox

## Platforms
WINDOWS, MACOS, LINUX, API, CLI

## Pricing
Open Source

## Version
0.112.2

## Links
- Website: https://www.nushell.sh/
- Documentation: https://www.nushell.sh/book/
- Repository: https://github.com/nushell/nushell
- EveryDev.ai: https://www.everydev.ai/tools/nushell
