Vercel's HarnessAgent now accepts image inputs across all harness adapters

Vercel's AI SDK HarnessAgent layer now accepts image inputs across every harness adapter. Developers can pass images together with text using the standard AI SDK message format, according to the company's changelog.
- The AI SDK HarnessAgent layer now accepts image inputs for every harness adapter, according to Vercel.
- Images are passed in the standard AI SDK message format, mixing text and file parts in a content array.
- Supported adapters: Claude Code, Cline, Codex, Cursor, Deep Agents, fx, GitHub Copilot, Grok Build, OpenCode and Pi.
- Image input is processed by the harnesses' underlying vision models.
- Vercel provides a Codex example that describes a PNG image in one sentence.
What changed in HarnessAgent
According to Vercel, the HarnessAgent layer in the AI SDK can now take images as input no matter which harness adapter is in use. Images are sent alongside text in the standard AI SDK message format, which uses a content array that mixes { type: 'text' } and { type: 'file' } parts.
Vercel states that the image input is processed by the harnesses' underlying vision models. The support applies to all available adapters, which the changelog lists as:
- Claude Code
- Cline
- Codex
- Cursor
- Deep Agents
- fx
- GitHub Copilot
- Grok Build
- OpenCode
- Pi
Because the feature sits at the HarnessAgent layer, the same message structure applies to each of these adapters rather than requiring a separate approach per harness.
How the example works
Vercel includes a basic example that asks the Codex harness to describe a given image. The code creates a HarnessAgent with the codex harness, then sets up a sandbox session through createVercelNetworkSandboxSession using the node24 runtime and port 4000. The sandbox template comes from agent.getSandboxTemplate().
After creating a session with agent.createSession, the example calls agent.generate with a single user message. That message contains two parts: a text part reading "Describe the image in one sentence." and a file part with the media type image/png. The file data is read from a local image.png using Node's readFileSync.
The pattern follows the usual AI SDK conventions, so developers who already build messages with text parts only need to add a file part to include an image.
What it means for developers
For developers building on the AI SDK harness adapters, the change removes a gap between text-only and multimodal prompts. A single message format now covers text and images for every listed adapter, and the vision handling is left to each harness's underlying model.
The source does not detail supported image formats beyond the PNG used in the example, nor any limits on size or number of images. Vercel points developers to the HarnessAgent image inputs documentation to get started.


