SwiftAgent

OPENCODE · ACP FIRST

OpenCode,
without hiding the fallback.

SwiftAgent prefers OpenCode's ACP v1 interface for structured tools, approvals, plans, usage, and resume. When only JSON run mode is available, the UI shows the reduced contract instead of implying parity.

ACP PRIMARY

Use negotiated capabilities.

OpenCode owns provider login, model catalog, sessions, and modes. ACP supplies structured updates, permissions, plans, usage, cancellation, and explicit session resume.

JSON FALLBACK

Reduced by design.

The fallback maps bounded messages, tools, usage, completion, and cancellation. It does not invent approvals, questions, plans, auto-approval, or session sharing.

OPENCODE WORKFLOW

01

Detect the transport

SwiftAgent checks version, ACP availability, auth evidence, and model catalog without a paid model call.

02

Render what exists

Controls come from the selected transport's negotiated capabilities, not the OpenCode name.

03

Keep handoffs deliberate

Native OpenCode sessions resume only in OpenCode. Another agent receives reviewed redacted context in a new run.

HONEST BOUNDARY

Provider catalogs are not execution proof.

Discovering OpenCode models does not prove that a provider is authenticated or that a model call will succeed. Attachments and explicit mode controls remain partial in the SwiftAgent composer, and the JSON fallback never receives ACP-only features.

Report redacted OpenCode friction