AI SDK 7 introduces HarnessAgent
, a single API for running established agent harnesses, including Claude Code, Codex, and Pi. AI SDK has always let you switch models without rewriting your agent. Now you can switch the harness the same way.
Write the agent once. Use the best harness available. Today. In 3 months. A year from now.
Harnesses manage the components above a model call, including skills, sandboxes, sessions, permission flows, compaction, runtime configuration, and sub-agents. The AI SDK normalizes access to those capabilities through a unified harness abstraction.
Initial harness adapters for this experimental release include Claude Code, Codex, and Pi, with more coming soon.
Swap claudeCode
for codex
or pi
and keep the same HarnessAgent
flow. Every harness runs the agent in a sandboxed workspace, keeping the host environment safe.
Both `HarnessAgent.generate()`
and `HarnessAgent.stream()`
return AI SDK-compatible results. If your app already uses `useChat`
or related AI SDK tooling, you can swap in HarnessAgent
without changing your user interface code.
HarnessAgent
is available on the AI SDK canary release. Read the AI SDK harness documentation to get started.