Agents,
assembled.
Project Pals turns your coding agents into a crew of named pals inside Herdr: Claude Code, Codex, Grok, Gemini, opencode, Hermes. A head pal hires, assigns and checks in. Pushes wait for you.
One sidebar.
The whole crew.

A space is a pal.
A tab is a channel.
Hire
A brain, a model, a role and a folder. It gets a name, a pet and its first channel.
Assign
Write tasks with screenshots, or tell the head pal and let it route them.
Work
Each pal in its own terminals and branches. Messages arrive when a turn ends, never over your typing.
Approve
Anything that leaves your machine waits for your click.
Eight species.
Every state, at a glance.
Each pal is an LED-dot critter. What it wears comes from its brain, and its pose is its state. Meet all eight →
Nothing ships
without you.
- Held
- git push, merges, releases, deploys, and edits to a project's AGENTS.md or CLAUDE.md
- Approve
- One click in the Inbox, good for that one command
- Expires
- After 30 minutes unused
- Covers
- Claude Code pals. A speed bump, not a sandbox: what it does and doesn't do
It learns from its hiccups.
Pals keep a notebook of what got in the way and what it cost. At 03:30 the head pal looks for what keeps repeating across the crew and drafts a fix: a skill, a rule, a task. Nothing changes until you approve it.
Every pal has
a profile.
A mission, a brain, memory, channels and tasks, with a live Home note that writes itself as work lands. Plain markdown on disk, so it opens in Obsidian too.
One paste.
Then it updates itself.
It downloads Project Pals 0.3.0, checks it against the release's SHA256SUMS and stops if they don't match. Updates never touch your pals, memory or tasks, and Roll back is one click.
cd "$(mktemp -d)" && u=https://github.com/denonmaryland/project-pals/releases/download/v0.3.0 \
&& curl -fsSLO "$u/SHA256SUMS" && f=$(awk '{print $2}' SHA256SUMS) \
&& curl -fsSLO "$u/$f" && sha256sum -c SHA256SUMS \
&& tar xzf "$f" && cd "${f%.tar.gz}" && ./install.shNeeds Linux with a systemd user session, Herdr (opened once), python3, curl and rsync · then switch Herdr to the pals layout: Ctrl+Shift+L · hooks are backed up first, --no-helpers skips them · no macOS yet · exactly what it changes