Skip to content
Open Console

Choose a harness

1 min readUpdated

A harness is the agent framework your code runs inside. Tanomis supports two Python harnesses, and they share everything that is not your code: the manifest, the build, versions, tenant enablement, the session runtime, governed tools, and evidence. Pick by how you want to express the agent.

claude-agents-sdk deepagents
Best fit A system prompt plus tools, or an existing Claude Agent SDK agent Tool-heavy or graph-shaped work, or existing LangGraph code
Entrypoint returns (prompt, options) A graph from create_deep_agent
Tools Claude Agent SDK tools, hooks, subagents Typed LangChain tools and middleware
State between turns Claude SDK session continuity LangGraph checkpoints in the session workspace
Approvals and questions permission_mode: "default" plus the manifest’s list Manifest list composed with author interrupt_on

Choose Claude Agent SDK when the behaviour is naturally a prompt with options and you want the least code. Choose Deep Agents when the agent is a graph of typed tools, needs structured output or middleware, or already exists as LangGraph code.

The runtime owns tenant isolation, the working directory, the resolved model and provider credentials, session identifiers, governed connectors, and persistence. You own the instructions, the tool implementations, and the behaviour the manifest permits. The entrypoint contract is the same shape for both.

List the harnesses your installed CLI supports rather than copying a value from memory:

Terminal
tanomis agent harnesses