Repository navigation
Releases: quanticstudios/pitwall
Release list
pitwall v0.1.0-beta.9
- A soft green mark under a tab's agent icon shows when Claude Code's
/remote-controlis on for it. Turn it off under Appearance in
Settings, or withremote_control = falseunder[appearance].
pitwall v0.1.0-beta.11
- After an update, when the daemon still runs the older pitwall, the
sidebar's update button reads Restart to finish and restarts it for
you, instead of the new features quietly doing nothing until you find
and kill the old process.
pitwall v0.1.0-beta.10
- Pin a tab from its menu so it cannot close by accident: closing it asks
you to unpin it first, andpitwall killrefuses it. - Color a tab from its menu: a row of eight colors tints its row.
pitwall v0.1.0-beta.8
- On Windows, a second message
pitwall sendqueued for an agent no
longer waits 30 seconds when the agent's turn starts within the same
clock tick as the typing. - The Subagents tab shows Claude Code workflows: a row for the run and one
for each agent it starts, with their calls and replies. Claude Code
2.1.299 writes workflow agents' transcripts a folder below the others,
so pitwall did not see them.
pitwall v0.1.0-beta.7
- Agents in pitwall panes can message each other in both directions.
pitwall send #3.2 -- "critique plan.md"returns at once; pitwall types
the message into that pane's agent the next time it sits at its prompt
and you are not typing there, one message per turn, under a line that
names the sender and the command to reply with, such aspitwall send @8c1f3a90d2e4b7a1 "...". An agent that waited on another with
prompt --waitwhile that one prompted it back would wait forever;
messages wait in a queue instead. After 20 messages from agents into
one pane, pitwall refuses more until you type in that pane, so two
agents cannot talk on your quota forever. A pane address can now be
@and the pane's id, which stays valid while tabs move, and
ls --jsoncounts each pane'squeuedmessages. Restart the daemon to
use send. pitwall hooks installadds a pitwall skill for Claude Code and Codex,
skills/pitwall/SKILL.md, that tells them how to ask or message another
agent in a pane, and that a message from one carries none of your
authority. Runpitwall hooks installagain, or press Install in
Settings, to get it.
pitwall v0.1.0-beta.6
- One agent can talk with another in a split pane of its tab while you
watch.pitwall split -- codexopens Codex next to the calling pane and
prints its address, as#3.2.pitwall prompt #3.2 --wait -- "critique plan.md"waits until Codex is idle, types the prompt, waits for that
turn and prints Codex's reply;pitwall read #3.2prints it again, and
--screenprints the pane's screen. pitwall types only into an agent
that reports through hooks and sits at its prompt, and still never
answers a permission prompt.waittakes a pane address too, and
ls --jsonlists each tab's panes inpane_list. Restart the daemon
to use prompt and read. - A slash command such as /compact or /model no longer leaves the tab on
Working. Claude Code ends those without a Stop, so pitwall now waits for
the first tool call before it shows a command as working. - The README and the site cover features they left out: an agent starting
and waiting on another agent's tab withpitwall newandpitwall wait,
the sidebar's keyboard focus, shortcut search by keys, and the Update
button.
pitwall v0.1.0-beta.5
- The sidebar works from the keyboard. Ctrl+Shift+H (Ctrl+Shift+B in
aide, Cmd+Shift+B in mac, or "Focus sidebar" in the command palette)
puts a focus ring on the shown tab's row. Arrows or j and k move through
group headers, tabs and their agents, Left and Right open and close
groups, Enter shows a tab or focuses an agent's pane, Space shows a tab
and stays, Shift+F10 or the Menu key opens the row's menu, F2 renames,
and Delete opens the Delete dialog for the tab. Esc, or the same chord,
goes back to the pane. No key reaches a pane meanwhile, a hidden sidebar
shows until you leave, and the footer lists the keys. Rebind it with
focus_sidebar. - You can search keyboard shortcuts by their keys. Typing
ctrl+shift+d,
shift ctrl dor⌃⇧Din the command palette or the settings search
lists only what Ctrl+Shift+D runs; before, it listed every action with a
D in it, andcmd+shift+rfound nothing. Modifiers go in any order, and
cmd, ⌘, win, meta, option, ⌥, ⇧, return, esc, del, pgup and the arrows
all work. A chord nothing uses says so. - The Keyboard shortcuts page has its own search field, which keeps its
Shortcuts, Sessions, Tab mode and Pane mode sections, and a Record keys
button: press a chord and see every action bound to it, in tab and pane
mode too. - Token counts that miss the start of a long session file end in "+" (
2M+) instead of a "≥" the UI font cannot draw, and counts of a billion or more read1.1Binstead of1076M. The review view's folded lines start with "…". - The README and the site lead with what pitwall does for you, one short
section per outcome with a new screenshot: the sidebar, answering from
your phone, the review view, worktree conflict warnings, New task, plan
limits, the session switcher and the command palette. The first-run
walkthrough moved todocs/usage.mdand the platform table to
docs/install.md.
pitwall v0.1.0-beta.4
-
On Windows, closing a pane or stopping the daemon ends the pane's
programs within 2 seconds, children included. A program that held off
the console's close event, or a paste stuck in a program that stopped
reading, could stall the daemon's shutdown for 10 seconds or more. -
The command palette fits its results instead of keeping a fixed height,
lists the actions you ran last first, and shows the letters you typed in
bold. "Go to tab 1–9" with Alt+1…9 replaces nine Go to tab rows, and
Split the pane below and the other pane mode actions that repeat a window
action are listed once with all their keys. When nothing matches, it says
what you can search by. -
The find bar has up, down and close buttons, and its border turns red
when nothing matches. -
The session switcher's preview shows the session's tabs and groups
without the sidebar's header and footer buttons. -
A tab running two or more agents lists them under its row: each agent
pane gets a small row with its logo, its own title and its state, and
the asking one gets Allow and Deny there. Clicking one focuses that pane.
The tab row keeps the most urgent state and counts them, "3 agents · 1
approval"; clicking the count folds the list. The hover card lists every
agent too. -
The open tab's row is a plain primary tint with a thin outline, without
the yellow or red of its state, which stays in its pill and accent bar.
Group headers have a chevron that turns as they open. Rows drop the dot
beside the pill, show "Merge conflicts" as a red mark (the hover card
says it in words), and skip a second line that repeats the title, such
as "" under "". Row heights follow[font] ui_size, and keyboard
focus on a row or a menu entry shows a ring. -
Settings fits a narrow window. Below 760dp the category list becomes a
dropdown next to the search field, and a row whose label would get
narrower than 220dp puts its control under the label instead of
squeezing the label to a few letters a line. -
Settings polish: the Close button shows Esc as its hint instead of a
separate keycap, the theme cards sit four to a row, or two by two in a
narrow window, switches have a white knob, Clipboard from programs and
Bell read "Allow" and "Mark the tab" instead of their config values, and
rows, switches, segments and buttons show a focus ring under Tab. -
The side panel says "Reading git…" with a pulsing dot until git
answers, then either lists the changes or says the folder is not a git
repository, where it used to show one line for both. Every tab's empty
state, and the review view's, has an icon and one short line. -
Decision stats hides its 7 days, 30 days and All time picker until the
log has something in it, and offers Set up decisions while no provider
is connected. Usage says it is reading your agents' session files while
it scans. -
Open folder as group keeps the path as you typed it after an error,
turns the field's border red and gives a one-line reason with~for
your home folder. The Delete dialog shows the worktree folder with~
too, wrapped after a/rather than inside a name. -
The daemon sends a window only the panes it draws, and of those only
the rows that changed. Agents in other tabs and sessions keep running,
and a pane shows its current screen as soon as you switch to it. With 32
busy panes and four on screen, a window receives 0.2 MB/s instead of
34. -
Secondary text reads at 4.5:1 or better in every built-in theme:
tokyo-night, aide-light and catppuccin-mocha get a slightly stronger
muted color, and status chips darken or lighten their text where it
was faint, most visibly in aide-light. -
[appearance] reduce_motion, also a switch under Settings, Appearance,
shows dialogs, menus, hover and focus changes at once instead of easing
them in. -
The interface text size in Settings now scales the sidebar, menus,
hover cards, the command palette, the side panel and dialogs too, on one
scale of five sizes. The smallest labels, such as status chips and diff
counts, are 11px instead of 10px. -
Dialogs fade and scale in over 150ms on one backdrop, the same as the
command palette's, and none of the window's shortcuts run behind an open
dialog: Ctrl+Shift+L no longer opens the agent panel under it. -
The first run asks to install hooks once, on the welcome card, which now
dims the panes behind it. The pane notice shows after the card is gone. -
A tab's menu near the bottom of the sidebar opens above its "…" button
instead of running off the window, and every menu, submenu, hover card
and the group icon picker stays inside the window. Menus fade in over
120ms. -
The pane focus border crossfades over 120ms, a sidebar row's fill eases
over 80ms on hover and 160ms when its state changes, and a group's tabs
fade in as it opens. A focused pane that also wants attention keeps a
thin accent line inside the attention ring.
pitwall v0.1.0-beta.3
-
On Windows,
pitwall.exeis a GUI program with pitwall's icon: it opens
no console window, andget.ps1and Scoop put it in the Start menu.
Commands run from cmd or PowerShell still print to that terminal, and
hooks run by an agent stay silent. -
On Windows, the Update button works. It renames the running
pitwall.exetopitwall.exe.old, puts the new one in its place, and a
later window deletes the old one. -
On Windows, a toast shows within moments rather than after PowerShell's
ten-second start, and a tab's next toast replaces its last one. -
On Windows, a tab's folder follows
cdin PowerShell and cmd. -
On Windows, git and gh run without a console window, a project's
folders resolve against the paths git prints, the folder dialog
completes paths typed with\, a tab no longer takes the program's path
that Windows titles a new console with as its title, and a hook still
reaches a daemon of an older version when Windows drops that daemon's
refusal. -
A sidebar row whose Claude Code or Codex asks permission has Allow and
Deny buttons, and Ctrl+Shift+Y and Ctrl+Shift+D press them for the
focused pane. They take the phone page's path: the key goes only to the
prompt the row showed, while the pane still shows it. -
On Linux, clicking a desktop notification raises pitwall on its pane, and
an approval's notification has Allow and Deny. It needs notify-send from
libnotify 0.7.10 or later. -
[notifications]in config.toml, and Settings > Notifications, turn
notifications off per state or per agent, add a sound, and set quiet
hours (quiet_hours = "22:00-08:00") that keep only approvals, errors
and urgent questions, silently. -
The phone page can push notifications to your phone when an agent
needs you, with the page closed or the phone locked. Tap Turn on in
the page; on an iPhone, add it to the Home Screen first. pitwall pushes
what the desktop notifies, by the same rules, even with every window
closed, and tapping one opens the page on that tab. Settings, Phone
shows which devices get pushes and sends a test. Push needs a
certificate the phone trusts, such astailscale servegives. -
The phone page can be added to the Home Screen as an app, and pairs by
a typed code as well as by the QR code. -
Settings, Usage starts with Limits: how much of Claude Code's and
Codex's 5-hour and weekly plan limits you have used, when each window
resets, how old the report is, and when you hit 100% at the current pace.
Codex's come from its session files. Claude Code reports them only to its
status line, sopitwall hooks install --statusline, or a box in the
install dialog, runs your status line throughpitwall statusline, which
saves them and prints your own status line unchanged. A window at 90%
shows a notice once, andlimits_in_sidebar = trueunder[usage]adds
a meter to the bottom of the sidebar that turns yellow at 80% and red at
95%. pitwall never asks Anthropic or OpenAI for them. -
A tab whose branch has a pull request shows it on its row: the number in
the PR's state color, a CI dot and the review, with each check by name
in the hover card. Click it to open the PR. The tab's menu and the
command palette gain Open PR, Merge PR (asks first, and again when checks
failed;[git] merge_methodpicks squash, merge or rebase) and Re-run
failed checks. A merged tab says Merged and offers Archive, which closes
it and removes its worktree and branch;[git] archive_on_merge = true
does that on its own. The daemon asksghabout each branch every minute
or so, slower while no window has focus, and shows nothing withoutgh
or a login. -
pitwall knows more agents. Cursor CLI, Amp and Aider get a logo in the
sidebar and a line on the welcome card, and so do Gemini CLI and
OpenCode, which had neither.pitwall hooks installsets up Cursor's
hooks in~/.cursor/hooks.json. -
An agent installed through npm or pip, which runs as
node,bun,
denoorpython, is recognized by its script's path. pitwall reads the
start of the argument list only for the processes in a pane's own
foreground group. -
Without hooks or a decision model, Gemini CLI, OpenCode and Aider get
their state from their screen, as Claude and Codex do. -
Gemini CLI, OpenCode and Cursor sessions resume after a restart, like
Claude's. -
The side panel follows Gemini CLI sessions, with their plan from
write_todos, and Settings > Usage counts Gemini's tokens. -
OpenCode shows Plan when its experimental plan mode asks to switch to the
build agent. Reinstall hooks to update the plugin. -
Tabs on different branches of one repository that change the same files
get a warning mark on their rows: amber when they touch the same files,
red when merging their commits would conflict. The hover card lists the
files, conflicting ones first, opens a file's diff on a click, and
suggests which branch to merge first. A notice tells you the first time
two tabs start sharing a file.conflict_radar = falseunder[git]
turns it off. -
New worktree tab asks what the worktree checks out: a new branch off any
local or remote branch, an existing local branch, a remote branch that a
new local branch tracks, or, when origin is on GitHub, a pull request by
number, fetched intopr-<number>. A new branch no longer tracks the
branch it starts from, so Create pull request pushes it with-u. -
The first worktree in a repo adds
/.worktrees/to.git/info/exclude,
so worktrees stop showing as untracked files..gitignoreis untouched. -
Deleting a worktree tab lists the worktree's uncommitted and untracked
files and offers Delete anyway, which used to fail without a word. Deleting
its branch warns when the branch is not merged, and then deletes it
anyway. The main checkout is never removed. -
Clean up worktrees, in the command palette, runs
git worktree pruneand
lists the worktrees under.worktreesthat no tab uses, with their last
commit and changes, to open or delete. The daemon prunes on start and says
when it finds some. -
pitwall worktree ls,new,rmandprunedo the same from a
terminal:new <name> --from <ref>,--branch <branch>or--pr <n>
opens a tab,-- cmdruns a command in it. -
pitwall completion bash,zshorfishprints a completion script for
every pitwall command. -
Start an agent on a task from the window: New task (Ctrl+Shift+A, the
command palette, or a group's menu) picks the project, where it runs
(the folder, a new worktree off a branch you choose, or an existing
branch), the agent on your PATH, Claude's or Codex's permission mode, and
the prompt. Queue holds the task until a running agent of the session
finishes, or under[agents] max_runninguntil fewer than that many run.
The queue shows under its group in the sidebar, survives a daemon
restart, andpitwall queue ls,addandrmmanage it from a shell.
Windows need a daemon of this release for tasks; an older one says so in
the dialog. -
A selection stays on its text while new output scrolls the pane. It used
to stay on the same screen cells, so the text under it changed. Dragging
past the top or bottom of a pane scrolls it, faster the further you drag,
so one selection can copy any amount of history. -
Triple-click selects a whole line, across the rows it wrapped onto, and
Alt+drag selects a block. -
Copy mode (Ctrl+Shift+X) selects and copies with the keyboard: vi motions,
/to find, v, V or Ctrl+V to select, y to copy. See docs/keys.md. -
[terminal] scrollbacksets how many lines of history new panes keep,
10,000 by default and up to 200,000. It is also under Terminal in the
settings page. -
A mac key preset puts the app's keys on Cmd: Cmd+C and Cmd+V copy and
paste, Cmd+T opens a tab, Cmd+W closes a pane, Cmd+Shift+P opens the
palette. It is the default on macOS when the config names no preset.
Cmdis another name forSuperin config chords. -
View diff opens a review view in place of the tab's panes instead of a
pager. It lists the changed files, untracked ones included, with their
status and line counts, and shows each file's diff with line numbers and
the unchanged lines folded. Click a line number or press c to comment on
a line or a range, then send every comment to the tab's agent as one
prompt with file:line references and the quoted lines; a busy agent gets
it when it next waits for input. Mark files reviewed (a file the agent
changes again comes back unreviewed) or discard a file's changes. Open it
with Ctrl+Shift+R, the tab menu, the command palette or a file under
Changes; j/k move between files, n/p between hunks, Esc closes it. The
pager stays as Open diff in pager. The header shows the branch's pull
request as its sidebar row does, and a click opens it. A file in a
conflict warning's hover card opens in the review view too.
pitwall v0.1.0-beta.2
- Agent state stays current after an upgrade you chose to restart the
daemon for later. Hooks run the newpitwallon your PATH, and the old
daemon used to refuse every one of them until it restarted, so each
agent's sidebar row stopped changing. Now a hook refused for its protocol
version sends again in the daemon's, and daemons serve hooks of any
version. A daemon that gets hooks from a newer pitwall shows a notice
once asking you to restart it, and logs a line a minute with a count. - The README and the site no longer list the AUR package. It is not on the
AUR yet: new AUR accounts are closed for now.