pitwall

A free, MIT-licensed desktop terminal that shows what each coding agent is doing and takes you to the one waiting on you.

Stars
★ 18
Last updated
today
License
MIT
Primary language
Go

At a glance

Works with
Portable with changesCodex · Claude Code
You'll need
Claude Code, Codex, OpenCode, Gemini CLI, Cursor CLI, pi or Oh My Pi (one supported agent to drive)git (for worktrees, branch stats and review)Homebrew or Scoop (optional package managers)Shell / CLINetwork accessLocal filesystem
Typical use
A developer running Claude Code and Codex side by side on one repo who wants to see which agent is blocked on a permission prompt and approve it without leaving the sidebar.
Main limitation
The README states the macOS and Windows builds are newer and little used, with daily validation on Linux, so cross-platform stability is uncertain.
Source review
70/100 · Some gaps

What does this agent do, and when should you use it?

pitwall is a desktop terminal from Quantic Studios, released under the MIT license, built for running several coding agents at once. Work is organized into sessions, tabs, panes and groups, and a sidebar row per agent reports its state — Working, Input, Approval, Plan, Done or Error — along with the branch, lines changed and pull request. Ctrl+Shift+U jumps to the agent that started waiting most recently; Allow/Deny can be pressed on the row itself or from a paired phone. It supports Claude Code, Codex, OpenCode, Gemini CLI, Cursor CLI, pi and Oh My Pi, and adds per-worker git worktrees with port blocks, conflict warnings, a line-comment review view, a task queue and usage/error reporting. A daemon keeps sessions alive so tabs and agents come back after a window close, reboot or upgrade.

pitwall's UI is built in Go with Gio and is backed by a session daemon that owns tabs and panes. On first run it lists the agents on your PATH and, through pitwall hooks install, writes hooks so each agent reports its state; those hook events drive the sidebar rows, desktop notifications and the phone page. Concrete operations: each row shows Working/Input/Approval/Plan/Done/Error plus branch, lines changed and the PR's CI and review; Ctrl+Shift+U cycles to the most recently waiting agent; recognized Claude Code or Codex permission prompts expose Allow, Deny and Always on the row, and pitwall only presses when the row is current, the prompt is on screen and any hook-reported shell command still matches the visible text (commands with a newline or tab are always refused); Ctrl+Shift+K searches tabs across sessions and hosts and can reopen up to 200 closed tabs from 30 days; Ctrl+Shift+R opens the review view with per-line comments, This turn / Staging / Undo turn scopes and Second opinion; pitwall new, split, send, wait --children, worktree new, worktree rm, fork, notify, doctor and --host script the same primitives. Worktrees inherit port blocks (3010-3019, then 3020-3029) in PORT plus two more variables, and overlapping edits between open-PR branches get an amber or red marker. Settings pages aggregate agent errors and turn timing from redacted daemon logs, plus Claude Code and Codex plan-limit windows with API-price estimates.

  1. A developer running Claude Code and Codex side by side on one repo who wants to see which agent is blocked on a permission prompt and approve it without leaving the sidebar.
  2. A team whose orchestrator splits work with pitwall worktree new, giving each worker its own worktree and port block so dev servers stop fighting over port 3000.
  3. A reviewer who wants to comment on agent changes line by line and hand all comments back as one prompt via Ctrl+Shift+R and Send comments.
  4. A laptop user who keeps agents running on another machine with pitwall --host box over ssh so closing the lid does not end the session.
  5. Someone who wants to approve prompts from a phone after pairing by QR code in Settings, Phone, with Allow/Deny and a typed-answer box.
  6. A team investigating repeated failures such as zsh: command not found: rg 38 times, and estimating token cost, through Settings, Agent errors and Timing.
  7. A user who wants to stop an agent from running git push, gh pr merge or terraform apply via --guard or guard_workers.

How do you install or deploy this agent?

On macOS or Linux with Homebrew:

brew install quanticstudios/tap/pitwall

Or use the install script, which places the binary in ~/.local/bin (add it to PATH if needed):

curl -fsSL https://raw.githubusercontent.com/quanticstudios/pitwall/main/scripts/get.sh | sh

On Windows with Scoop or the PowerShell script:

scoop bucket add quanticstudios https://github.com/quanticstudios/scoop-bucket
scoop install pitwall
irm https://raw.githubusercontent.com/quanticstudios/pitwall/main/scripts/get.ps1 | iex

You must supply at least one supported agent (Claude Code, Codex, OpenCode, Gemini CLI, Cursor CLI, pi or Oh My Pi) and git. Supported builds: Linux with glibc 2.35+, macOS, Windows 10 1809+ and 11, on x86_64 and arm64.

How do you use this agent?

Start it inside a git repo, then press Install hooks on the welcome card (or in Settings, Agents) so agents report their state.

cd /path/to/your/repo
pitwall

