Custom Agents
Shep is agent-agnostic. It coordinates AI coding tools rather than being tied to one. You pick which agent it launches, and you can switch any time.
Available agents
| Agent | Status | Binary on PATH | Notes |
|---|---|---|---|
| Claude Code | Recommended | claude | Best support for the full Shep feature set. |
| Cursor CLI | Available | cursor | Good fit for teams already on Cursor. |
| Gemini CLI | Available | gemini | Google’s coding agent. Newer in Shep. |
You authenticate the agent yourself, before running Shep. The check is simple: if claude (or cursor / gemini) works in your terminal, Shep can use it.
Switching agents
shep settings agentThe wizard lists detected agents on your PATH and asks which to use. Your selection persists globally.
You can also set it directly:
shep settings agent --agent claude-code
shep settings agent --agent cursor
shep settings agent --agent geminiHow agents work with Shep
When you create a feature, Shep:
- Creates a worktree and base branch.
- Builds a prompt for the agent: your description + the codebase analysis + any attached reference files.
- Launches your configured agent with the prompt.
- Streams the agent’s output to the dashboard.
- Commits the agent’s changes, pushes, and opens the PR.
- Watches CI; if it fails, sends the logs back to the agent for a fix.
You interact with Shep. Shep interacts with the agent.
Permissions and sandboxing
Agents run non-interactively under Shep — they can’t pause and ask “should I run this command?” mid-pipeline. By default Shep passes permission-bypass flags so the pipeline doesn’t get blocked.
Your safety net is three layers deep:
- Worktree isolation. The agent works on a copy, not your checkout.
- Draft PRs. Nothing is merged without your review.
- Your CI pipeline. Tests, linters, and security scanners run before merge.
The skip-permissions default isn’t a requirement — configure your agent’s permission model independently if you want tighter control. See shep settings workflow for related toggles.
Tips per agent
Claude Code
- An active Claude session is enough — Shep doesn’t need API keys.
- Claude handles complex multi-step work well. Use spec-driven mode (
--no-fast) for large features. - Use
--inject-skillsto make Claude Code skills available during the run.
Cursor CLI
- The
cursorbinary is installed with Cursor. Make sure it’s on your PATH. - Cursor reads your
.cursorrulesfile when working — keep that current. - Token-based auth: ensure you’ve signed into Cursor and the CLI knows your account.
Gemini CLI
- The
geminibinary on PATH. Authenticate viagcloudor whatever your Gemini CLI uses. - Newer in Shep — for first runs, prefer fast mode and small features to validate setup.
Capability matrix
Not every agent supports every Shep capability equally well:
| Capability | Claude Code | Cursor CLI | Gemini CLI |
|---|---|---|---|
| Feature implementation | ✓ | ✓ | ✓ |
| Spec-driven pipeline | ✓ | ✓ | Partial |
| Multi-file edits | ✓ | ✓ | ✓ |
| Approval gates per task | ✓ | ✓ | Partial |
| Streaming output | ✓ | Partial | Partial |
| Session auth (no API key) | ✓ | Partial | Depends |
For new projects, start with Claude Code unless you have a specific reason to use another. Switch later — shep settings agent is one command.
Per-feature agent override
There’s no per-feature --agent flag. To run a single feature with a different agent, change the global setting, run the feature, then change it back. Most users pick one agent and stick with it.