Julio Jimenez

hash v30 – A POSIX-compliant shell written from scratch in C

by

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.

15 views

Add a comment

Replies

Best
Julio Jimenez

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.