korren
a gpu-accelerated terminal emulator for linux and macos, with panes, tabs, and workspaces built in.
you're never working on just one thing, and your terminal shouldn't act like it. korren is an open-source terminal emulator, written in rust and rendered on the gpu, that multiplexes without tmux: split panes, tabs, and a workspace per project. session restore is built in — reboot and your layouts, running commands, ssh sessions, and scrollback come back exactly as they were. claude, lazygit, btop, and yazi are a keystroke away when you want them — no account, no telemetry, nothing leaves your machine.
the hero plays a scripted terminal session: git status, a failing cargo build, a passing build, and an ssh connect.
a terminal emulator first. everything else is a pane.
korren is a gpu-accelerated terminal emulator written in rust. it multiplexes without tmux, restores every project's layout across launches, tracks the hours you spend in each, and stays out of your way. it runs as a daily driver across linux — x11 and wayland, omarchy and hyprland included — and macos 11+, and it's open source.
a workspace per project
panes and tabs live inside a workspace per project — native, no tmux to configure, layouts persisting across launches. korren tracks the hours you spend in each, so billable time adds up on its own.
gpu-accelerated rendering, in rust
one wgpu + winit pipeline on metal and vulkan. glyph atlas, ligatures, live font scaling, and kitty graphics for real images in the grid — yazi previews, pdf and video thumbnails.
local & quiet
no login, no cloud, no ai-first gimmick — you don't sign into your own terminal. the coding agent you like runs in a pane like any other program: never bolted into the core, never in the critical path of a frame.
a built-in multiplexer: workspaces hold tabs, tabs hold split panes.
no tmux, no plugins: keep a workspace per project — three nesting levels, all keyboard-addressable. drag tabs and workspaces to reorder with live neighbour shifting; the tabstrip shrinks, then scrolls on overflow. focus mode hides every chrome surface — just the grid. session restore writes each session to kdl: geometry, panes, cwd, in-flight commands, replayed scrollback — so every project reopens exactly where you left it.
try it: drag the divider between the panes, or split the focused pane.
restores on the next launch · $XDG_STATE_HOME/korren/session.kdl
automatic time tracking per project.
every workspace is a project, and korren keeps the clock. it counts busy time per project — overlapping panes counted once — then breaks down where the hours went, app by app. daily buckets, stored locally, no timer to start. for a contractor juggling clients, that's billable hours without a stopwatch.
linear, in the terminal. pull your assigned tickets into the command palette, then drag one straight into a claude pane to start work with the ticket as context — no browser round-trip.
a command palette for everything, one keystroke away.
the command palette fuzzy-filters apps, actions, workspaces, tabs, and ssh hosts from a single input — jump between projects, hosts, and tools without reaching for the mouse or another window. matched characters highlight as you type; the most-recent list keeps your usual hosts at the top.
this page has one too — press ⌘p or ⌃⇧p and it works for real.
command blocks: every command is a block.
osc 133 groups each command with its output, exit code, branch, and timing. the gutter runs jade while a command is in flight and turns red on failure; the command-tick scrollbar mirrors every block down the right edge — the one on this page works the same way. hooks auto-inject for bash, zsh, and fish — locally and over ssh — and history persists as replayable scrollback.
a real terminal emulator underneath.
the chrome is new; the emulation isn't exotic. korren speaks the protocols your tools already use, and notifications stay focus-aware — they fire only when you're not looking at the pane, so a long build or agent run in the background tells you the moment it finishes or needs input.
command-done, bell, and osc 9/777 passthrough. notification center on macos, desktop notifications on linux, unread dots on tabs.
native ssh — remote hosts feel local.
korren reads ~/.ssh/config — include directives and all — and drops every host into the palette, most-recent first. it materializes osc 133 hooks on the remote so blocks work there too, shares one connection via controlmaster, and attaches or creates a persistent tmux session on reconnect.
drag-to-upload: drop files or folders onto a remote pane to scp them straight into its cwd, with a status pill and a notification on completion.
six themes. this page is the preview.
⌃⌥t opens the picker in the app. here, clicking a swatch repaints the whole site and the gpu-rendered session above — same tokens, same hand. osaka-jade is the default. daylight is a warm-paper light theme tuned to wcag aa for working in bright sun. on omarchy, korren follows the system theme.
your choice persists in localstorage — like the app's config.toml.
the obvious questions, answered.
is korren a tmux alternative?
yes. the multiplexer is built in — panes, tabs, and workspaces are native, so there's no tmux layer to configure, and layouts persist across launches and restore on relaunch. over ssh, korren can still attach or create a tmux session so remote work survives a disconnect.
does korren need an account or send telemetry?
no. there's no login, no cloud, and no telemetry — nothing leaves your machine. you don't sign in to use your own terminal.
what platforms does korren run on?
linux (x11 and wayland) and macos. on wayland compositors like omarchy and hyprland it's the xdg-terminal-exec default and follows the system theme; on macos 11+ it has a native menu bar, ⌘ keymap, and notification center.
which ai coding agents can i run in korren?
any cli agent — claude code and the rest — runs in a pane like any other program, in the focused pane's cwd. it's never bolted into the core, and focus-aware notifications tell you when a run finishes or needs input.
how is korren different from warp?
korren is local and quiet: no account, no telemetry, and ai lives in a pane instead of at the center. it's a fast, gpu-rendered terminal built to organize your projects — not an agentic product you sign into.
can korren track my time per project?
yes. korren keeps per-project (per-workspace) busy time in daily buckets, with a per-app breakdown and a stats hud you can toggle — no timer to start, all local. coming soon: pull linear tickets into the palette and drag one into a claude pane to start work with the ticket as context.
is korren open source?
yes — korren is open source, dual-licensed apache-2.0 / mit. read the code, build it from source, or open an issue on github. it runs as a daily driver on linux and macos today.
put it on your machine.
linux (x11 and wayland) and macos 11+. jetbrains mono nerd font + symbols nerd font ship compiled in, so chrome glyphs render identically on every host.