Skip to content
lash logo

Welcome

A dual-grammar shell that bridges shell execution and functional programming.

Run Any Command

All your POSIX commands work out of the box. ls, grep, git — everything you know, unchanged.

Functional Chains

Chain methods onto command output: `ls`.filter("*.d").sort(). No more pipes-to-awk gymnastics.

Turbo Mode

Pipeline optimizer rewrites sort | uniq | head into native operations — no fork/exec overhead.

Smart Errors

Human-friendly error messages with suggestions. Mistype a command? lash offers corrections ranked by your usage.

AI Assistant

Type > at the prompt to ask questions in natural language. Context-aware answers using your current directory and lash syntax.

Built-in Security

Role-based access control, tamper-evident audit logs with HMAC-SHA256 hash chains, and capability-based permissions.

# Classic pipes work as expected
ls /etc | sort | head -5
# Functional chains make data manipulation readable
`cat users.csv`.drop(1).map(x => x.split(",")[0]).sort().unique()
# Variables with types
let name = "lash"
let count = 42
let items = [1, 2, 3, 4, 5]
# Control flow with modern syntax
for item in items.filter(x => x > 2) {
echo "$item is greater than 2"
}

New to terminals?

Start with Getting Started — no prior experience needed. We explain every concept from scratch.

Power user?

Jump to Tutorials to learn functional chains, turbo mode, and scripting features that set lash apart.

Developer?

Dive into the Reference for architecture details, the plugin system, LSP, and DAP protocol specs.