v0.5.1 · Linux and macOS

A well-stirred shell

Your shell, with aricher vocabulary.

Quirl keeps the Bash and Zsh habits you already have, from pasted loops to source .env, completes the way Zsh does, and adds Nushell-style typed data and one sandboxed Lua 5.5.1 SDK for configuration, scripts, prompts, completions, and plugins.

Available now · Homebrew and verified native release archives

SIDE A — QUIRL v0.5.1

Recorded with the published macOS ARM release package for v0.5.1 from commit 3f0064c. See the recording provenance, first-session guide, and release measurements.

Familiar at the prompt. Explicit underneath.

Quirl gives command bytes, structured values, and extension code distinct boundaries—then makes moving between them deliberate.

01

Your habits, intact

Pipes, redirects, jobs, and variables run natively. Pasted loops, source, and eval run through /bin/sh and keep their variables.

02

Typed data pipelines

where, sort-by, group-by, and exact math over JSON, YAML, TOML, CSV, and files, in colored tables that fit your terminal.

03

Sandboxed Lua

One restricted, resource-budgeted Lua 5.5.1 runtime powers the programmable surface behind a Rust-validated boundary.

04

Completion like Zsh

Tab inserts, extends, and lists as Zsh does, asks Zsh and tools like docker and kubectl for values, and documents every candidate.

Every image comes from the published release binary running an isolated demo workspace.

Three modes of work. No hidden coercion.

Command mode moves bytes. Data mode moves typed values. Lua handles general-purpose logic inside a constrained runtime. The boundary is visible every time you cross it.

CMDDATALUAQUIRL
Read the language design →
RELEASE NOTES

The 0.5 release is here.

Quirl 0.5 is safe as your login shell: ssh, scp, rsync, and editors get exact POSIX behavior, and pasted loops, source, and eval just work. Data mode gains Nushell's verbs and tables that fit, and Tab asks docker, kubectl, and gh for completions.

Explore everything →