Sandbox
@gregce/tortie

macOS agent multiplexer with IDE features

Tortie puts coding-agent sessions, files, Git state, and terminal views into one macOS window. It uses tmux for durable sessions, Electron for the app shell, and Monaco for editing, so you can keep work running and reconnect later without rebuilding context.

50 stars4 forksTypeScriptUpdated 6d ago
Who it's for

Builders who run terminal coding agents and want one place to manage projects, sessions, and context.

What it delivers

You can keep agents running across restarts and jump back to the right session without re-explaining the work.

What it does

Project tabs with state

Each project gets its own tab with sessions, Git state, file tree, editor, and project search.

Durable agent sessions

Sessions keep running outside the app window and can be restored after Tortie quits or restarts.

Resume-aware conversations

Tortie replays scrollback and prepares the agent’s resume command so you can reconnect cleanly.

Attention shortcuts

Jump to the session waiting for input or review all sessions in a project from one view.

Git and file tools

Stage, commit, browse history, inspect diffs, and search across open projects from the sidebar.

Remote machine support

Open a folder on another Mac as a project tab, run agents there, and use that machine’s tmux over ssh.

Agent context view

See skills, MCP servers, hooks, plugins, and instruction files for each agent, with skills installation support.

README

Tortie

Tortie

A calm agent multiplexer with familiar IDE features, for macOS.

Download for macOS Tortie.sh website

Latest release Downloads Gates Durability License


If you run coding agents in VS Code or Cursor terminals, but you're tired of cmd+`'ing between windows and losing running agents to every restart, Tortie is for you. I built it to scratch my own itch. I don't want an agent super app, and I don't want to think about tmux. I just want all of my projects in one window and be able to easily organize and not lose my agent sessions.

Tortie showing one project with files, several durable coding-agent sessions, restored conversations and split terminals in one window

Explore Tortie, read the docs and compare agent tools at tortie.sh →

Key features

One window for every project

Every project is a tab with its own sessions, Git state, file tree and editor. Use ⌘P to find files in the active project or across every open project.

Docs →

Tortie switching between project tabs, each with its own files and coding-agent sessions

Agents keep working

Quit Tortie without stopping the work. Named sessions run outside the app window and return when you reopen it.

Docs →

Tortie closing while its coding-agent sessions continue running, then reconnecting to them

Resume the conversation

After a restart, Tortie replays the scrollback and prepares each agent's own resume command. You choose when to reconnect the conversation.

Docs →

Tortie restoring a coding-agent session and preparing its conversation resume command

Jump to what needs you

Working agents stay quiet. Press ⌘J to jump to the session waiting for input, even when another project is open.

Docs →

Tortie notifying the user that an agent needs input and jumping to that session

Catch Me Up

Press ⇧⌘U to see every session in a project at a glance. Open one to read your asks and the agent's closing answers from its own log, then jump back to any exchange.

The conversation stays word for word. An optional model can write only the one-line project summary.

Docs →

Tortie opening Catch Me Up, reviewing a project summary and reading one coding-agent conversation exchange by exchange

Supported agents

Tortie includes 12 built-in CLI agent profiles you can run in durable sessions.

Claude Code logo Claude Code   Codex logo Codex   Cursor CLI logo Cursor CLI   Gemini CLI logo Gemini CLI   Qwen Code logo Qwen Code   Muse Code logo Muse Code   Pi logo Pi   Oh My Pi logo Oh My Pi   CodeWhale logo CodeWhale   Antigravity CLI logo Antigravity   Factory Droid CLI logo Droid   Grok logo Grok

See launch, resume and conversation support for every agent →

Need another CLI? Add it with one JSON file—no rebuild required. Tortie asks before a new definition starts a process. The bundled SpecStory integration can capture supported conversations as Markdown.

Other features

Familiar IDE features

  • A full Git sidebar. Stage, commit, browse branches and history, and inspect a rich commit graph built from VS Code's parsers. See GitHub Actions runs when the GitHub CLI is installed.
  • Click a file, see the diff. Monaco opens modified files as a diff against HEAD by default, and plain editing is a toggle away.
  • A decorated file tree. See Git status colors and familiar file icons, then drag files in from Finder or out to another app.
  • Search everything at once. ripgrep across every open project, fast on large trees.
  • Rich previews. Markdown and HTML render in place. Untrusted pages open in a sandboxed frame with no scripts and no network.
  • Context for every agent. See each agent's skills, MCP servers, hooks, plugins and instruction files, and install skills through Skills.sh.

