Agents
The 6 supported provider adapters: Claude Code, Codex CLI, Cursor CLI, Aider, Cline, OpenCode — plus Ollama for offline.
Agents
An Agent is a provider adapter that Vupt spawns inside a Task. The adapter shells out to the provider's CLI via a portable PTY, captures stdout/stderr to the journal, and surfaces structured events (tool calls, approvals, completions).
Supported providers (v1.0)
| Provider | Adapter id | Notes |
|---|---|---|
| Claude Code | claude-code | The most-tested adapter; ships with model and tool defaults |
| OpenAI Codex CLI | codex | Also supports GPT-5 family |
| Cursor CLI | cursor-cli | Headless mode; same prompt format as the IDE |
| Aider | aider | OSS pair-programmer; multi-file edits |
| Cline | cline | OSS agent runner |
| OpenCode | opencode | OSS agent runner |
| Ollama | ollama | Local fallback for air-gapped or offline scenarios |
Picking an agent
Agents differ in tool capability, prompt style, and cost. Defaults Vupt suggests:
- Greenfield code generation → Claude Code or Codex
- Cross-file refactors → Aider (its diff-engine handles this well)
- Air-gapped / no internet → Ollama with a local model (e.g.
qwen2.5-coder:32b)
Per-task overrides
A Task can override its Squad's default agent. The Squad keeps a default for convenience; per-task overrides win.
# Squad-level default lives here:
[defaults]
agent = "claude-code"
Adding a new provider
The adapter contract lives in apps/desktop/src/agents/adapter.rs. Implementing a new adapter requires implementing 4 methods: spawn, send_input, recv_event, terminate. See the Architecture docs for the full interface.