Model or dataset
onevcat/Prowl avatar
onevcat/Prowl

Prowl puts several coding agents in one native macOS terminal

native macOS codings agent orchestrator

655 stars69 forksSwiftNOASSERTION

At a glance

What is it?
Prowl is a Swift macOS application that runs Claude Code, Codex and other coding agents in parallel terminals, tiles them as cards, and flags the one that is blocked on a permission prompt. The trade is that it is macOS only, built on a vendored terminal toolkit, and it manages your agents rather than replacing them.
Who is it for?
Prowl suits a macOS developer running several coding agents at once who has lost track of which one is waiting for approval, and who wants a native window rather than a web UI or a terminal multiplexer. It does not suit a Linux or Windows user, since the application is native macOS and the build depends on Apple tooling, and it does not suit someone who wants a different coding agent, because Prowl drives the agents you already have.
Can I use it commercially?
Check first. The repository uses a licence we do not classify automatically, so read its LICENSE file before any commercial use.
Is it still maintained?
Yes. The repository received new commits within the last day.
What is it written in?
Mainly Swift, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 23, 2026, and from our analysis. They are not legal advice.

Editorial analysis

The problem is triage, not execution

The framing in the README is specific and it is not about running agents. The stated situation is that you are no longer just typing commands, you are running Claude Code in one branch, Codex in another and a third agent on a migration, and the hard part is knowing which one needs you next. Prowl is described as a native macOS command center for running AI coding agents in parallel, and the tagline makes the same claim. That reframing matters for judging the project, because a tool that merely launches agents in parallel is a shell script, while a tool that resolves the attention problem has to model what an agent is doing. Prowl watches every pane, names the state, and puts the agent that needs you a glance or a single key away. The states it recognises are blocked, done, working and idle, and blocked means the agent is waiting on you at a permission or confirmation prompt.

Canvas, Shelf and the repository to worktree to tab hierarchy

The layout model follows the way the work is actually organised, and the README names the chain: repositories hold worktrees, worktrees hold tabs, and tabs hold panes. Prowl presents that hierarchy in three ways. Canvas is a zoomable board where every open tab becomes a card, and the important detail is that each card is a live, interactive terminal rather than a thumbnail, so you can click into any card and type. Shelf is the same information as a stack of books, with each worktree a vertical spine in its repository's colour, its tabs and each agent's status marker underneath, and one book open in the middle. The third is Agent Island. The README also states that switching between these views never touches your running sessions, which is the property that makes a layout tool usable with live processes rather than a screenshot dashboard.

Broadcasting one command to many agents

The productivity features are built around the idea of typing once and having several agents receive it. In Canvas you select cards with a modifier click or the select-all shortcut, then type, and every selected agent gets the same instruction, with the README's examples being run the tests, commit and clear. The card's title bar turns orange when a task completes, until you look at it, which is a small piece of state tracking that does the actual work of the product. There is also a tiling mode that behaves like a window manager, with shortcuts to fill the window, pack the cards and reset a uniform grid. Shelf has the keyboard model that most people will use, since the README describes flipping between worktrees and cycling tabs with arrow-key combinations, so that when six agents are in flight you triage them one keystroke at a time without losing your place. That is a deliberate design choice: the hotkeys are dense and assumed, and the README treats them as something you learn once.

Agent Island and Active Agents answer the same question two ways

Two features solve the attention problem at different scales. Agent Island puts the agent roster at the top of the display so it stays visible while another application is in front, and on a notched Mac it wraps around the camera while on other displays it floats over the menu bar. It shows counts by state in attention order, blocked first, then done, working and idle, and the blocked and done cells drop below the bar the moment they happen, so clicking one brings Prowl forward on exactly that pane. The README describes it as quiet by default, with the display turned on in the settings, and it can be driven from any application through a shortcut with the arrow keys or j and k to move and the digits to pick. Active Agents is the fuller version, a single live roster of every agent across every worktree, tab and split, where clicking a row lands you in that agent's pane, and a macOS notification is posted when an agent finishes or stops to ask you something.

It drives the agents you already have, and the list is long

Prowl is not a coding agent. It is a host for other agents, and the README names the ones it works with: Claude Code, Codex, Gemini CLI, Cursor Agent, Cline, OpenCode, GitHub Copilot, Kimi, Droid, Amp, Qoder CLI, Qwen Code, Grok Build, Pi and Oh My Pi. That list is the practical compatibility surface, and it is also the answer to what Prowl is for. You keep the agents you have chosen and the workflows you have set up, and Prowl supplies the window management, the state detection and the alerting that a multi-agent workflow otherwise lacks. It also has an agent-facing direction, with a prowl CLI that lets an agent read panes, run commands and start helper agents, and a section on letting your agents drive the terminal. The project ships documentation that a coding agent can read directly, with a prompt in the README that points an agent at the manual URL so it can produce a tailored introduction.

