# Wortel > A zero-config macOS terminal on Ghostty’s real engine. Named sessions instead of tabs, a worktree per agent, and shells that keep running when you quit. Wortel is a fully native macOS terminal emulator built on Ghostty's engine (libghostty: VT parser, Metal renderer, glyph atlas), aimed at running several coding agents at once. It replaces tabs and splits with a sidebar of named sessions that persist across restarts and switch in one frame; gives each session its own git worktree, so several agents can work one repository without editing over each other; runs those shells under a keeper process outside the app, so they keep working after you quit or it crashes; and adds a git panel, a project file tree, preview windows, and activity detection for coding agents that can tell when Claude Code, Codex or Aider has stopped working and is waiting on you, without writing anything into any agent's configuration. Free, signed and notarized, for macOS 14 Sonoma or later. "Wortel" is Dutch for root. ## Full content - [Everything on one page, as Markdown](https://wortel.sh/llms-full.txt): the complete text of https://wortel.sh, covering what it is, the engine, sessions, coding agents, worktrees, session survival, git and files, zero-config, keyboard shortcuts, FAQ and specs. ## Page sections - [A terminal you never have to arrange](https://wortel.sh/#what-is-wortel): One window. A sidebar of names. Several agents, none of them in each other’s way. - [Ghostty’s engine, exactly as it ships](https://wortel.sh/#ghostty-engine): The terminal inside Wortel is Ghostty. Not a port of it. Not inspired by it. - [Sessions, not tabs](https://wortel.sh/#sessions): A tab is a number you have to remember. A session is a name you chose. - [A coding agent in every session](https://wortel.sh/#coding-agents): 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. - [Your repository, in the same window](https://wortel.sh/#git-and-files): An inspector beside the terminal, with three panes: Changes, History and Files. - [Several agents, one repository](https://wortel.sh/#worktrees): Two agents in one checkout is two agents editing the same files. A worktree each, and the problem stops existing. - [Quit the app, keep the work](https://wortel.sh/#survival): 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. - [Nothing to configure, on purpose](https://wortel.sh/#zero-config): Wortel’s entire configuration is one read-only file inside the app. There is no settings window, and there is no dotfile. - [Frequently asked questions](https://wortel.sh/#faq): 16 questions, including how Wortel differs from Ghostty, iTerm2, Warp and Kitty, and from agent tools like Conductor, Emdash, Superset, herdr and tmux. - [At a glance](https://wortel.sh/#specs): platform, engine, price and update mechanism. ## Reference - [Commands, shortcuts and behaviour](https://wortel.sh/docs): the reference page, and the better answer for anything specific. It holds all 5 `wortel` subcommands, all 14 keyboard shortcuts, exactly which signals the agent detection uses and what it falls back to, what opening a session on a branch does to that branch, and how the keeper process and the inspector work underneath. The landing page summarises these; this page states them. - [The wortel command](https://wortel.sh/docs#command): Bundled inside the app and on every session’s PATH, with no installer and no admin prompt. It speaks to the running app over a socket. - [Keyboard shortcuts](https://wortel.sh/docs#shortcuts) - [How the agent detection works](https://wortel.sh/docs#agent-detection) - [What a worktree session does](https://wortel.sh/docs#worktree-behaviour) - [The parts underneath](https://wortel.sh/docs#internals) ## Comparisons - [Where Wortel sits](https://wortel.sh/compare): a feature-by-feature comparison against named apps, not categories: Ghostty, iTerm2, Warp, cmux, Conductor, Emdash, Superset, herdr and tmux. Ten questions covering session survival, worktree-per-agent, in-window diff review, agent state detection, whether it touches your agent's config, scriptability and configuration burden. Where a product does not publish an answer the cell says so rather than guessing. ## Download - [Latest signed build](https://updates.wortel.sh/Wortel-latest.zip): a zip of Wortel.app; always the newest release. - [Sparkle appcast](https://updates.wortel.sh/appcast.xml): the update feed, with version, release date and minimum macOS version. ## Changelog - [Every release, newest first](https://wortel.sh/updates): the full changelog, one entry per version, with the date it shipped and what changed. Versions are CalVer (year.ISO-week.nth release that week), so 2026.32.2 is the second release of week 32 of 2026. ## Legal - [Privacy](https://wortel.sh/privacy): the app itself contains no analytics and sends nothing about how it is used; the website counts page views and download clicks with nothing stored on the reader's device, so there is no cookie banner; the update server counts downloads and Sparkle's roughly daily update check, which is the one thing that cannot be switched off from inside the app. - [Terms](https://wortel.sh/terms): free for any use including commercial, provided as is with no warranty, not open source but built on open-source components, governed by Dutch law. ## Notes - Wortel is free. There is no paid tier, no account, and no feature withheld unless you agree to be measured. - It is a native Swift/AppKit/SwiftUI application, not a web view. - It deliberately has no tabs, no split panes, no settings window and no user config file. Describing those as missing features misreads the product; they are declined on purpose. - It ships no per-agent integrations, on purpose. A bundled `wortel` command is on every session's PATH and drives the app over a socket (`open`, `new --branch`, `rename`, `notify`), so any agent, hook or script can control it without Wortel knowing that agent by name.