Skip to Content
ConceptsHarnesses

Harnesses

A harness is the runtime that wraps your agent — the orchestration layer that decides when to call a tool, what to send the model, how to assemble a response. CodeNow ships first-class scaffolds for four harnesses out of the box.

Shipped today

Coming

LangGraph (LangChain ecosystem), OpenAI Agents SDK, CrewAI, MCP server. Track progress in the agent-kits.js source .

Picking a harness

If your stack is…Pick
Anthropic API, want best Claude integrationClaude Agent SDK
Already using Cursor / want multi-model + cloud sandboxingCursor SDK
Microsoft enterprise (Windows, Office, Azure, .NET)Microsoft Agent Framework
Google Cloud / Vertex AI / Gemini-nativeGoogle ADK
Don’t care, just give me the fastest first-runClaude Agent SDK (TypeScript) — the default Hello Agent kit

CodeNow’s Live Agent Replay and manifest work the same regardless of harness. Switch by re-scaffolding with a different kit; the lifecycle wrapper around it stays identical.

How CodeNow integrates each harness

Each scaffold drops a recorder.ts (or recorder.py) into your project that wraps the harness’s stream. The wrapper writes JSONL events to .codenow/runs/{slug}/ so the Runs tab can replay any past invocation. Zero runtime dependencies — Node built-ins / Python stdlib only. Fails open: any IO error is swallowed so a recorder bug never breaks your agent.

This means every harness gets the same observability surface — Replay, Cost tracking, Fork-to-current-code, audit trail — for free.

Last updated on