Repository navigation
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.