Is Nushell Worth the Hype?


It was only two weeks ago that I felt like I’m on the bleeding edge of technology after realizing I’ve been ignoring fish shell and decided to give it a go.

The pile of comments mentioning Nushell left me no choice, so today we’re checking it out, and trying to see whether it’s worth the switch, and for whom.

Ever felt frustrated parsing JSON or CSV files in your terminal? I know I did.

The traditional Unix shell treats everything as text streams, making it surprisingly hard to work with modern data formats. So everybody just uses JQ, YQ and other parsers to bridge the gap and that’s the standard. It’s one of these “must have” libraries everyone holds in their dotfiles recipe.

With its 32,000 stars on GitHub, Nushell’s approach is different:

“Rather than thinking of files and data as raw streams of text, Nu looks at each input as something with structure.”
- Nushell docs

This fundamental shift in approach is what makes Nushell fascinating. It treats command outputs as structured data tables instead of raw text. This means you can query your filesystem like a database, parse JSON with native commands, and even interact with SQLite (!!) databases directly from your shell.

The practical benefits become even more clear when get your hands dirty with it:

  1. Structured Data Handling: Instead of piping text between grep and awk, Nushell lets you query data using intuitive commands like where, sort-by, and select. A simple example would be running ls | sort-by modified to instantly sort files by modification date.
  2. Built-in Type System: The shell understands data types out of the box. No more guessing if a variable contains a number or a string. This prevents countless scripting errors before they happen. If you ever tried input validation with bash you should be excited now 😅
  3. Modern Developer Experience:
    • Native JSON/YAML parsing
    • Supported by modern prompts like starship, and tools like Zoxide
    • HTTP requests built into the shell (which you can query directly ❤️‍🔥)
    • SQL database browsing
    • Powerful completions via Carapace:
      After realizing Nu isn’t supported by major tools like Kubernete’s kubectl and AWS CLI, I made my mind to go back to ZSH feeling defeated.
      Being a cross-shell Cobra completion library, Carapace not only made me change my mind (again) with Nushell, but actually took terminal completions to the next level! It magically restored every missing completion I needed and upgraded it in one shot.

Ready to try it out? Here’s a quick start:

  1. Install Nushell using your package manager (yea yea, I use Nix)
  2. Add Starship prompt for familiar territory
  3. Install Carapace for excellent completions
  4. Configure XDG_CONFIG_HOME paths in the default config.nu to make sure the right configuration file is loaded (you can find my config for reference here)

The learning curve exists, but the productivity gains make it worthwhile.

For me, the ability to query JSON APIs directly in the shell and get structured output has been transformative not only for daily DevOps tasks, but also for side projects and standard terminal use.

Is Nushell perfect? No. You’ll hit some compatibility bumps, and certain muscle memory from zsh will need rewiring (no more export key=val it’s now $env.key = val).

But if you work with structured data regularly, the benefits far outweigh the initial adjustment period.

For now, Nushell stays with me. I’ll report back in a few months with updates :)

ESPRESSO FRIDAYS

Every once in a while I send hand picked things I've learned. Kind of like your filter to the tech internet. No spam, I promise!

Read more from ESPRESSO FRIDAYS

I’m Done With Manual Proxies. (Use Traefik Instead) This issue is brought to you by: Incident.io: Move fast when you break things The all-in-one AI platform for on-call, incident response, and status pages—built for fast-moving teams. Get started for FREE! If you’ve ever felt like pulling your hair out while manually editing Nginx config files just to add one simple container, this is for you. Modern infrastructure is dynamic, but our proxies are often static. In the old days, you’d spin up a...

I replaced Docker with THIS. This issue is brought to you by: Graphite: The next generation of code review. Graphite is the AI code review platform where teams ship higher code, faster. Get started for FREE! You know why you’re here. Because reproducible environments make you tick but too much friction? makes you.. sick 🥁. After 12 years of containerizing / virtualenv-ing, I’ve finally found something that ticks all the boxes. I’m talking about throwing out npm, rvm, nix-env, virtualenv and...

Wait... NGINX can do WHAT?! This issue is brought to you by: Reliable DNS hosting & domain name managementWith DNSimple! From a streamlined interface to single-click integrations, DNSimple delivers the tools you need to simplify your day. Developers and system admins love our single-click integrations and automation tools for domains, DNS, and more. Enterprise teams simplify management of the most complex domain environments through our NEW Domain Control Plane. Try FREE for 30 days! Most...