Remote machines (early)

  • Open a folder on another Mac as a project tab. Add the machine in Settings. Tailscale works out of the box. The file tree, search, ⌘P, Git sidebar and GitHub Actions runs all read from that machine.
  • Run agents there. Start a session on the machine, see what is already running, and get it back after a restart with its resume command waiting.
  • Editing is off until you switch it on. Pick one folder per machine in Settings. Tortie writes only under it. You get save, new folder and rename. There is no undo.
  • Nothing gets installed over there. Tortie uses that machine's tmux over ssh, and can make and install a key for you.

Early because it has only been tested against Macs. The machine needs ssh, Remote Login on and tmux. Nothing in the code turns a Linux host away and the scripts handle both BSD and GNU tools, so a Linux VM should work, but has not been fully tested.

What Tortie does not do

  • It does not touch your own tmux server or ~/.tmux.conf, on this Mac or on a machine you add.
  • It does not render a key file or anything that looks like a secret as a friendly preview.
  • It does not run third-party plugin code inside its own processes. Adding an agent is configuration, not code.

Install

macOS on Apple silicon. Nothing has to be installed first. Tortie carries its own copy of tmux, so a fresh Mac needs no Homebrew and no command line setup.

  1. Download the latest release and open the DMG.
  2. Drag Tortie to Applications and open it.
  3. Point it at a project folder. A git repository gets the full sidebar; any folder works.

Built with

Tortie is deliberately assembled from open source rather than written from scratch. The code it owns is the durability layer and the glue.

  • tmux holds the sessions. It is the reason your agents survive. Tortie ships its own copy, so the version is chosen by the release and not by whatever the machine happens to have.
  • Electron is the window.
  • xterm.js draws the terminals.
  • Monaco is the editor, the same one inside VS Code.
  • Pierre's @pierre/trees and @pierre/diffs render the file tree and the diffs.
  • ripgrep runs the search.
  • VS Code is the source of the vendored git parsers, fuzzy scorer, commit graph layout and codicons, all with attribution.
  • material-icon-theme supplies the file icons.
  • better-sqlite3 stores the session manifest.
  • node-pty connects the shells.
  • skills.sh installs and manages the skills behind the Context view.
  • SpecStory captures agent conversations.

The full list with licenses is in NOTICE.

More

Tortie is not affiliated with, endorsed by, or sponsored by any of the companies whose products it launches. All product names and logos are the property of their respective owners, and are used here only to identify the supported product.

Read the Tortie product documentation →

Made by gregce.
Your sessions are never interrupted.

Files in the repo

Repository payload32 top-level entries
  • .claude
  • .github
  • build
  • demo
  • docs
  • patches
  • resources
  • src
  • .gitignore
  • BUILD-STATUS.md
  • CHANGELOG.md
  • CLAUDE.md
  • DESIGN.md
  • DEVELOPMENT.md
  • electron-builder.yml
  • electron.vite.config.ts
  • LICENSE
  • NOTICE
  • package-lock.json
  • package.json
  • PRODUCT.md
  • README.md
  • tortie.png
  • tsconfig.json
  • tsconfig.main.json
  • tsconfig.node.json
  • tsconfig.preload.json
  • tsconfig.shared.json
  • tsconfig.tests.json
  • tsconfig.web.json
  • vitest.config.ts
  • WHY-TORTIE-IS-DEPENDABLE.md

Discussion (0)

Ask about usage, or say what you built with it

Sign in to join the discussion.

No comments yet. Be the first to say what this is good for.

More tools

JuliusBrussee/
caveman

🪨 why use many token when few token do trick — Claude Code skill that cuts 65% of tokens by talking like caveman

105k
1 add
MemPalace/
mempalace

The best-benchmarked open-source AI memory system. And it's free.

59k
stablyai/
orca

Orca is the ADE for working with a fleet of parallel agents. Run any coding agent with your own subscription. Available on desktop, mobile and remote runtime.

66k

A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Grok Build & Hermes Agent. Only official website: ccswitch.io

132k

Never stop coding. Free MIT AI gateway: one endpoint, 352 providers (150+ free), 1200+ models Kimi, Claude, GPT, Gemini, GLM, DeepSeek, MiniMax. Works with Claude Code, Codex, Cursor, OpenCode, Cline & Copilot. Quota-aware auto-fallback, RTK+Caveman compression saves 15-95% tokens, MCP/A2A, Desktop/PWA. Built by 550+ contributors

64k
headroomlabs-ai/
headroom

Compress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.

71k