hash v30 – A POSIX-compliant shell written from scratch in C
hash is a fast, lightweight Unix shell written from scratch in C with a focus on POSIX compliance and cross-platform portability.
Whether you're on Linux, macOS, or FreeBSD, x86_64 or ARM64, hash runs natively with zero dependencies. It's designed for developers who appreciate the simplicity of POSIX semantics but want a shell built with modern tooling and release practices.
What makes hash different:
🔧 Built from scratch. Not a fork or wrapper.
📜 POSIX-first. Passes a growing suite of POSIX compliance tests.
⭐ Starship support. Use your favorite prompt out of the box.
📦 Easy installation. APT repository for Debian/Ubuntu, Homebrew for macOS, static binaries for everything else, checksums for verification.
🔒 Signed releases. GPG-signed commits and tags. Know what you're running.
v30 highlights:
Major POSIX semantics fixes for case escaping, expansion order, readonly variables, and function error handling
Starship prompt integration
Critical stability fixes for .hashrc sourcing and interactive sessions
Hash is free, open-source, and actively developed.


Replies
Hi everyone! I'm Julio, and I've been building hash as a side project for a little over a month.
Why write another shell? Mostly because I wanted to deeply understand how shells work: parsing, job control, expansion, the whole stack. But along the way, it became something I actually use daily.
v30 is a milestone: it passes significantly more POSIX compliance tests than when I started, and it's stable enough that I run it on my own machines without thinking about it.
If you're into systems programming, Unix internals, or you just want a clean, minimal shell, give it a try. I'd love your feedback.