The [AI SDK harness layer](https://vercel.com/changelog/program-agent-harnesses-with-ai-sdk) now supports any Agent Client Protocol (ACP)-compatible harness with `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.