We build pitwall at Quantic Studios. In beta 13, tabs opened from a pitwall pane are grouped under their parent tab. The parent shows a bar of worker states and counts for workers that need you, failed, are working or are done. You can fold the workers away and still see those counts.
Sample workspace. Billing epic groups ten worker tabs. The state bar summarizes the group; click it to fold the worker rows.
The example below starts with two tasks that request no file changes.
Start with two read-only tasks
Install pitwall and update to v0.1.0-beta.13. Install and authenticate Claude Code and Codex separately. Their subscription or API costs still apply.
On Linux or macOS with Homebrew:
brew install quanticstudios/tap/pitwall
# If it is already installed:
# brew upgrade quanticstudios/tap/pitwall
pitwall --version
pitwall
Use the first-run hook setup, or inspect and install the hooks from a terminal:
pitwall hooks install --dry-run
pitwall hooks install
In Codex, run /hooks once to trust the hooks. Restart agent sessions that were running before hook installation.
Open a terminal pane inside pitwall, in a small repository. Run both commands from that same pane:
pitwall new -n explain -- claude "Explain this repository's entry points. Do not edit files."
pitwall new -n tests -- codex "Find the documented test commands and explain what they cover. Do not run commands or edit files."
Each command prints its new tab address. Leave off -d so the tabs stay visible in the sidebar. Run these from a pitwall pane so the commands have a calling pane for grouping.
These prompts request read-only work. They do not create a security sandbox or change the agents' permissions.
List the workers and wait for them
From the same parent pane:
pitwall ls --children
pitwall wait --children --until done --timeout 10m
The wait covers the tabs opened by that parent, including workers added while it waits. A worker that needs permission, an answer or plan approval stops the wait early. Answer that worker in its tab, then run the wait again.
The exit status tells the caller what happened:
| Status | Meaning |
|---|---|
| 0 | The workers reached the requested state. |
| 2 | A worker needs human input or approval. |
| 3 | A worker process exited with an error while waiting. |
| 124 | The timeout expired. |
| 1 | The command failed, for example because a tab closed. |
Inspect the printed state as well as the exit status. Done means an agent finished its turn. It does not prove the explanation is correct or that a code change passed its tests.
Click the state bar to fold the worker rows. Ctrl+Shift+U can still jump to a folded worker that needs you.
Give editing tasks separate worktrees
Once the read-only example works, use a separate worktree for each task that changes files:
pitwall worktree new docs-example -- claude "Improve the README setup example. Do not edit application code. Review the diff and commit your changes on this branch."
Run that from the parent pane too. The worker gets its own branch and ports. pitwall warns when workers edit the same file, but those warnings do not resolve conflicts. Inspect the diff and run the relevant checks before merging.
Sample worktree card. The conflict warning names the other task and the affected file.
Keep the permission prompts
wait --children reports that a worker needs you. It does not answer the request. Grouping the tabs also does not give one agent authority to approve another agent's actions.
If you use pitwall send for follow-up messages, remember that its queue is held in memory. A daemon restart loses pending messages. Check the receiving transcript before resending.
Staged conversation in the real pitwall interface. Message headers identify the sender and where to reply.
The beta 13 release notes also cover Vim and Neovim pane navigation. The agent command guide has the full worker and wait semantics.
pitwall is free and MIT-licensed. Linux is where we use it daily; macOS and Windows builds need more testing. If this example stops at the wrong state, an issue with your OS, pitwall version, agent version and the order of events helps us reproduce it. Leave private prompt content out.
An AI agent drafted this guide from the release notes and command documentation. The commands were checked against those documents; this article does not report a newly executed agent run.



Top comments (0)