text
Read Prowl's documentation and introduce it to me.

Prowl is a native macOS command center for running many AI coding agents in parallel. Its full manual lives here:
https://raw.githubusercontent.com/onevcat/Prowl/refs/heads/main/docs/README.md

Fetch that index and read it (it links to an overview and per-feature manuals in the same docs/ folder — read the relevant ones). Then:
1. Briefly tell me what Prowl is and why it's worth my time.
2. Based on what you know about how I work, suggest 3–4 Prowl features that would genuinely help me, each with a one-line "how".
3. Then answer my follow-up questions, consulting the matching doc.

Reply in my preferred language.

Installing is a cask, and the build depends on Apple tooling

Installation is a Homebrew cask, and the README shows it as a single command:

bash
  <code>brew install --cask onevcat/tap/prowl</code>

@@C1@@A prebuilt disk image is also linked from the releases page. The build side is heavier and is the part that matters if you want to work on the project rather than run it. The repository is a Tuist-managed Swift workspace, and the Makefile says so directly, that Tuist generates the workspace and the Xcode projects from the manifests and that they are not in Git. The application embeds a Ghostty terminal as an xcframework, with the framework, the resources and the terminfo paths all derived in the Makefile, and a hash file and a build stamp track the vendored dependency so the build knows whether to rebuild it. There is a Swift Package Manager cache directory configured, a formatting configuration and a lint configuration, an iOS mirror project alongside the macOS one, and a mise.toml for tool versions.

A licence the repository does not classify, and a fast release cadence

The licensing is the one item a reader has to check directly, because the repository records it as a custom licence that GitHub cannot classify, with a LICENSE file at the root. The project is the work of onevcat, the author of Kingfisher, and the README points to a documentation site with a feature tour, a manual and a separate site for the project itself, plus a video demo. The release cadence is fast and the versioning is by date, with the recent tags at 2026.10.17, 2026.10.15 and 2026.10.11, so a release line moves every few days. The release environment file shows what that involves: the .env.example carries Apple code signing identity and team id settings that are auto-detected if unset, a Sparkle EdDSA private key path for update signing, and a Netlify build hook variable so the project site rebuilds after a release, with a comment saying to copy the file to .env and fill in the values because .env is gitignored.

Editorial conclusion

Prowl suits a macOS developer running several coding agents at once who has lost track of which one is waiting for approval, and who wants a native window rather than a web UI or a terminal multiplexer. It does not suit a Linux or Windows user, since the application is native macOS and the build depends on Apple tooling, and it does not suit someone who wants a different coding agent, because Prowl drives the agents you already have. Before adopting, check the agent list against what you actually run, and note that the last push to the repository was on 2026-10-19 with release 2026.10.17 dated 2026-10-17 under a custom licence file.

Frequently asked questions

How do I install Prowl on macOS?

With Homebrew, using `brew install --cask onevcat/tap/prowl`. A prebuilt disk image is also linked from the GitHub releases page, and the README links a feature tour, a manual and a video demo.

Which coding agents does Prowl work with?

The README lists Claude Code, Codex, Gemini CLI, Cursor Agent, Cline, OpenCode, GitHub Copilot, Kimi, Droid, Amp, Qoder CLI, Qwen Code, Grok Build, Pi and Oh My Pi. Prowl drives the agents you already run rather than providing its own.

What is the difference between Canvas, Shelf and Agent Island in Prowl?

Canvas lays out every open tab as a live interactive terminal card on a zoomable board, with broadcast to selected cards and a title bar that turns orange when a task finishes. Shelf stacks worktrees as spines in a repository's colour with keyboard navigation between them. Agent Island keeps a compact state roster at the top of the display so blocked and finished agents stay visible while another app is in front.

How does Prowl know which agent needs attention?

It watches every pane and names the state: blocked, meaning waiting on you at a permission or confirmation prompt, done, meaning finished and not yet looked at, working, and idle. Agent Island shows counts in that attention order and drops blocked and done cells below the bar, and macOS notifications are posted when an agent finishes or stops to ask you something.

Can an agent control Prowl itself?

Yes. The README says the prowl CLI lets an agent read panes, run commands and start helper agents, and the project publishes documentation an agent can read, with a prompt pointing at the manual URL so a coding agent can give a tailored introduction to the tool.

Official sources

  1. Issues
  2. onevcat/Prowl on GitHub
  3. Project website
  4. README
  5. Releases
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/onevcat-prowl.svg)](https://hysenlabs.com/projects/onevcat-prowl)

Was this useful?