For Codex and Claude Code on macOS

The workspace for your coding agents.

Run every agent in tabs and split panes that survive restarts. See which one is working, which one needs you, and what each one changed.

Watch the film 1:12

Try it. This is Shepherd’s interface with a sample project.

lumen
>_ OpenAI Codex
~/lumen
 
› Add annual billing to the pricing page — two months free.
 
• I'll check how pricing is modeled, then add an annual option that bills ten months.
 
• Explored
└ Read pricing.ts, PricingCard.tsx
Search priceLabel in src
 
• Edited src/lib/pricing.ts (+11 -1)
1 + export type Billing = "monthly" | "annual";
4 + export const ANNUAL_MONTHS_BILLED = 10;
39 + export function priceLabel(plan: Plan, billing: Billing = "monthly")
 
• Edited src/components/PricingCard.tsx (+7 -3)
14 + <p className="plan__price">{priceLabel(plan, billing)}</p>
16 + <p className="plan__note">Two months free</p>
 
• Working (2m 13s • esc to interrupt)
 
› Ask Codex to do anything
~/lumen · Context 34% used
lumen/Users/you/dev/lumenCPU 18% · RAM 61%
  1. Open lumen-api from the Agent monitor. It needs you.
  2. Approve the migration in its terminal.
  3. Open Changes and review a diff.
  4. Split the terminal to run something beside the agent.

Shepherd in 72 seconds.

An agent finishes, you point at the page, a workflow runs on your server, and the same session follows you to iPhone and iPad. Quit the app and come back to it, still running.

Watch the product tour

Know where every agent stands.

The Agent Monitor lists every Codex and Claude Code session across your workspaces: working, waiting for you, or done since you last looked. The same states follow you to the iPhone Lock Screen as a Live Activity.

Hover an agent to preview its conversation.

Click an agent to jump to its pane. Fold the section to see counts only.

Friday, October 39:41
Shepherd LiveCheck
  • This MacWorking 2Warning 1
  • gpu-builderWorking 1
now

Sessions that outlive the window.

Quitting Shepherd closes the window, not your work. Agents and dev servers keep running in the Shepherd service, and the same tabs and panes return when you open it again.

lumen
Codex
>_ OpenAI Codex
~/lumen
 
› Add annual billing to the pricing page — two months free.
 
• I'll check how pricing is modeled, then add an annual option that bills ten months.
 
• Explored
└ Read pricing.ts, PricingCard.tsx
Search priceLabel in src
 
• Edited src/lib/pricing.ts (+11 -1)
1 + export type Billing = "monthly" | "annual";
4 + export const ANNUAL_MONTHS_BILLED = 10;
39 + export function priceLabel(plan: Plan, billing: Billing = "monthly")
 
• Edited src/components/PricingCard.tsx (+7 -3)
14 + <p className="plan__price">{priceLabel(plan, billing)}</p>
16 + <p className="plan__note">Two months free</p>
 
• Working (2m 11s • esc to interrupt)
 
› Ask Codex to do anything
~/lumen · Context 34% used
Shell
lumen feat/annual-billing ❯ pnpm dev
 
> node scripts/serve.mjs
 
➜ Local: http://localhost:4180/
watching site/ for changes
 
  1. Quit Shepherd while Codex is working.
  2. Open it again. The same panes are still running.

Point at the page. The agent does the rest.

Open the page an agent is building in Shepherd’s browser, click the element that needs work, and write what should change. Shepherd sends your comments with the selector, text and position to the agent connected to that page.

lumen
Claude
▐▛███▜▌ Claude Code
▝▜█████▛▘ ~/lumen
▘▘ ▝▝
 
> Build the Lumen landing page and open it for review.
 
● Write(site/index.html)
⎿ Wrote 48 lines to site/index.html
● Bash(pnpm dev)
⎿ ➜ Local: http://localhost:4180/
● sheperd - sheperd_open_browser_review (MCP)(url: "http://localhost:4180/")
⎿ Browser review opened and connected to this pane
 
● The landing page is open in Shepherd for your review.
 
>
Claude Code
◆ LumenSign in
Notes that keep up with your team.

Lumen turns meeting notes into tasks, docs and decisions your whole team can find.

SoloFree
Team$12/mo
Business$24/mo
  1. Turn on Comment in the browser toolbar.
  2. Click “Start for free” and save the comment.
  3. Send the review to Claude Code.
  4. Watch the page update.

Agents can arrange the workspace themselves.

The Shepherd plugin for Codex and Claude Code gives agents tools to split panes, run commands beside their own session, read the output, and ask you for a review.

Read the terminal control guide
sheperd_get_context
Read the current workspace, tab, and pane
sheperd_create_pane
Split a pane and start a command in it
sheperd_send_pane_input
Type into a neighboring terminal
sheperd_get_pane_log
Read what that terminal printed
sheperd_open_browser_review
Ask you for feedback on a running page
lumen-api
▐▛███▜▌ Claude Code
▝▜█████▛▘ ~/lumen-api
▘▘ ▝▝
 
  1. Send the prompt to Claude Code.
  2. Watch it open a pane and run the tests there.
  3. It reads the pane’s output before reporting back.

Remote machines feel local.

Connect Shepherd to a server over SSH and work there like on your Mac. When a remote dev server prints its URL, a Route brings it to your Mac so you can open it in Shepherd’s browser.

dashboard
you@gpu-builder ~/dashboard ❯ pnpm dev
 
VITE ready in 412 ms
 
➜ Local:
➜ Network: use --host to expose
dashboard/home/you/dashboardCPU 18% · RAM 61%
Your Mac127.0.0.1:43120SSHRoute over the existing connectiongpu-builderlocalhost:3000
  1. ⌘-click the dev server URL printed on gpu-builder.
  2. Open the Route in Shepherd’s browser.

Give your agents a place to work.

Shepherd is free on Mac, with Shepherd Mobile for iPhone. Read the blog for setup guides.