Chostty

One window. Every project in the sidebar.

Chostty is Ghostty for macOS with the tabs taken out of the window manager. Workspaces hold tabs, tabs hold split panes, and one sidebar shows the whole tree. Your Ghostty config works as it is.

Download for macOS

1.0.0 · Universal · macOS 13 or later · Signed and notarized · Free, MIT

api — server
An interactive illustration of the Chostty window. The projects and output are made up.

Try it — press the letter on your keyboard, or click a key. Browsers keep ⌘N and ⌘T for themselves, so the ⌘ is optional here.

Three levels, one window

Stock Ghostty gives every tab its own macOS window, so there is nothing above a tab and nowhere to see the whole set. Chostty keeps one window and draws the hierarchy itself.

  1. Workspace N

    A project. Name it, color it, collapse it, reorder it. 1–8 jump straight to one.

  2. Tab T

    A task inside the project — the server, the tests, the deploy. Closed one by mistake? T brings it back.

  3. Pane D

    A shell. Split a tab as far as you like with Ghostty's own split bindings; each tab keeps its own layout.

The right-hand Files panel opens Markdown, source, images and more as read-only document tabs next to the shell, without stopping the terminal.

Your Ghostty, unchanged

Chostty reads ~/.config/ghostty/config, takes the same keybind and theme syntax, and sets TERM=xterm-ghostty. Below the window it is the Ghostty renderer, font stack and shell integration, not a copy of them. Keep both apps installed side by side if you like.

Pick a theme — the window above follows it.

# ~/.config/ghostty/config
theme = Catppuccin Mocha
font-family = JetBrains Mono
keybind = cmd+d=new_split:right

# Chostty-only keys, ignored by Ghostty
macos-session-persistence = true
auto-update = check

Quit tonight, pick up tomorrow

Chostty saves the shape of your window — workspaces, tabs, their names and colors, every split, and each pane's working directory. On the next launch the layout is back and each pane opens a fresh shell in its old directory.

Processes, screen contents and scrollback are not saved, and nothing from your terminal is ever written to disk. Only the tab you are looking at starts a shell; the rest wait until you open them.

Comes back
Workspaces, tabs, titles, colors, order, splits, working directories
Starts fresh
Shells, screen contents, scrollback
Turn it off
macos-session-persistence = false

The keymap

Chostty claims only chords that stock Ghostty leaves free or that never worked there. They are matched on key position, so they work the same under any input source.

Chostty

N
New workspace
T
New tab
N
New window
1–8
Go to workspace
9
Last workspace
[ ]
Previous / next tab
Tab Tab
Next / previous workspace
T
Reopen closed tab
B
Toggle sidebar

From Ghostty, as before

D
Split right
D
Split down
[ ]
Previous / next split
W
Close pane

Every other Ghostty binding, and any you set with keybind, keeps working.

Install

  1. Download the DMG from the latest release.
  2. Drag Chostty to Applications and open it. It is signed and notarized, so it opens like any Mac app.
  3. Updates arrive through Sparkle. Set auto-update = off to stop the checks.

Coming from 0.2.15 or older? The app identifier changed to kr.co.devch.chostty. Your settings and saved session are copied over on first launch, and macOS will ask again for permissions such as Accessibility or Automation.

Download Chostty 1.0.0