Organize projects with sidebar groups and get more control over terminal clipboard access and links.
New
- Create named, collapsible sidebar groups: right-click an empty sidebar area and choose New Group, or choose Add Project Group in the add panel. Customize groups with colors, symbols, or images.
- Drag projects into or out of groups, reorder members, and move entire groups by their headers. Press ⌘⇧L to reveal the selected project, folder, or workspace inside a collapsed group.
- Right-click an empty sidebar area to add projects, expand or collapse the list, and show or hide Active Agents.
- Updated the terminal engine to Ghostty 1.4.0.
Fixed
- Clipboard confirmation settings now work: Prowl asks before potentially unsafe pastes and program clipboard access when configured to do so. Requests from background panes wait until you focus them; Return and Escape cancel or deny.
- ⌘-clicked terminal links now receive safety checks. Web and email links open directly, other URL schemes require confirmation, and unsafe file targets—including apps and executables—are blocked with an option to copy the link.
- Fixed SSH failing when Ghostty’s
ssh-env or ssh-terminfo shell integration is enabled.
- Fixed styled terminal cells without text appearing blank in remote mirror views.
This release brings SSH remote projects to Prowl and improves Canvas, worktree management, and session reliability.
New
- Work with projects over SSH, including remote terminals, splits, scripts, and worktree creation. Choose Add Remote Project in the add panel, enter a host with key-based authentication, then type a path or use Browse… to select a folder on the host. Hosts that ask for a password or a verification code are not supported yet.
- Remote projects show connection status and refresh Git and pull request information automatically. Saved terminal layouts reconnect when you open the project, without rerunning scripts, and remain saved while the host is unavailable.
Fixed
- Fixed blank terminal cards when entering Canvas and a Canvas crash on macOS versions before 26.4. Leaving Archived Worktrees now restores your previous view, selection, and Canvas pane focus; unarchiving keeps the list open for further restores.
- Git operations now use your login shell’s PATH, fixing worktree creation failures involving tools such as
mise and git-lfs. Failure alerts stay open and show clearer errors.
- Repositories with the same folder name now keep separate settings, with existing settings copied automatically. Repository load failures no longer erase pins, archived entries, or Prowl-created worktree markers.
- Returning to Prowl now refreshes repositories and change counts reliably. Switching away saves the terminal layout and pauses remote polling, which resumes on return.
- Fixed Codex workflow commands failing with
SOURCE_REQUIRED and transcript binding stopping after the pane that started its shared daemon was closed.
- Git operations and file transfers over SSH no longer trigger remote-agent detection prompts for their transport connections.
Prowl now detects coding agents that run on another machine over SSH, including inside remote tmux. This release also adds TraeCode CLI support and makes agent status and dispatch waits more reliable.
New
- Agents over SSH. When a pane runs
ssh, Prowl now shows the agent on the remote host (Linux or macOS) in Active Agents, with its Working, Blocked, and Idle state. Nothing is installed on the host and no shell configuration is changed: Prowl opens its own SSH connection to the same target and runs a read-only probe.
- Prowl asks before it opens that connection. At the first
ssh, choose Turn On, Not Now, or Turn Off in the toolbar status. You can change it later in Settings › Agents › Display › Detect agents in SSH sessions.
- Agents inside a remote tmux session are detected from the active tmux pane, and their state comes from that pane's screen.
- Remote panes show
user@host in their corner, and their tabs show a network glyph. Active Agents shows the host and the connection health: a remote agent that has not been confirmed for 10 seconds is greyed out with "Last seen … ago", and a warning tells you why a host cannot be read.
- Remote agents are for monitoring.
prowl agents dispatch and workflow roles do not accept them yet.
- Added TraeCode CLI (
traecli) support with agent status, approval and question detection, and completion notifications. Select TraeCode CLI in an Agent Profile to configure launches and an optional dedicated home for account isolation.
Fixed
- Claude Code now shows Idle when its turn ends with background shells still running, so new dispatches and idle waits can proceed.
- Fixed Codex dispatch waits ending early because of unrelated temporary sessions or missing recent completion events. Completion evidence is also kept when the assigned agent exits.
- Fixed misaligned Model and Reasoning Effort fields in Agent Profile settings on macOS 27.
Improved
- Codex 0.163.0 and later now reports its status to Prowl directly, so Codex sessions update their status immediately. Approval requests and questions appear as blocked while waiting for your response.
New
- Canvas remembers your chosen layout and places new cards without overlap. Run
prowl canvas layout tile --show to open Canvas and tile your tabs; it keeps tiling as tabs come and go.
Improved
- Switching Shelf books uses less CPU, with selection highlights and bottom controls updating immediately.
- Oh My Pi now reports working, approval, question, and error states directly to Prowl, including ongoing background jobs. Agent sessions are also detected correctly in temporary directories such as
/tmp and through directory symlinks.
Fixed
- Changing Settings → Worktree → Auto-delete archived worktrees now asks for confirmation if the new period would immediately delete archived worktrees. Cancel keeps both the previous setting and your worktrees.
- Terminal layouts and your default Shelf or Canvas view now restore even when a repository fails to load, skipping unavailable worktrees.
- GitHub rate limits now pause requests by host and API, so a primary limit no longer blocks unrelated requests. Click the toolbar’s rate-limit status or open Settings → GitHub to see the cause and select Retry Now.
- Codex workflows can now read tasks and deliver results when caller-pane detection fails. Supported Codex profile launches also stay independent of the shared daemon to preserve their pane context.
- On-device branch name suggestions now use the prefix your repository's branches already use, such as
feat/, including remote-only branches, instead of falling back to worktree/.
- Settings edits no longer overwrite newly detected repository icons, pinned Open in choices, or agent and workflow settings saved elsewhere. Imported repository icons also finish saving if you switch Settings panes.
Agents can now report their status to Prowl directly through OSC 7501, starting with Claude Code and Pi. Split panes also get a close button.
New
- OSC 7501 program status support. Prowl now accepts status reports that agents send through the terminal (OSC 7501), so Working, Blocked, and Done come straight from the agent instead of being inferred from the screen. Claude Code 2.1.295+ and Pi 1.1.0+ are the first supported agents; more will follow. Pi now shows Blocked when waiting for extension confirmations, questions, or authentication.
- Split panes now have a close button beside the zoom control. Hover over the pane’s top drag handle to reveal it; the tooltip shows your configured shortcut, which defaults to ⌘W.
Improved
- Exited agents disappear from Active Agents sooner in terminals with shell integration.
- User settings now use
global.user.json and prowl.user.json. Existing settings migrate automatically while preserving legacy files, symlink targets, and any existing destination files.
Fixed
- Fixed session tracking after creating or resuming sessions in Claude Code and Pi, so Prowl updates without requiring another keystroke.
- Prevented automatic settings saves from overwriting configuration after a failed load.
- Fixed a potential crash during terminal initialization.
This release adds Devin and Antigravity support, reduces GitHub refresh traffic, and improves agent status detection.
New
- Added Devin CLI and Antigravity CLI (
agy) support, including agent detection, profiles, and skill installation. Choose either runtime in Agent Profiles to configure launch options; Devin is also available in workflow role selection.
- Added
gpt-6.1-sol to the model suggestions in the profile editor.
Improved
- Pull request refreshes now batch requests and check settled PRs less often, reducing GitHub API usage across large workspaces while keeping active checks refreshed.
- When GitHub rate-limits requests, Prowl pauses and retries automatically. The toolbar and Settings › GitHub show the retry time.
Fixed
- Corrected Working and Blocked detection for current Amp versions and Working detection for manually launched Oh My Pi sessions. Antigravity no longer gets stuck as Blocked after slash commands or answered questions.
- Fixed transcript reads for Codex panes using a shared daemon, and prevented previous-session context from lingering after a thread switch.
- Made Devin message submission wait for pasted text to be ready, and fixed
prowl send when answering menus or adding to an existing draft.
- Fixed delayed PR updates after branch switches and preserved known PR status when GitHub returns incomplete results.
This release adds a separate terminal configuration for Prowl and fixes font rendering, font size resets, and a quit hang.
New
- Use a dedicated Ghostty config through Settings → General → Terminal Config → Choose File…. It replaces the shared Ghostty config and applies to running terminals immediately; select Use Ghostty's Config to switch back.
Fixed
- Chinese, Japanese, and Korean text now uses appropriate system fonts when no font is configured, avoiding mismatched fonts and oversized characters. Explicit font settings remain respected.
- Resetting terminal font size now correctly follows the config, so new tabs and splits pick up later
font-size changes instead of retaining the old size.
- Fixed a rare hang when quitting Prowl after CLI activity.
New
.pwlworkflow bundles now appear as packages with a Prowl workflow icon in Finder. Use Show Package Contents to browse their files; open and run workflows from Prowl, not by double-clicking the bundle.
Improved
- Experimental Remote Mirror remains opt-in with
PROWL_REMOTE_MIRROR=1. Pair another Mac by copying and pasting connection details, or scan the Host’s QR code with a compatible mobile Mirror client. Mobile clients are distributed separately.
- Mirror’s Scroll Up and Scroll Down controls move the Host’s shared terminal view by about a page. Mac Mirror preserves scrollback styling when supported, with a plain-text fallback.
- Use Pair Again… to replace saved Mirror access, or Revoke All Devices… on Host to require every device to pair again.
Fixed
- Mirror input from compatible mobile clients is no longer blocked by a pending automation dispatch. Fixed Mac Mirror updates stalling when a terminal uses a fixed title or reloads its configuration.
- Canvas mode’s Run and custom-command buttons now match the spacing and margins in Normal and Shelf modes.
This release adds workspace editing and more reliable status tracking for Codex sessions.
New
- Edit existing workspaces from the sidebar workspace menu or Edit Workspace in the Command Palette. Change the title, description, task links, repository names and roles, or add, reorder, and remove repositories.
- Create a workspace with just one repository and add more later. The workspace editor also supports Simplified Chinese.
- Agent profile model suggestions now include GPT-6 models, Claude Fable 5.1, and Claude Opus 5.5.
- Use
prowl list --json to check pane visibility through the new pane.visible field, and find the calling pane through caller.
Fixed
- Codex sessions started by typing
codex now track working and idle states through the shared daemon, including subagent work and resumed conversations. Codex 0.158 footer layouts and folder trust prompts are also recognized correctly.
- Commands run by Codex through its shared daemon now resolve to the correct pane, preventing agent signals, dispatch completions, and workflow actions from being attributed to another tab.
- Agent Island keeps a consistent width when expanding or collapsing on external displays, and its full floating bar responds to hover.
- Fixed a Canvas layout cleanup crash on older macOS Swift runtimes, including macOS 26.3.1.
Improved
- Agent Island takes up less menu bar space on notched displays, leaving more room for status items. Its expanded agent list now matches the compact bar’s width.
- When space is tight, Agent Island hides the Idle count. Idle agents remain in the expanded list, and VoiceOver still reads all counts.
Fixed
- Fixed sidebar repository and worktree reordering becoming unresponsive after an earlier drag. Insertion indicators and drops now remain active until the interaction ends, including when retrying after cancellation.
New
- Added Simplified Chinese localization. Choose Follow System, English, or Simplified Chinese in Settings → General → Language, then restart Prowl to apply the change.
- Search the command palette using Chinese command names or English keywords when using the Chinese interface.
Fixed
- Prowl now finds another working Git installation when Apple’s Git tooling is unavailable, keeping worktrees and Shelf accessible.
- Repository load failures now preserve running terminal sessions and show guidance for Git or access problems. Use Retry after resolving the issue.
- Worktrees moved externally with
git worktree move now refresh automatically. Detection also remains reliable after Git’s worktree registry is replaced or recreated.
- Shelf now opens for plain folders even when Git is unavailable.
Improved
prowl create tab --background now works for plain Shell tabs as well as Agent Profile launches, so scripts and agents can open a tab without changing your selection or taking focus. Background split panes still require a Profile.
Fixed
- Fixed workflows waiting indefinitely to deliver their first task to a fresh Codex session that shows an animated starfield background.
New
- Undo closed panes and tabs with ⌘Z or ⌘⇧T within five seconds by default, restoring running programs, scrollback, and split positions—even after closing a worktree’s last tab. Press ⌘⇧Z to close them again; the restore window follows Ghostty’s
undo-timeout setting.
- Start the built-in Review Loop workflow to open a selectable reviewer beside your current session. It defaults to 2–4 rounds, checks previous findings and searches for new issues each round, and saves results in workflow history with unresolved work clearly marked.
Fixed
- Claude’s status no longer incorrectly switches from Working to Idle when you browse transcript history. Activity detection also better accounts for ongoing child tasks and background shell jobs.
- On macOS 27, clicking inside an active Canvas terminal or Command-clicking a link no longer unexpectedly changes card selection.
Agent Workflows are here: turn repeatable tasks into reusable flows that coordinate your agents, run scripts, and keep every step and result in one place.
New
- Build your own agent workflows. Combine prompts, agent launches, script actions, conditions, and loops in a reusable workflow. Assign Agent Profiles to roles so different agents can take care of different steps. Open Manage Workflows from the Agents menu, start with a single-agent or multi-agent template, or use Create with Agent to help write one for your task.
- Start and follow a run from Prowl. Launch workflows from the Agents menu, Command Palette, or Settings. The start sheet shows the participating agents, options, and steps before you run; toolbar controls let you follow progress and resolve steps that need attention. Local script actions require review and approval before execution.
- Hand off a task without losing context. The built-in Handoff workflow asks the current agent to write a briefing, saves it with repository and session context, and can launch a receiving agent in a new tab to continue. Choose save-only to keep the packet for later. Handoff now uses the workflow interface; existing
prowl handoff commands show migration instructions.
- Inspect every step in Workflow History. Open the history button beside the toolbar bell to revisit prompts, agent deliveries, script outputs, errors, and repeated steps. Filter by pane or worktree, open result files, and export a finished run as a ZIP. Local history is kept for three days; export runs you want to retain.
Improved
- Codex status tracking now uses available session lifecycle evidence to keep panes Working through quiet periods while turns or child tasks remain active. Approval and question prompts still take precedence as Blocked.
- Smaller release downloads, with the same signed and notarized app.
Fixed
- Completion reminders remain unread until you view the pane in the active, visible window, including Canvas panes that have been panned offscreen.
- Fixed active Claude Code sessions appearing Idle when the composer has a session title, and active Codex sessions appearing Idle with animated backgrounds.
Meet Agent Island: all your agents' status at your Mac's notch, with a new way to navigate built for speed and muscle memory. See who is working, waiting for you, finished, or idle at a glance, then jump straight to any agent—even from another app.
New
- All-agent status at the notch. Agent Island brings together status counts for every agent, with visible reminders for agents waiting for input or with unread results. It fits around the notch on your chosen display, or appears as a draggable floating bar on displays without one.
- Agent navigation that becomes muscle memory. Assign Toggle Agent Island in Display or Shortcuts settings, then use the same quick sequence from any app: open the roster, select with arrow keys, and press Return to jump to the pane. Number keys 1–9 jump directly to an agent on the current page; agents waiting for input and unread completions get priority when the roster opens. You can also expand the island and click any agent.
- Off by default, easy to enable. Turn on Show Agent Island in Settings → Agents → Display, or use the island toggle in the Active Agents panel.
- Active Agents and Agent Island preferences now live together in Settings → Agents → Display, including placement, opacity, and whether to hide the island when empty.
- Settings → Agents → CLI & Skills now shows whether the CLI connection is listening, with a reason when it is unavailable.
Fixed
- Closing a pane or tab now asks for confirmation if an affected terminal received editing input within the last 10 seconds or still has active input-method composition.
- Agent status now follows explicit runtime indicators more reliably, including Pi and OMP working indicators, Codex background-terminal waits, and Copilot streaming output. Claude Code and Copilot workspace-trust prompts correctly appear as Blocked.
- Adding a Custom Command now scrolls to and focuses its name editor, so typing renames the command instead of the repository.
- Fixed completion-hook setup for Codex configurations without an existing notifier.
This release lays the groundwork for Agent Workflows — multi-step, multi-agent orchestrations that Prowl runs and supervises for you. The engine and CLI are ready to try today; the complete experience, including starting and managing runs from the UI, arrives together with the workflow interface in an upcoming release.
New
- Agent Workflows (early preview): define multi-step, multi-role workflows in YAML and run them with
prowl workflow run. Track progress with prowl workflow status, complete a step with prowl workflow done, and stop a run with prowl workflow cancel; validate a definition file or inspect the schema with prowl workflow validate and prowl workflow schema. The start sheet, Settings page, and built-in workflows ship in a later release.
- A workflow status indicator now appears in the toolbar for the selected worktree. Hover or pin it to see the run's active role, current step, repeat progress, and any attention that needs your input.
prowl agents dispatch sends a new task into an agent that is already running in a pane, without restarting it, so you can queue a follow-up request once the agent goes idle.
Fixed
- Creating a new tab or split, or launching an Agent Profile, no longer fails or leaves a dead shell when the display is asleep.
- Worktree rows for a blocked agent now show a "needs input" icon instead of the running spinner, so a blocked agent no longer looks like it is still working.
This release focuses on letting Prowl and your agents know what other agents are actually doing, plus new CLI and Settings tooling for skills and panes.
New
- Agent coordination from the CLI:
prowl create tab|pane --profile <name> --prompt - launches an Agent Profile with a kickoff prompt and returns a dispatch receipt; prowl agents wait --dispatch <id> blocks until the worker reports prowl agents dispatch-complete, and prowl agents wait <pane> --until idle|blocked|changed|exit waits on an observed pane state. Agents can report their own events with prowl agents signal, and prowl profiles list shows the configured Profiles with their runtime availability.
- Native completion-signal hooks for all eight supported runtimes (Claude Code, Codex, GitHub Copilot, Droid, Qoder, Pi, Oh My Pi, OpenCode) when launched from a Profile, so
agents wait knows precisely when a turn ends or an agent needs input instead of guessing from the screen. Nothing is written to your runtime configuration; the hooks live only for that launch.
- Prowl's bundled skills (
prowl-cli) can be installed with prowl skills install, or from the Agent Skills section on the new Settings → Agents → CLI & Skills page. Both link the bundled skills into your Claude, Codex, or shared ~/.agents skill folders and show the same per-target status.
prowl create pane <anchor> --direction right|left|up|down opens a split against an explicit anchor pane, and every pane now exports PROWL_PANE_ID so an agent or script can address its own pane without guessing from focus.
Improved
- Settings now has an Agents group: Profiles moved there, and the new CLI & Skills page takes over the
prowl CLI install from Advanced.
Fixed
- Claude Code's periodic idle-prompt notification was misread as "needs input", which could make
agents wait hang on an already-idle pane; freshly launched Profile agents are also detected as idle promptly instead of timing out.
- Pi's background sub-agent activity is now recognized as Working instead of appearing idle.
- A Claude pane with an active spinner above a queued multi-line message was incorrectly reported as idle.
This release adds per-repository diffing for workspace children and unifies the Prowl CLI's target syntax.
New
- Workspace child rows now support diffs: click their
+N/-M badge or use the context menu's Show Diff / Show Outgoing Changes. Diff shortcuts (⌘⇧Y, ⌥⌘⇧Y), the View menu, and Command Palette now follow the selected workspace child, not just worktrees.
- The Prowl CLI accepts
pN/tN pane and tab handles directly in any target position, and adds action-first prowl create tab and prowl close commands. The older tab/pane lifecycle commands still work but print a deprecation warning.
Fixed
- Fixed terminal tab colors occasionally resolving incorrectly when SwiftUI rendered them asynchronously off the main thread.
Improved
- Notification and update controls in the toolbar are now grouped together for a cleaner layout.