A native macOS terminal multiplexer for coding agents

Any agent.Any workflow.

Toastty gives your agents building blocks they can drive. Shape them into the workflow that fits how you work, with any agent that runs in a terminal.

Free and open source · macOS 14+ · Built on Ghostty

Example workflow

An animated recreation of Toastty: a Claude Code session hands a checkout redesign off to a new worktree, which appears as a task space in the sidebar with the conversation forked into it. While it works, the user marks up a docs preview in the right panel and sends the comment to a Codex session, which fixes the page. The task space turns green when it is ready, and its PR opens from the chip in the sidebar.

Example: hand off a task, fix a docs page while it works, come back to a PR.
Building blocks

Everything on screen is something your agent can use.

Toastty is a terminal multiplexer at its core, so it works with Claude Code, Codex, Cursor, Grok Build, OpenCode, Pi, or any CLI you run. What it adds is a set of pieces your agents can arrange for you.

5toastty action run workspace.create · panel.create.local-document · workspace.set-annotation
  1. Workspaces and task spacesOne per project or task, in the sidebar. A task space nests new work under the session that started it.
  2. Tabs and splitsAny terminal layout, with any agent or command in each pane. Layouts persist across restarts.
  3. Right panelScratchpad pages, local files, and a browser beside the terminal: plans, mockups, handoffs, previews.
  4. Status and chipsLive agent status and notifications, plus links like PR #128 or ENG-412 pinned to a workspace.
  5. The toastty CLIEvery piece above, callable from a skill or a script. Skills in ~/.toastty/skills reach every supported agent you launch.
Workflows

Put the pieces together however you work.

A workflow is a short skill file that tells your agent which pieces to use and when. Start from the worktree examples, or describe how you work and let your agent write one.

Worktree handoff

"hand this off"Example included

Packages the conversation into a handoff, opens a worktree in a new task space, and comes back with a screenshot report and a PR chip.

git · GitHub

Issue to PR

"start ENG-412"

Reads the issue, names a workspace after it with a chip linking back, drafts the plan in a Scratchpad, and links the PR on the issue when it's up.

Linear · GitHub Issues

Review queue

"review my PRs"

Opens a task space per requested review with the diff in the browser, writes notes into a Scratchpad, and notifies you as each one is ready.

GitHub

Spec to tasks

"build from this spec"

Opens the spec beside the terminal, splits it into tasks, starts a task space for each, and keeps a progress page up to date.

Google Docs · Notion · Markdown

Crash to fix

"fix this crash"

Reproduces the report in a worktree with the dev server in a split the agent can read, then shows before and after screenshots.

Sentry · logs

Second opinion

"ask another model"

Runs two agents side by side on the same question and compares their answers in a Scratchpad.

Any two CLI agents

The worktree handoff ships as example skills; the others are ideas to describe to your agent. Issue trackers and documents are reached through your agent's own tools, such as MCP servers or gh. Toastty provides the workspace around them.

Sidebar

See what needs you next.

Every workspace is a card in the sidebar. Sessions report live status, and the rows that want you are tinted: green when ready, amber when waiting for approval, red on an error.

  • Task spacesTask workspaces nest under the session that started them, each with its own status and PR chip.
  • Jump to what's next⌘⇧A cycles through unread, approval, and active sessions.
  • Mark for later⌘⇧L flags a session; the flag clears when it moves forward.
  • OSC 7501 supportPrograms that report OSC 7501 status appear in the sidebar with progress and approval, input, or login labels.You can also watch any command with ⌘⇧M and get notified when it exits.
  • NotificationsNative macOS notifications and unread badges, so you can look away.

Rich status for Claude Code, Codex, Cursor, Grok Build, OpenCode, MiMo Code, and Pi. Any process or agent CLI that supports OSC 7501 will provide basic status updates as well.

Right panel

Context beside the terminal.

Each tab keeps its own right panel. Agents open what you need to see, and you can open things there too.

◧ Architecture

Scratchpad

Agents publish HTML pages for plans, mockups, diagrams, and reports. Each one stays linked to the session that made it.

¶ webhooks.md
1# Webhooks
2
3Lumen sends an HTTPS POST
4whenever something happens.
5
6## Payload
7Each event includes `id`…

Local files

Markdown, code, configs, logs, and CSV open in an editable view with line numbers, right next to the agent working on them.

◎ localhost:3000
1

Browser

Previews, dashboards, and PRs. Mark up a page and send your notes to an agent along with a screenshot.

Toastty Mobile TestFlight beta

Check on your agents from your phone.

The same sidebar, on your iPhone. See which sessions need you, answer the questions your agents ask, and send the next message, all over your private tailnet.

  • Every session, liveWorkspaces and task spaces with live status. Rows that need you are tinted green, amber, or red, just like on the Mac.
  • Answer your agents' questionsWhen an agent asks you to choose, pick an option or type a custom answer. It lands in the terminal on your Mac as if you were there.
  • Reply from anywhereSend the next prompt with photos and files attached. While the agent works, queue a follow-up for the next turn, steer a Codex or Claude Code turn, or stop it.
  • Scratchpads and filesOpen the pages, documents, and previews your agents published, and tap a PR chip to read the pull request.
  • Private by designToastty listens only on your Mac, and Tailscale Serve carries conversations over your own tailnet. No Toastty account is needed. Optional iPhone notifications in push-enabled builds send session titles and status through Cloudflare and Apple.

Available through TestFlight for now. Remote Access covers pairing and the tailnet setup.

An animated recreation of Toastty Mobile: the Home screen lists every session with live status. A session waiting on a Claude Code question is opened, the question is answered by choosing an option, and the agent gets back to work. A reply is typed and sent from the phone. Back on Home, the checkout-redesign task space turns green with its PR #128 chip, and the pull request opens in a sheet.

Example: answer a question from the train, queue the next step, and come back to a PR.
Get started

Set up in a few minutes.

Download Toastty

Open the latest release and drag Toastty to Applications. Your Ghostty config carries over.

Paste the setup prompt

Copy it from Toastty ▸ Get Started with Toastty… and give it to any agent in a Toastty pane. It previews every change before writing anything.

Pick a workflow

Copy the worktree handoff examples into ~/.toastty/skills, or describe how you work and let your agent write a skill there.

You are helping me set up Toastty. Please run: "$TOASTTY_CLI_PATH" setup guide Read the guide, narrate each step, dry-run every setup installer first (pass --dry-run), show me the planned writes, and wait for my explicit OK before rerunning anything with --apply.
Foundations

A real terminal underneath.

Ghostty renderingGPU-accelerated, and your existing Ghostty config just works.
Keyboard first⌘⇧P command palette, ⌘D to split, ⌥1–9 to switch workspaces. Full keyboard reference
Terminal profilesOne-key launchers for tmux, herdr, SSH, or any startup command.
Layouts that persistWorkspaces, tabs, and splits come back after a restart, and with shell integration, so does each pane's history.
Local firstNo usage analytics or telemetry. Beyond update checks, Toastty only connects out for features you use, such as Remote Access or a diagnostics report you choose to send.

Make Toastty work your way.

Free and open source for macOS 14 and later.