devpit

Providers

The agent CLIs devpit drives, and the ones it only runs in a terminal.

devpit ships no agent CLI. It starts the ones already on your machine, and it is honest about how far it can go with each: only Claude Code is driven end to end. Every other CLI is one devpit can open in a terminal and recognise — and, when it reports, show working, waiting and done like Claude Code.

CLI Starts with Driven (chat, steps) Terminal
Claude Code claude yes yes
Codex codex no yes
Gemini gemini no yes
OpenCode opencode no yes
Cursor cursor-agent no yes
GitHub Copilot copilot no yes
Amp amp no yes
Droid droid no yes
Grok grok no yes
Aider aider no yes
Goose goose no yes
Crush crush no yes

"Driven" means chat, agent steps and session steps: devpit holds the conversation itself and reads the answer. Only Claude Code prints a shape devpit knows how to read, so the rest are terminal only.

Settings → Providers

Installed lists what was found on this machine, with the count detected and a Refresh that looks again. Not on this machine lists the rest with a link to each one's own documentation. Every row shows the line it actually runs, and carries Enabled / Disabled, which is only about whether it is offered in menus, and Set default. Opening a row edits how it starts — see Profiles.

Default agent

What a new terminal opens. A plain shell is an answer too. One menu, offering No agent — a plain shell — and every enabled CLI and profile, each with the line it launches. If the one you chose is no longer here, devpit says so — "The default is not on this machine any more, so a new terminal opens a shell."

Agent status hooks

A switch, on unless you turn it off: "Shows working, waiting and done on the island, in the sidebar and on a card, for Claude Code and the Gemini CLI run in devpit's terminals." The hooks travel with the launch and reach only the agents devpit starts — nothing is written into your own configuration, so turning this off is the whole of turning it off. See Claude Code.

Gemini CLI reports from devpit's terminals with nothing to set up. devpit points it at a defaults file of its own that adds devpit's hooks to whatever the system already had; Gemini merges it under your settings, so your own hooks still run and ~/.gemini/settings.json is never written.

Any other agent

Any other agent — Aider, OpenCode, a CI job, a script of your own — can tell devpit what it is doing with one command, and then shows on the island and on its card like Claude Code. devpit-agent is on the PATH of every terminal devpit opens, and run inside one, the event belongs to that terminal and its card:

devpit-agent hook --agent aider SessionStart
devpit-agent hook --agent aider PreToolUse --tool Edit --target src/app.rs
devpit-agent hook --agent aider Stop --said "Tests pass"
Part What it is
--agent NAME up to 24 of a-z, 0-9 and -. claude is taken
the event SessionStart, UserPromptSubmit, PreToolUse, PostToolUse, PostToolUseFailure, Notification (it waits on you), Stop (a turn ended), StopFailure, SessionEnd
--session ID which session the event belongs to; without it, one per agent process
--tool, --target the step it is on, as in Edit src/app.rs or Run npm test
--said TEXT what a turn ended with, or the error

The command always exits 0 and waits at most a second and a half: a report that fails must not fail the agent sending it. There is no permission event. An approval asked this way could pass for one of Claude Code's, and approving is yours, in the agent itself.