termic.dev

Run claude, gemini and codex side-by-side — each in its own git worktree.

Open-source desktop app. Spawns the CLIs you already have installed, in PTYs. Stays on your Claude Pro / Max subscription — off the new $200 Agent SDK credit pool.

Open-source · AGPL-3.0 · macOS · Linux + Windows soon

Termic interface: sidebar with multiple projects and worktrees, claude running mid-conversation in the main pane, file tree on the right

$0 billing surprises

Stays on your Claude Pro / Max. Off the $200 agent meter.

On May 13, 2026 Anthropic announced that as of June 15, 2026 the Claude Agent SDK, claude -p, GitHub Actions, and third-party agent harnesses bill against a separate $200/mo credit pool at API list prices. The interactive Claude Code CLI — the one you type into in your terminal — was kept on the subscription. Termic spawns that one.

01

Uses your CLI subscription

claude bills against Claude Pro / Max. gemini against Google's plan. codex against your OpenAI login. Termic just spawns the process — the agent talks to its own backend, same auth, same quota.

02

Not on the SDK credit meter

Tools built on the Claude Agent SDK bill against the new $200/mo credit pool at API rates. Termic spawns the interactive Claude Code CLI instead — the one Anthropic kept on the subscription. No per-token markup, no surprise invoice.

03

Whatever ships in the CLI, ships here

No SDK to upgrade, no Termic release to wait for. New flag in claude? Type it. Flag got renamed? Edit Settings → Agents. claude pushes a model change at 11pm? You have it at 11pm.

Why no SDK actually matters

/Feature parity, by definition

Termic spawns the binary you have installed. When the CLI ships a new flag or a model change, it's already in Termic — there's no wrapper to update.

/Your existing auth, your existing plan

claude reads ~/.claude. codex reads its own login. gemini stays signed in with Google. Termic doesn't intercept tokens or route through anything — same CLI you'd run in iTerm.

/Real PTYs

The agent's TUI renders the way it does in your shell — animations, slash-commands, /resume pickers, bell rings, the lot. xterm.js + wezterm's portable-pty under the hood.

/Survives CLI rewrites

If Anthropic ships an entirely new agent binary tomorrow, edit Settings → Agents and point the entry at it. No release of Termic required.

parallel by design

A worktree per agent. A port per worktree.

Each workspace is a git worktree — separate working copy, own branch, own dev port. Three agents on the same project don't share state; they don't compete for port 3000.

Termic running claude in the "ux improvements" worktree
claude · ux improvements feature/ux-improvements
Termic running gemini in the "new blog article" worktree
gemini · new blog article feature/new-blog-article
Termic running codex in the "seo improvements" worktree
codex · seo improvements feature/seo-improvements

All three sit in the sidebar at once. PTYs stay alive on switch, so copying a snippet from gemini to claude doesn't disconnect or reload anything.

multi-agent

Three CLIs in one workspace

Multiple tabs per workspace, each running a different agent. Useful when you want gemini to second-guess what claude wrote, or to hand a chore off to codex while the other two are busy.

Custom agents go in Settings → Agents — point at any binary or wrapper script and it shows up in this menu.

Tab bar dropdown showing claude, gemini, codex options for a new agent tab
Project row dropdown showing New worktree and Open repo per agent

workspaces

Branch off, or stay on main

New worktree creates a separate copy on disk, branched off your default. Run a dev server on a unique port, ship a feature, archive when done.

Open repo attaches an agent to your actual checkout — for one-off questions, README edits, the kind of small thing that doesn't deserve a branch.

configurable

The agent registry is just JSON

Command, args, YOLO flags, resume flags — all editable per agent. When a CLI changes a flag, you fix it in 30 seconds. When you want to point claude at a wrapper script that injects extra env vars, you do that too.

Templated placeholders like {workspace_slug}, {branch}, {port} expand per-worktree at spawn time.

Settings, Agents page showing claude's editable command, default args, YOLO flags, and resume flags

under the hood

Native desktop, web rendering

Tauri shell, web frontend. Editor and terminal are off-the-shelf libraries we picked after benching alternatives in WKWebView.

Tauri 2

Rust backend, WKWebView frontend. ~10MB bundle (vs Electron's ~120).

React 19 + Vite 8

UI. Vite HMR for dev, single bundle for prod.

CodeMirror 6

Editor. ~150KB; Monaco was slower in WKWebView when we tested.

xterm.js + WebGL

Terminal. WebGL renderer was the only one without visible row gaps in TUI apps.

portable-pty (wezterm)

PTYs on macOS / Linux / Windows. Same crate Wezterm itself uses.

Zustand 5

State. No reducers, no thunks — just hooks.

questions

The actually-asked questions

Skipping the marketing FAQ stuff. Real questions, plain answers.

Does this work with my Claude Pro / Max subscription?
Yes. Termic spawns the interactive claude CLI — same binary you'd run in iTerm, same auth, same quota. Anthropic kept interactive Claude Code on the subscription when they split the Agent SDK into its own credit pool on June 15, 2026.
How is this different from Conductor.build?
Conductor uses Anthropic's Claude Agent SDK. As of June 15, 2026 the Agent SDK (plus claude -p, GitHub Actions, and third-party harnesses) bills against a separate $200/mo credit pool at API list prices. Termic doesn't touch the SDK — it spawns the CLI binary directly, which stays on the regular subscription.
What about gemini and codex?
Termic shells out to gemini (Google login, Gemini Code Assist plan) and codex (your OpenAI Codex login). Whatever auth those CLIs already use on your machine, Termic inherits — nothing to set up.
What happens when claude / codex / gemini add a new feature?
You have it. No wrapper to update, no Termic release to wait for. If Anthropic adds a new flag next Tuesday, you type it in the prompt or paste it into Settings → Agents and it works.
Does Termic see my prompts or read my code?
No. Termic is a local app. Prompts go xterm → PTY → CLI → wherever the CLI sends them; Termic doesn't read or forward them anywhere. There's a local debug log in your temp dir (tail -f it if you want to see what's happening) — that's all.
What's a git worktree, why does it matter here?
A worktree is a checked-out branch of your repo in a separate directory, sharing the same .git. One per workspace means three agents can edit the same project in parallel without stomping each other's files, and each gets a unique dev port so they don't fight over 3000.
Is it actually open source?
AGPL-3.0 on GitHub. Fork it, build it, change it, ship a derivative — the only string is that derivatives stay AGPL too (which is what stops the next "open core" tool from quietly going proprietary).
Linux and Windows?
Coming. The whole stack (Tauri, portable-pty, xterm.js) already supports all three; what's missing is CI bundling and a few platform branches in the Rust side. Stars on the repo bump this up the list.

Stop paying twice for the same agent.

Free, AGPL-3.0. macOS now; Linux and Windows soon.