Open a tab with Ctrl+Shift+T (Cmd+T on macOS) and run claude in one and codex in another; in Codex, run /hooks once to trust the new hooks. Then Ctrl+Shift+U jumps to a waiting agent, and Ctrl+Shift+Y / Ctrl+Shift+D allow or deny.

Start a fleet of workers from the CLI:

pitwall worktree new invoice-pdf -- claude "Render invoices as PDFs"
pitwall worktree new webhook-retry -- codex "Retry failed webhooks"
pitwall wait --children --until done --timeout 30m

Have one agent drive another and wait for the result:

tab=$(pitwall new -n "review auth" -- codex "review origin/main..HEAD")
pitwall wait "$tab" --until done --timeout 20m

pane=$(pitwall split -- codex)
pitwall send "$pane" -- "Critique plan.md"

Check the installation:

pitwall doctor

Phone pairing, remote hosts and fleet mode are configured in Settings; see docs/phone.md, docs/remote.md and docs/usage.md#fleet-mode.

What are this agent's strengths and limitations?

Pros
  • Per-row state, branch, diff stats and PR CI/review in the sidebar, with Ctrl+Shift+U cycling to the most recently waiting agent — a real workflow for many parallel agents.
  • On-row Allow/Deny is validated: the hook-reported command must still match the visible prompt, and commands containing a newline or tab are always refused, reducing blind approvals.
  • Automatic worktree port blocks (3010-3019, then 3020-3029) and amber/red overlap markers when open-PR branches touch the same files.
  • A daemon keeps sessions alive so tabs and agents return after a close, reboot or upgrade, and pitwall --host runs sessions on another machine over ssh.
  • --guard blocks commands like git push, gh pr merge and terraform apply, and pitwall disables repo-config hooks, core.fsmonitor and diff/filter/ssh programs for its own git calls.
  • MIT-licensed with no account, and works across Claude Code, Codex, Gemini CLI, OpenCode, pi, Oh My Pi and Cursor CLI rather than one vendor.
Limitations
  • The README states the macOS and Windows builds are newer and little used, with daily validation on Linux, so cross-platform stability is uncertain.
  • --guard matches command text only (a script that pushes gets through), and the git-config filtering is explicitly described as not a sandbox boundary.
  • In-row approval only works when the on-screen form is fully recognized; edits, fetches and other prompts without a reported command must be read in the tab.
  • Phone access is local-only by default and needs a reachable address such as Tailscale; push notifications require a certificate the phone trusts plus extra setup.
  • Hooks must be installed and trusted per agent (Codex needs a manual /hooks), and missing hooks degrade state reporting and row-level approvals.
  • Several headline features (fleet mode, worktree ports, hunk staging) depend on config.toml keys and settings that require reading the docs first.

How does this agent compare with similar options?

The README positions pitwall as a tmux alternative (listed among its topics) with tmux-like sessions, and contrasts it with simply running claude or codex in a plain terminal; no other named competitor is given.

Key facts side by side with the most closely related agents.

Agent Source review Form / cost Stars Updated Language Full support on
pitwall This agent 70 · Some gaps — ★ 18 today Go Codex · Claude Code
Zeroshot Verification Loop 63 · Some gaps CLIFree + model costs ★ 2.1k today Rust Codex · Claude Code
acpx 57 · Major gaps CLIFree + model costs ★ 3.4k 3d ago TypeScript Codex · Claude Code
Runner Multi-Agent Terminal 82 · Some gaps Desktop appFree ★ 455 today Rust Codex · Claude Code

How does FollowAgents rate this agent?

FollowAgents source review · FARS-2.1
Some gaps
70/ 100 5-point scale 3.5 / 5
Trust 16/29
Reliability 9/14
Adaptability 15/18
Convention 15/18
Effectiveness 10/13
Verifiability 5/8
Why each dimension lost points
Trust16 / 29 · 2.8/5

Docs openly state pitwall starts shells and agents with the user's permissions and does not sandbox them; --guard is a text-matching seatbelt, and the .git/config mitigation is explicitly partial, so least_privilege is 1. User confirmation exists via hooks --dry-run, per-invocation approval for repo teardown commands, and --force warnings for shared worktrees, but many actions remain automatic, so 2. Data-flow transparency is decent: logs exclude screen content, input, prompts and hook payloads; phone has no account or relay; push goes through the browser service encrypted, so 2. Sensitive data handling: logs are 0600 in 0700 dirs, secrets redacted, crash.log flagged for review, but terminal output and saved sessions can still leak private data, so 2. Dependency security: go.mod pins several pseudo-versions and local replace directives into third_party with no visible audit or vulnerability scanning, so 1. External effects: updates, worktree removal and teardown keep state on failure and report reasons, so 2. Rollback: Undo turn, handoff failure keeps the old daemon, failed update installs nothing, so 2. Source attribution: MIT text and Quantic Studios copyright line are present, but the publisher is unverified and install pipes raw main scripts into a shell, so 1.

