Why I Switched Back to Zsh from Nushell

2025-05-26 · Ryan X. Charles

TL;DR: I switched back from Nushell to Zsh because Nushell’s lack of support in tutorials and large language models (LLMs) made it too difficult to use in my daily work. Using Zsh with Oh My Zsh is easier for now, but I may switch back to Nushell one day.


Nushell is a modern shell that supports piping rich, structured data, addressing a significant pain point with how pipes work in POSIX-compliant shells. Being able to pipe structured data makes it possible, in principle, to solve many problems directly from the command line that previously required writing custom programs.

Zsh is a POSIX-compliant shell that has been around for a long time and is currently the default shell on macOS. It lacks Nushell’s structured data capabilities, meaning piped data is always in text form, but it is mature and widely supported. Virtually all tutorials and LLMs fully support Zsh.

Having used pipes extensively, I believe Nushell’s approach is fundamentally superior and has the potential to eventually replace POSIX-compliant shells like Zsh. However, Nushell is still relatively new, and tutorials and LLMs, such as those for installing Python, typically assume you’re using a POSIX-compliant shell like Zsh. This has forced me to spend significant time rewriting Zsh commands into Nushell for my daily work. I’ve decided this extra effort isn’t worth it, so I’m switching back to Zsh for now.

I remain optimistic that Nushell will eventually gain enough popularity for tutorials and LLMs to support it by default (similar to how ORMs support both Postgres and MySQL). For now, though, I’m returning to Zsh.

My Zsh configuration can be found on GitHub here:
github.com/ryanxcharles/zsh-config.

My Nushell configuration can be found on GitHub here:
github.com/ryanxcharles/nushell-config.


Earlier Blog Posts

Why I Moved Back to California from Texas
2025-05-21 · Ryan X. Charles
My Tech Stack in 2025
2025-05-03 · Ryan X. Charles
Bitcoin is Dead in 2025
2025-04-08 · Ryan X. Charles

Back to Blog

Copyright © 2025 Ryan X. Charles
Home · CV · About · Blog