Tintpad
June 18, 2026 · View on GitHub
Tintpad
Your agent. Your repo. One keystroke.
A macOS hotkey that opens your terminal at the right repo with Claude Code, Codex, or whatever you run, already going.
Press ⌥⌘Space. Fuzzy-find a repo. Hit ↵. Your real terminal opens there with the agent running, in under two seconds, without the mouse.
It hands off to the terminal you already use. It doesn't try to be one.
Not a usage monitor. Not an IDE. Not a terminal. The launcher the agent menu-bar apps forgot.
Why
GUI apps don't inherit your shell PATH, so double-clicking an app can't find
claude or codex. Repo-switching is friction. Tintpad fixes both: it resolves your
login-shell PATH once, ranks repos by frecency, and hands the command to your terminal
at the right directory. The boring 2-second thing you do twenty times a day, gone.
Install
Download the latest signed, notarized Tintpad.dmg,
drag it to Applications, and launch. macOS 14+.
(Or browse all releases.)
Or with Homebrew:
brew install --cask sorkila/tap/tintpad
Or build from source (macOS 14+, Swift 6 toolchain / Xcode 16+):
git clone https://github.com/sorkila/tintpad.git
cd tintpad
swift run # dev run
./Scripts/package.sh # build Tintpad.app into .build/release
Features
- Frecency repo search, your most-used repos rise to the top, zoxide-style.
- Hands off to 7 terminals, Ghostty, iTerm2, kitty, WezTerm, Alacritty, Terminal, Warp.
- Run modes, Safe / Default / YOLO map to each agent's flags. The dangerous one is marked, never silent.
- Worktrees, ⌃W spins up an isolated branch checkout and launches the agent in it.
- Headless dispatch, ⌃↵ runs an agent in the background and notifies you when it's done.
- Prompt library, per-repo presets, GitHub import, open-in-editor.
- Local-only. No accounts, no telemetry, nothing leaves your Mac.
Keys
| Key | Action |
|---|---|
| ⌥⌘Space | Summon (change in Settings → Hotkeys) |
| ↑ / ↓ | Navigate |
| ↵ | Launch default agent + mode |
| ⌘↵ | Open repo in editor |
| ⌥↵ | Launch YOLO (dangerous) |
| ⇧↵ | Launch Safe |
| ⌃↵ | Headless dispatch |
| ⌃W | New worktree |
| ⇥ / ⇧⇥ | Cycle agent / mode |
| ⌘L · ⌘P | Inline prompt · cycle saved prompt |
| ⌘R · Esc | Re-scan repos · close |
Configure
Agents are just command templates with variables, set them in Settings → Agents:
claude {mode} {prompt}
Variables: {repoPath} {repoName} {branch} {remote} {prompt} {mode} {shell} {worktreePath}.
Every interpolated value is sanitized and shell-quoted before it runs.
Contributing
PRs welcome, especially new terminal adapters, which are about one protocol and one struct. See CONTRIBUTING.md and docs/ARCHITECTURE.md.
Support
Tintpad is free and MIT, the whole thing. If it earns a spot in your day, leave a tip: Buy me a coffee →. Supporters get custom accent tints and my thanks, that's the only difference. To claim the tints, tip then email your receipt to erik@sorkila.com and I'll send you an unlock key (it verifies offline, no account).