Reliability9 / 14 · 3.2/5

Self-consistency: README, install, config, usage and troubleshooting agree on states, updates and handoff, so 2. Dependency availability: go 1.27.1, multiple pseudo-version deps and vendored modules, plus mise and many system headers for builds, with no lock verification shown, so 1. Failure messages: doctor prints per-line checks with fix commands, stall files, handoff failure reasons and teardown failures that keep the worktree, so 3.

Adaptability15 / 18 · 4.2/5

Audience and scenarios: aimed at developers running several coding agents, covering approvals, phone, worktrees, fleet and cost, so 3. Capability boundaries: per-agent state support, no-hook degradation and limits for pi, Oh My Pi, Gemini and Cursor are spelled out, so 3. Trigger precision: jump-to-waiting, Allow/Deny requiring the same prompt on screen, and refusal of multi-line commands are careful, but screen detection and quiet heuristics can misfire, so 2. Environment fit: daily use on Linux, macOS and Windows new and little used, Windows lacks handoff and has notification limits, so 2.

Convention15 / 18 · 4.2/5

Information architecture: README sections are clear and docs split install/config/usage/troubleshooting/phone/remote, so 3. Install notes: brew, curl, scoop, PowerShell, source build, version pinning and PATH guidance are complete, so 3. Naming stability: releases bump only the patch of v0.1.N and an old config key is kept as an alias, but alpha protocol and states may still shift, so 2. Examples and FAQ: many command examples, screenshots and troubleshooting Q&A, so 3. Known limitations: macOS/Windows gaps, missing states without hooks and keep-awake limits are listed, so 3. License: full MIT text present, so 3. Versioning/changelog: CI enforces a CHANGELOG entry and v0.1.N tagging is described, but no actual CHANGELOG content is in the evidence, so 2. Maintenance responsibility: SECURITY.md names @quanticstudios but the publisher is unverified and no response deadline is promised, so 1.

Effectiveness10 / 13 · 3.8/5

Output usability: sidebar states, in-row approvals, review comments and doctor output are directly usable, so 3. Marginal value: over tmux plus multiple terminals it adds state aggregation, phone approvals, worktree port isolation and conflict radar, but value depends on already running multi-agent workflows, so 2. Cost benefit: free MIT with no account, but requires hook installs and configuration, and macOS/Windows are immature, so 2.

Verifiability5 / 8 · 3.1/5

Claim traceability: README claims map to docs and code paths such as internal/session/opencode/README.md and docs/handoff.md, so 2. Cross-source corroboration: install, config, usage and troubleshooting agree on update and handoff behavior, and CI config corroborates tests and changelog checks, so 2. Fact/inference separation: docs mark items as unverified or not yet run and distinguish tested from untested platforms, so 2.

Risks and how to mitigate them
  • pitwall runs agents with the user's permissions and does not sandbox them; --guard only matches command text and scripts can bypass it, so it is not a security boundary.
  • Install scripts are piped from raw main via curl | sh or irm | iex, and the publisher is not verified by the FollowAgents registry; review the scripts or prefer a package manager.
  • macOS release binaries are unsigned and unnotarized, and the macOS and Windows builds are described as new and little used; be cautious in production.
  • go.mod relies on several pseudo-version dependencies and local replace directives with no visible vulnerability scanning; audit the supply chain yourself.
  • Screen detection and quiet heuristics can misreport agent state, and in-row Allow/Deny does not compare prompts with no reported command, so confirm manually.
Evidence confidence: Low Reviewed Nov 04, 2026 Reviewed revision 4ed2aab085a9
See the full review method →

FAQ

Does pitwall cost anything or need an account?
No. It is MIT-licensed and the README states it is free, open source and accountless; your only cost is whatever your coding agents' own subscriptions or API usage charge.
Does it send my code anywhere?
The phone page talks to your computer over your own network with no account and no relay; phone push notifications go through the browser's push service, encrypted. With pitwall --host, sessions run on the machine you ssh into.
Can an on-row Allow approve the wrong prompt?
pitwall first checks the row is current and a permission prompt is on screen; for hook-reported shell commands it also requires the prompt to show that command as far as it fits, or nothing is pressed and you are told to answer in the tab. Commands with a line break or tab are always refused.
Can it stop an agent from running dangerous commands?
--guard makes Claude Code, Codex, pi, Oh My Pi and OpenCode 1 refuse commands like git push, gh pr merge and terraform apply. It reads command text only, so it is a seatbelt, not a sandbox — an agent can still run other programs as you.
What happens to running agents if I close the window or reboot?
Tabs come back in their folders with agents resumed, and panes keep their most recent 2000 rows (except in guarded tabs). Local sessions still stop with the machine; use pitwall --host to keep them on another host.
View on GitHub ↗ Install ↓

Compare agents like this one

The same FARS review applied across the shortlist this agent qualifies for.

Related agents