v0.8.4 new: settings window, right-click menu & litty img

The tiny, fast terminal with a hamster inside.

litty is a zero-config terminal emulator for macOS and Linux, written in Rust. It starts fast, sits at 0% CPU when idle, and does the everyday things really well.

Download for macOS

Universal (Apple silicon + Intel) · 6.7 MB · Linux & other ways · Free & open source (MIT)

6.7 MBmacOS download
0%CPU when idle
0config files needed
Rustno Electron, no web view

features

Small on purpose.
Good at the parts you use.

01

Command blocks

Failed commands get a soft red tint, slow ones show exit 1 2.4s. ⌘⇧C copies just the last output; ⌘-click a prompt to select its output. Works out of the box with zsh, bash and fish.

02

Real macOS tabs & splits

Tabs are native windows: drag to detach, Mission Control, the system tab bar. Split with ⌘D, zoom a pane with ⌘⇧↩.

03

A hamster in your menu bar

It runs in its wheel while a command runs, and cheers or looks dizzy when a long one finishes in the background, with a notification that takes you back to the tab.

04

Thai done right

Tone marks stack correctly, and double-click selects one Thai word, not the whole line. Plus colour emoji and => != -> ligatures.

05

Signed self-updates

litty checks at most once an hour and verifies every download with an ed25519 signature before installing it. On Linux, .deb and .rpm installs update with one click.

06

Zero config

Good defaults, a dark and a light theme, remembered window size and zoom. When you do want to change something, ⌘, opens a native settings window on macOS, and the config file covers fonts, colours, padding, keybinds and a drop-down quick terminal. Changes apply right away.

07

Images, right in the terminal

litty img photo.jpg shows PNG and JPEG pictures with nothing else installed. Tools that use the Kitty graphics protocol, such as chafa, draw real pictures too. They scroll with your text and leave with your scrollback.

08

Pick up where you left off

Quit with tabs and splits open, and they come back next time, each in the folder it was in. Close the windows yourself and you start fresh.

09

Speaks modern terminal

The Kitty keyboard protocol, curly and coloured underlines, flags and emoji families, Nerd Font icons built in, and VT details checked with vttest.

what's new

Litty learned some tricks.
All of them still weigh nothing.

Images

Pictures, not placeholders.

litty img prints PNG and JPEG pictures right where you are, shrunk to fit the window and turned upright the way your phone took them. It needs nothing else installed, and works over ssh when the other end has litty. Tools that speak the Kitty graphics protocol, such as chafa, draw real pictures too. A picture is pinned to the line it was printed on, so it scrolls with your text and is freed when that text leaves the scrollback. Each pane keeps at most 64 MB of images.

Settings · everyday comforts

Change it without editing a file.

On macOS, ⌘, opens a native Settings window: theme, font, size, cursor, a see-through or blurred background, and more. Changes apply as you make them, and text already on screen and in the scrollback follows a new theme. On Linux, Ctrl+Shift+, opens the config file, and litty picks up your edits when you come back to it.

Right-click for Copy, Paste, Open Link, splits and Reopen Closed Tab. Drop a file on the window to type its path. Pasting several lines into a shell asks first, and programs that report progress get a bar across the top of the pane and a percentage on the Dock icon.

Sessions

Quit. Come back. Carry on.

Quit with ⌘Q (Ctrl+Shift+Q on Linux) and Litty stuffs your windows, tabs and splits in its cheeks. Next launch they're back, split ratios and all, each pane in the folder it was in. Close the windows yourself and you start fresh; restore = false turns it off.

Quick terminal · macOS

A terminal one key away.

Pick any keys and a terminal drops across the top of the screen from whatever app you're in, then hides again with the same keys. It uses the standard hot-key API: no accessibility permission, and nothing is loaded until you turn it on.

zsh · bash · fish

Command blocks in every shell.

Failed commands get a red tint and an exit 1 label, ⌘↑ jumps between prompts and slow commands tell you when they're done. That used to need zsh; now bash and fish get it too, without litty touching your dotfiles.

Under the hood

Speaks modern terminal.

The Kitty keyboard protocol, so neovim and helix can tell Ctrl+I from Tab. Curly, dotted and coloured underlines for your editor's diagnostics. Flags, skin tones and emoji families drawn as one picture. Nerd Font icons built in, CJK found through fontconfig, and the VT details vttest checks for.

~13 MBof memory with a shell open
24 msfrom launch to your shell
0%CPU while you read
~3 MBdownload on Linux

Measured with the Linux build on Ubuntu 24.04 (arm64). Memory is the resident size with one pane; macOS numbers vary with display scale.

menu bar

Glance at the menu bar.
Know what your terminal is doing.

Start a long build, switch to your browser, and watch Litty run. When the command finishes, it stops. Try it:

mascot

Meet Litty. Poke it.

The hamster at the top of this page follows your cursor, likes being clicked, gets hungry when you hover a download button, and falls asleep if you ignore it. These are its moods:

Litty the hamster, ready
ReadyWaiting at the prompt.
Litty the hamster, happy
HappyAll tests passed.
Litty the hamster, stuffed
StuffedDownloading your update.
Litty the hamster, sleepy
Sleepysleep 8h

install

Pick your way in.

Or download the .dmg and drag litty to Applications. The app isn't notarized yet: the first time, right-click it and choose Open.

faq

Questions, answered.

Is litty free?

Yes. litty is open source under the MIT license, and there's nothing to buy.

Which systems does it run on?

macOS (one universal app for Apple silicon and Intel) and Linux (x86_64 and arm64).

Why does macOS say the app can't be checked?

litty isn't notarized by Apple yet. Homebrew and the install script handle this for you. After a manual download, right-click the app and choose Open once.

Do I need to configure anything?

No. If you want to, litty → Settings… (⌘,) on macOS changes the common settings, and the optional file ~/.config/litty/config sets the theme, font, size, colours, padding, cursor, scrollback, keybinds, session restore, a quick-terminal hotkey and the menu-bar hamster. Changes apply right away.

How do updates work?

litty checks GitHub at most once an hour. When a new version exists, a small notice appears; the download is verified with an ed25519 signature and installed when you quit. On Linux, .deb and .rpm installs download the signed package and install it right away (the system asks for your password). If Homebrew or another package manager installed litty, it tells you the command to run instead.

Does the menu-bar hamster slow anything down?

When it's still, it costs no CPU at all. It only animates while a command runs longer than a second and no litty window is in front, and you can turn it off with tray = false.

Does it support images?

Yes. litty img photo.jpg shows PNG and JPEG pictures with nothing else installed, and tools that use the Kitty graphics protocol (PNG, RGB and RGBA), such as chafa, work too. Sixel and images inside tmux aren't supported yet.

Will my shell prompt's icons show up?

Yes. litty has the Nerd Font symbols built in, so prompts like Starship or Powerlevel10k show their icons with any font, and powerline arrows fill the whole cell.

Give Litty a home.

Download litty 0.8.4. It's free, it's small, and the hamster is already fed.

Download for macOS