Taskminal
한국어

A Mac terminal that keeps
every task together

Tabs, splits, shells and AI chats live inside one task. Switch away, quit the app, come back: everything is where you left it.

View source

Free · Open source (MIT) · Apple Silicon (M1 or later) only · Notarized by Apple · Updates itself

Free · Open source (MIT) · Apple Silicon (M1 or later) only · You can build from source today

Taskminal — Fix payments API
Doing Fix payments API ~/work/api · ● running Landing page Waiting for input Review Log cleanup ~/work/ops · ✓ done To do Check NAS backup nas:/volume1 · SSH
Server Tests Chat :3000
~/work/api $ npm run dev
ready on http://localhost:3000
GET /payments 200 · 41ms
POST /payments 201 · 88ms
STRIPE_KEY=‹hidden›
Claude · chat
Added amount checks to refunds and fixed two tests.
Needs your approval
npm test -- payments
Allow ↩Deny Esc
Example screen · the task “Fix payments API”: a dev server pane next to a Claude chat pane. Sidebar by status, port chip, hidden secret, approval card.

Grouped by task

One folder holds its tabs, panes, notes and command history. Move it along To do → Doing → Review → Done in the sidebar.

Survives a restart

Shells keep running outside the app. Reopen it and you reattach to the same shell with its output intact.

Side by side with agents

Claude and Codex chat panes next to your terminals. Approvals and questions arrive as cards.

A day with agents

Hand off, review, pick up

Direct several agents from the command line

The taskminal command creates tasks, tabs and panes, starts chats and waits for them to finish. Claude can split work up on its own from inside a terminal.

Install it yourself from the app menu › Install Command Line Tool…. Your shell config files are left alone.

# split the work between two agents
$ taskminal chat new --agent claude "Fix payment tests"
$ taskminal chat new --agent codex "Tidy refund docs"
# wait until both are done
$ taskminal chat wait --all
done  Fix payment tests
done  Tidy refund docs

See what changed, commit only what you pick

Read an agent’s edits as a diff, revert individual lines (⌘Z brings them back) and commit only the files you check.

Show changes ⇧⌘G

☑ src/payments/refund.ts +12 −3 ☑ tests/refund.test.ts +24 ☐ README.md +2
@@ refund(amount) @@
− if (amount) return pay.refund(amount)
+ if (amount <= 0 || amount > pay.total)
+ throw new RefundError('check amount')
+ return pay.refund(amount)
Revert lines Commit 2 checked

Open it days later and see where you were

Open a task you left a while ago and a “Where was I” card sits on top, starting with what needs your attention. Chat panes resume the same session after a restart.

Where was I · Fix payments APIOpened after 3 days
Needs a lookTests pane · 1 failing npm test (refund amount 0)
Last commandgit push origin fix/refund
NoteRefunds capped at the original charge
Works with Claude Code · chat pane Codex · chat pane Any other CLI agent · terminal pane

Everything a task needs, in one place

The things you do often have a shortcut.

Tabs and splits per task

Each task remembers its own tabs and splits. Save a layout you reuse as a template.

Quit the app, keep the shell

A small helper outside the app holds your shells. To end everything, press ⌥⌘Q

Command history and search

What you ran in each task, and when ⌘Y. Search every task’s output at once ⇧⌘F

Quick commands and port chips

Turn frequent commands into buttons ⌥1~9. When a dev server opens a port, a chip appears: open it in the browser or stop it.

Archive and this week

Archive a finished task and stop its shells ⌥⌘A. Deleted tasks can be restored for 30 days.

Remote tasks over SSH

Open a task at host:path. Panes share one connection and reattach to tmux if it drops.

Sensible defaults for your work and secrets

Secrets hidden in output

Anything shaped like an API key or token is always masked on disk, and can be masked on screen too. History, search and notifications follow the same rule.

Automatic backups

Tasks and settings are backed up automatically; if the state file breaks, the app starts from the last good copy. Export and import too.

Stays on this Mac

No account, no server. Only your user can open the shell socket, and error logs stay on this Mac.

Questions

Is it free?

Yes. It is open source under the MIT license, with no account or payment.

Does it run on Intel Macs, Windows or Linux?

Not yet. Builds are for Apple Silicon (M1 or later) Macs only.

Which agents can I use?

Claude Code and Codex run in chat panes, where approvals and questions show up as cards. Any other command-line agent runs as usual in a terminal pane.

What happens to running commands when I quit?

They keep running, held by a helper outside the app. Reopen it to reattach to the same shells. Press ⌥⌘Q to end the shells too.

Where is my data stored?

Tasks, settings and output history are stored only on this Mac. There is no account and Taskminal sends nothing anywhere (it only checks GitHub for updates). Claude Code and Codex in chat panes talk to their own services as they normally do. Secret-looking values are masked when saved.

How do updates work?

New versions are published on GitHub Releases, and the app checks for and downloads them itself.

Start with the task you are on today

Free and MIT licensed. Report bugs and ideas as GitHub issues.

View source

Apple Silicon (M1 or later) only · Notarized by Apple

Apple Silicon (M1 or later) only · Use Watch › Releases on the repository to hear about the first build