Lokyr
A fast terminal for macOS, written in Rust, where every visible feature is a plugin.
- macOS 26 or later
- Apple Silicon
- MIT, open source at 1.0
~ ❯ cat ~/.config/lokyr/config.toml [font] family = "SF Mono" size = 13 [cursor] shape = "bar" smooth-blink = "breathing" [quick-terminal] position = "top" [keys] "global:ctrl+`" = "window.toggle-quick-terminal" ~ ❯
Why Lokyr
A small core, and plugins for everything you see.
-
01
Plugins all the way
Tabs, splits, search, themes and the command palette are plugins, on the same API that everyone else gets. The core keeps the terminal itself.
-
02
Plugins you can trust
A third-party plugin is a Luau script in a sandbox of its own. It reaches only what it declares, and Sleip, Lokyr's package manager, shows you that before it installs.
-
03
Fast where you feel it
Its own VT core, with 8-byte cells, and a Metal renderer: a frame of steady output in about a quarter of a millisecond at 4K.
-
04
Native on macOS
An AppKit window, CoreText shaping and font fallback, input methods, Secure Keyboard Entry, and a quick terminal on a global key.
-
05
Ready for agents
Lokyr will be an MCP server: an agent works in its own pane and the panes it opens, and the tabs show what each agent is doing.
-
06
One plain file
Every setting lives in one TOML file that can sit with your dotfiles, checked before Lokyr applies it.
Measured, not assumed
Light at rest, quick under load.
- Startup
- 256ms
- to the first window
- Memory
- 25MB
- at rest, without the GPU's
- Wakeups
- 0.38/s
- at rest
- Throughput
- 296MiB/s
- cat of 1 GiB on screen
A release build on an M5 Pro, Menlo 13 in 120 × 40 cells. Every measure, its method and its limits will be published with the source.
The road
Built in phases, each with criteria that are measured.
- FoundationsWorkspace, CI, the measuring toolsdone
- Terminal coreChecked against xterm and fuzzersdone
- The macOS appA window of one panein daily use
- 1.0Tabs, splits, search, themes, the palette, updatesnow
- 1.1MCP and agentsnext
- 2.0Third-party plugins and Sleiplater