Lua in your shell.

Hilbish is a modern, extensible shell for everyone. Write your config and scripts in Lua, not bash.

Why Lua?

Truly Configurable

Your shell, your way. Change prompts, keybinds, completions, all in Lua. The power is in your hands.

Fast to Learn

If you know Python or JavaScript, Lua will feel natural. Maybe you already know Lua too :)

Built for Developers

Runner Mode

Choose how to interpret commands. Lua-first (default), shell-first, pure Lua, or custom languages like Fennel.

Smart Completions

Write contextual tab completions in Lua. Grid or list menus, descriptions, and flags, all fully customizable.

Customizable Line Editor

Syntax highlighting, history search, vim mode are all tweakable in Lua. Full control over your input experience.

Interactive History Menu

Visual history search. Browse and search your command history with an intuitive graphical interface.

Notification System

In-shell messaging for background jobs and custom events. Display and manage shell notifications in Lua.

Full Lua Ecosystem

Use any pure Lua library. LuaRocks packages, custom modules, whatever you need is all available.

Quick Example

local bait = require 'bait'
local commander = require 'commander'

-- Custom command
commander.register('mycommand', function()
  print('Hello from Lua!')
end)

-- React to directory changes
bait.catch('cd', function()
  os.execute 'ls -la'
end)

-- Aliases
hilbish.alias('ga', 'git add')
hilbish.alias('gm', 'git commit -m')

Ready to dive in?

Install Hilbish and start scripting in Lua today.