The AI SDK harness layer now supports any Agent Client Protocol (ACP)-compatible harness with
Previously, every harness adapter wrapped one specific runtime (Claude Code, Codex, Pi, Deep Agents, OpenCode).
Implement a harness by passing that package to
Then pass it to
ACP is an abstraction over coding harnesses, but the AI SDK harness layer stays deliberately decoupled from it. Not every harness supports ACP, and for some, ACP limits or changes how well they expose their internal behaviors, so a direct adapter can produce a tighter integration.
For Claude Code and Codex, prefer the direct
Read the ACP harness documentation to get started.
Read more
Continue reading...
HarnessAgent through the new @ai-sdk/harness-acp package.Previously, every harness adapter wrapped one specific runtime (Claude Code, Codex, Pi, Deep Agents, OpenCode).
@ai-sdk/harness-acp wraps the protocol instead. It is a meta adapter: rather than adapting a single harness, it lets you build an adapter for any harness that ships an ACP-compatible package.Implement a harness by passing that package to
createACP and configure basic harness mapping.Then pass it to
HarnessAgent like any other harness:ACP is an abstraction over coding harnesses, but the AI SDK harness layer stays deliberately decoupled from it. Not every harness supports ACP, and for some, ACP limits or changes how well they expose their internal behaviors, so a direct adapter can produce a tighter integration.
For Claude Code and Codex, prefer the direct
@ai-sdk/harness-claude-code and @ai-sdk/harness-codex adapters over an ACP-based implementation; reach for @ai-sdk/harness-acp when a harness has no direct adapter but ships an ACP-compatible package.Read the ACP harness documentation to get started.
Read more
Continue reading...