Your terminal wasn't built for agents. Until now.
A native macOS command center for running AI coding agents in parallel.
Download
·
Website
·
brew install --cask onevcat/tap/prowl
You're not just typing commands anymore — you're orchestrating Claude Code, Codex, and friends across repos, branches, and ideas. Prowl is the terminal built for that.
Three agents running, one just finished — where? Canvas gives you a bird's-eye view where every card is a live, interactive terminal, not a screenshot. Finished tasks light up the moment they complete, and you can broadcast a single command to every agent at once.
Pin swift build, npm test, or claude -p "review this diff" to a button and bind it to ⌘B. Set it up once per repo and stop typing the same thing every day. Pair with claude -p / codex exec to turn your terminal into a daily AI-powered assistant.
Your agent needs to run a test, read the output, and decide what's next. Prowl ships with a prowl CLI so both you and your agents can control the terminal programmatically:
prowl list # discover panes & their status
prowl send "npm test" --capture # execute & capture output in one shot
prowl read # read screen content on demand
prowl key <keystroke> # send keystrokes programmatically- Full Native — powered by libghostty. No Electron, no web views. CJK-safe out of the box.
- Vertical Tabs — repos, branches, and worktrees in a sidebar. Never lose context.
- Git Worktree first-class — spin up a parallel branch for a new agent in one click.
- Agent Reminder — macOS notification the moment an agent finishes.
- Auto-updates — Sparkle keeps you on the latest release.
Download: Prowl.dmg (notarized)
Homebrew:
brew install --cask onevcat/tap/prowlmacOS 26.0+
A personal fork of Supacode, built on The Composable Architecture and libghostty, maintained for daily use. Requires mise for dev tooling.
make build-ghostty-xcframework # Build GhosttyKit from Zig source
make build-app # Build the macOS app (Debug)
make run-app # Build, launch, and stream logs
make install-dev-build # Build Debug and install to /Applications
make install-release # Build Release, sign locally, install to /Applicationsmake check # swift-format + swiftlint
make format # Format only
make lint # Lint only
make test # Run app/unit tests
make log-stream # Stream app logs (subsystem: com.onevcat.prowl)make build-cli # Build `prowl` CLI via SwiftPM
make test-cli-smoke # Quick CLI smoke checks
make test-cli-integration # End-to-end CLI socket integration testsmake ensure-ghostty # Fast SHA check (auto-run by build-app/test)
make sync-ghostty # Force rebuild + clear DerivedDataDay-to-day releases are driven by the release Claude Code skill defined in .claude/skills/release/SKILL.md. It wraps two scripts you can also run directly:
./doc-onevcat/scripts/release-notes.sh <VERSION> # Generate user-facing notes → build/release-notes.md
./doc-onevcat/scripts/release.sh <VERSION> # Bump, build, sign, notarize, DMG, appcast, GitHub Release, Prowl-Site updateThe skill walks the flow interactively: verify branch & tree state, confirm the version, review the generated notes, then run release.sh. All fork releases are notarized.


