Nushell is a modern shell built in Rust that fundamentally rethinks how shells work by treating all data as structured information rather than plain text streams. Instead of piping raw text between commands and relying on tools like grep, awk, and sed for parsing, Nushell passes typed tables, records, and lists through a uniform pipeline. The result is a shell where ls | where size > 10mb | sort-by modified is a single coherent query rather than a chain of ad-hoc text hacks, with consistent column semantics regardless of whether the source was a directory listing, a JSON API response, or a SQLite query.
Its standard library ships with native support for JSON, YAML, TOML, CSV, XML, SQLite, Parquet, and many other formats — parsing happens automatically so every command sees structured data. Built-in commands for HTTP requests, file IO, date math, and string manipulation remove the need for dozens of external utilities, and the language borrows ideas from functional programming, SQL, and PowerShell to make data transformation concise and readable across Linux, macOS, and Windows. Errors are typed values with spans, so debugging a broken pipeline feels closer to a compiler diagnostic than a mystery exit code.
Nushell suits developers and data-heavy engineers who work with configuration files, APIs, and logs and want a more consistent interactive experience than bash or zsh. It coexists with existing shells — run it alongside your current shell for exploration, data pipelines, or quick ad-hoc analysis without abandoning the Unix tools you already know. A growing plugin ecosystem extends it to new data sources and custom commands, and the project ships stable releases roughly monthly with a large active community on GitHub and Discord.
