v0.1.6 · your subscriptions, your machine

Build the thing
that builds.

Spawn Claude Code, Codex, Gemini, or any CLI agent installed on your Mac, side by side in real terminals. When a pane waits on you, the deck rings. And any agent you already trust can drive the deck too, through a local API.

Social proof

Trusted by at least one
dev in San Francisco.

Some of them even left their Warp subscription to prove it.

Your subscriptions

Bring your own sub

Mandeck doesn't resell tokens. Plug in Claude Code, Codex, Cursor, Grok Build, Gemini, or OpenCode with the credentials you already have. We orchestrate them, you keep your plan. No middleman key, no markup, no cloud hop.

Claude Code
claude auth login
Codex CLI
codex login
Cursor CLI
cursor-agent login
Grok Build
grok
Gemini CLI
gemini
OpenCode
opencode auth

No keys resold No markup on tokens Switch agents mid-task Everything stays on your Mac
$ mandeck job spawn codex --dir ~/web-app -p "fix the flaky login test"
8f2a 1.3 p70
$ mandeck job wait 8f2a --timeout 600
→ exit 3 · waiting-you: "Apply changes and open a PR? (y/n)"
$ mandeck job send 8f2a y
$ mandeck job wait 8f2a && mandeck job report 8f2a
✓ done · LoginForm.tsx +18 −4 · PR opened

Deck API · CLI · MCP

A deck your agents can drive.

One local door.
Every running deck serves an HTTP API on loopback. Spawn a pane, read its screen, answer a waiting prompt, close what you opened. A CLI and a stdio MCP server wrap the same routes, so a bot on a shell and an agent inside Claude Code, Codex or Cursor speak one vocabulary.
Hand-offs that don't slip.
A spawn with a prompt opens a contract. If nobody checks the result, the deck reminds the spawner, then rings you. A job is done only on an explicit signal — never inferred from silence.
Documented by the deck itself.
GET /agents.md on any running deck returns the current guide with its own port filled in. The same page lives at mandeck.dev/agents.
HTTP · 127.0.0.1:7717 mandeck CLI MCP · stdio

AppKit · libghostty

Native Swift, not a web wrapper.

Real terminals.
Powered by libghostty, the same terminal engine as Ghostty. Every keystroke reaches the pty directly. No xterm.js, no DOM event queue, no rendering latency.
Instant.
82 MB installed. 0.4 second cold start. Measured, not estimated. Other tools in this category take 5 seconds and 400 MB to show a splash screen.
Local-first.
Sessions, keys, and logs never leave your Mac. No cloud relay, no telemetry, nothing to trust us with. Auto-updates ship signed via Sparkle, and you read the changelog before they install.
macOS 14+ Apple Silicon & Intel Sparkle auto-updates
$ open Mandeck.dmg
→ mounts · drag to /Applications
$ ls -lh /Applications/Mandeck.app
82 MB Mandeck.app
$ open /Applications/Mandeck.app
→ launching...
↳ 0.4s cold start
$ mandeck --agents claude codex
✓ claude authenticated (Pro plan)
✓ codex authenticated (Plus plan)
✓ 2 panes ready · ⌘N for another

Pricing

Your Mac builds for free.

No signup. No token resale. Nothing to meter.

Mandeck
$0 forever
Everything on your Mac. No signup.
Unlimited panes, agents, and workspaces
Deck API, CLI and MCP for your agents
Sessions, search, customize — all of it
Your subscriptions, your logins. We never touch them.
The local app is the product, not the trial.
Your own subscriptions are never paywalled No credits, no metering No markup on tokens

Stop alt-tabbing
between your agents.

Your subscriptions, your machine, one native window.

Download for macOS

macOS 14 Sonoma or later · signed & notarized