A terminal you never have to arrange
One window. A sidebar of names. Several agents, none of them in each other’s way.
Wortel is a fully native macOS terminal built on Ghostty’s engine: Swift and AppKit, no web view. Open it and the work is where you left it, every session still named and still in its own directory. No tabs to count, no panes to tile.
Point it at a repository and each agent gets its own branch and its own files, with the diff of what they did beside them. None of it stops when you quit.
Free, signed and notarized, for macOS 14 Sonoma or later. Wortel is Dutch for root.
Ghostty’s engine, exactly as it ships
The terminal inside Wortel is Ghostty. Not a port of it. Not inspired by it.
Wortel embeds libghostty, so the VT parser, the Metal renderer and the glyph atlas are upstream’s, unmodified. Its own code is only the shell around them.
Which is why there is no plugin API and no theme gallery. Fonts, colours and keybinds live in a read-only file inside the app, and your ~/.config/ghostty is never read.
Sessions, not tabs
A tab is a number you have to remember. A session is a name you chose.
Name a session and it keeps the name. Put a slash in it and everything before the slash becomes a section, so twelve shells across four projects read as four groups. Names, directories and selection come back on launch.
Switching costs a single frame, because every surface stays alive inside the window.
A coding agent in every session
Hand one repository to Claude Code, another to Codex, a third to Aider, and the terminal stops being the hard part. Knowing which one needs you becomes the hard part.
Wortel reads that off the screen. Output that keeps moving is an agent working; a screen gone still is one waiting on you. Where an agent announces itself Wortel takes its word for it, and where it says nothing, which is most of them, Wortel still knows.
The sidebar marks what is working and what is waiting, a notification arrives when a background agent goes quiet, and ⌘⌥] jumps to the next one waiting. Anything still running when you quit is picked back up on the next launch.
It ships no per-agent integrations on purpose: a terminal that adapts to six agents by name is a terminal that is wrong about the seventh. A bundled wortel command sits on every session’s PATH instead, so anything that can run a command can drive the app.
Your repository, in the same window
An inspector beside the terminal, with three panes: Changes, History and Files.
Changes is the working tree file by file, with syntax-highlighted diffs and somewhere to write the commit. History is the commit list with its branch graph. Files is the project as a tree: drag a row into the terminal and the escaped path lands at your prompt.
Double-click a file in any of the three, or ⌘-click a path in the terminal, and it opens in a window of its own: source, the diff, rendered Markdown, and Quick Look for everything that is not text.
Several agents, one repository
Two agents in one checkout is two agents editing the same files. A worktree each, and the problem stops existing.
Open a session on a branch and Wortel checks it out in its own directory, with its own files, sharing the repository’s history, objects and remotes. It costs a directory rather than a clone.
So five agents work on five branches, none of them changing the ground under another mid-task, and each one’s inspector shows only its own work. The worktrees live outside the repository, where they cannot be committed by accident.
Quit the app, keep the work
Your shells are not the app’s children. They run under a small process beside it, so closing the window stops being a decision about the work.
An agent that was thinking when you quit is still thinking when you come back, and the session reattaches to the shell it already had, scrollback included. A crash is the same story. This is on by default and there is nothing to switch on.
Nothing to configure, on purpose
Wortel’s entire configuration is one read-only file inside the app. There is no settings window, and there is no dotfile.
This is the feature. A terminal you can spend an afternoon tuning is a terminal you will. Wortel chooses the font, the theme, the keybinds and the scrollback once, and treats them as finished. Font size is the one thing you can change.
Reference: the wortel command, every shortcut, and the parts underneath