Use ACP-compatible harnesses with the AI SDK harness layer Vercel's AI SDK harness layer now supports any Agent Client Protocol (ACP)-compatible harness through the new @ai-sdk/harness-acp package, which wraps the protocol as a meta adapter instead of a single runtime. Developers can implement a harness by passing an ACP-compatible package to createACP and configuring basic harness mapping, then pass it to HarnessAgent. For Claude Code and Codex, Vercel recommends using the direct @ai-sdk/harness-claude-code and @ai-sdk/harness-codex adapters for tighter integration, reserving the ACP-based approach for harnesses without direct adapters. 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 https://ai-sdk.dev/v7/providers/ai-sdk-harnesses/acp to get started.