DEV Community

Cover image for What's new in Shepi: a page beside the agent, a worktree clean-up, and quieter alerts
WIO
WIO

Posted on

What's new in Shepi: a page beside the agent, a worktree clean-up, and quieter alerts

Shepi (shepi.app) is a native Mac window onto Herdr, the terminal runtime that keeps your agents alive. Since the launch post it has shipped three updates, 1.1.0, 1.1.1 and 1.2.0, and this is what they add:

  • An agent can open the page it just built as a pane beside itself, including a dev server running on another machine.
  • A Worktrees view that says what each checkout still holds, so you can delete the safe ones and decide about the rest.
  • Alerts that ring at the moment they matter, and stay quiet when they don't.
  • A feedback form that can carry a diagnostic log, and close prompts that appear where you started closing.

Every release, version by version, is on the releases page. If you missed the launch post, the short version still holds: every agent in a real terminal, on this Mac or your servers, and the one that needs you turns amber.

The Shepi window: in the sidebar the agent "ship usage chart" is amber with "needs you"; a card under it reads "Wants to run bunx wrangler deploy --env staging" with a Review button; a banner at the top right says "web-dashboard needs you".

A web page opens beside the agent

The loop used to be: the agent starts a dev server, prints http://localhost:5173, and you leave the pane to find a browser. By the time you get back the pane has moved on.

Now an agent can open that page as a pane beside itself:

shepi-agent show localhost:5173 --pane
Enter fullscreen mode Exit fullscreen mode

The page opens inside Shepi, next to the agent that asked for it, with Back, Forward, Reload and Open in Browser in its header. Click into it and use it like any page. The prefix key still works from inside a text field, and Esc hands the keyboard back to the window.

If the dev server runs on one of your servers, Shepi forwards the port over your SSH connection first, so a localhost URL from a remote machine opens the same way a local one does.

You can open pages yourself too: Open as a Pane in any link's menu, Split Right with Web Page… in the pane menu, or Split Right with This Page from a web pane you already have.

The page keeps its own storage, which Settings › Agents clears, and it gets no camera, no microphone and no files.

Worktrees: what the agents left behind

Give each agent its own git worktree and parallel work stays tidy, right up until it doesn't. A few weeks in there are dozens of checkouts: some merged, some with unpushed commits, some holding an uncommitted fix, some with a .env you would rather not delete, some with an agent still running inside.

View › Worktrees… (⌥⌘W) lists every worktree on this Mac and on your servers, with its branch, size, last activity, and, more usefully, what it holds: merged, clean, unpushed commits, uncommitted changes, ignored files such as .env, an agent still there, a folder that is gone, or a folder under .claude/worktrees that Git does not know about at all.

Remove All Safe takes only the worktrees with nothing to lose, and only among the rows you are currently showing. Anything else needs its own switch, beside a line saying exactly what would be lost, so the risky ones stay a decision rather than a checkbox. A merged branch can go with its worktree if you want it gone too; branches that are not merged are kept.

The Branch field in a new worktree now opens with a generated name, the way Herdr makes them, already selected. Press Return to use it, or type your own over it.

Alerts that arrive when they should

A "needs you" alert now rings at once instead of after a delay. A "done" alert waits a second and rings only if the agent is still done, so an agent pausing between steps no longer announces itself as finished.

If you set custom sounds in Herdr's own desktop app, Shepi now plays them, unless your Herdr config names its own; Settings › Notifications says where each sound comes from. And when Herdr reports an agent in an error state, Shepi shows it as needing you, everywhere it shows that state.

A close asks where you started it

Close a tab from its ×, its menu or a middle-click and the confirmation card appears under that tab. Close Space from a sidebar row and it appears beside the row. What will close is struck through right there and an arrow points at its name, so you can see it without hunting. The card stays over your panes, clear of the sidebar. Closing by key still asks in the middle of the panes.

Feedback that can carry a log

Send Feedback can now attach Shepi's own log: connection states, requests by method, notification decisions and a summary of each recent crash. It holds neutral labels such as "space 1 › tab 2", never terminal contents, names or paths. The switch is on by default and remembered, and What's included shows you the log before you send it.

After you send, Shepi shows a report ID you can copy or put in an email to support. Settings › General keeps your last three.

Smaller things

  • The window keeps drawing. macOS sometimes reported Shepi's window as fully covered while it was in plain sight, because another app's invisible overlay was enough; Shepi then stopped asking Herdr for frames and the agent you were watching froze mid-line. Now a window counts as covered only when other apps' ordinary windows really lie over it, and moving the pointer over the window counts as seeing it.
  • Shepi's agent skill loads in Pi again; its description is valid YAML, so Pi no longer lists it among its startup errors.
  • Find (⌘F) covers agents, spaces, panes, machines and the recent output of every pane, local and over SSH; ⌘E puts you back in a recent pane on any machine.

Find open over four panes with the query "backf": one agent, "backfill events v2" on workbox, and one line of its output from that machine.

Shepi needs macOS 14 or later and Herdr 0.9.3 or later, runs on Apple silicon and Intel, and is an independent client built on Herdr's public interface, not made by and not affiliated with the Herdr project.

If you run several agents in parallel, how do you decide which worktrees are safe to delete?

Top comments (0)