zeno-provider-claude
Claude Agent SDK provider for Zeno. Wraps claude-agent-sdk (ClaudeSDKClient)
behind Zeno's Provider Protocol so an Agent definition stays portable
across providers.
Install
uv add 'zeno-framework[claude]'
The zeno-framework meta-package ships Claude as the default; this extra is
the explicit form for environments that pin extras.
Usage
from zeno.agent import Agent
from zeno.app import ZenoApp
from zeno.channels.cli.channel import CliChannel
from zeno.providers.claude_sdk import ClaudeSDKProvider
app = ZenoApp(
agent=Agent(
name="root",
instructions="You are a helpful personal assistant.",
permission_mode="bypassPermissions",
),
channels=[CliChannel()],
provider=ClaudeSDKProvider(),
)
ClaudeSDKProvider reads ANTHROPIC_API_KEY from the environment via the
underlying SDK. Set it before app.start(). If the env var is unset,
start() logs a warning at the zeno.providers.claude_sdk logger
pointing at both auth paths (env var + claude login OAuth) — OAuth
users can ignore it; users who haven't set up either get a clear hint
before the first turn fails.
Resuming SDK sessions
Pass a session_lookup callable to resume a prior SDK session keyed by
(user_id, channel, thread_key):
async def lookup_session(user_id: str, channel: str, thread_key: str | None) -> str | None:
return await my_store.get_sdk_session_id(user_id, channel, thread_key)
provider = ClaudeSDKProvider(session_lookup=lookup_session)
When session_lookup returns None (or is omitted), each turn starts a fresh
SDK session.
Capabilities
ClaudeSDKProvider is the only Zeno provider that supports:
sub_agents— Claude Agent SDK dispatch viaAgentDefinitionbuilt_in_tools—WebSearch,WebFetch,Bash, etc.permission_mode—default/acceptEdits/bypassPermissions/plan- Streaming assistant text via
ctx.stream(...) - SDK hook bridge (
PreToolUse/PostToolUse/UserPromptSubmitand the optionalSubagentStart/SubagentStop/PostToolUseFailurehooks when available) translated into Zeno trace events.
See also
zeno-provider-openai— OpenAI-compatible alternative (OpenRouter, LiteLLM, Azure, Ollama, etc.).docs/subagents.md— orchestrator + specialist composition.docs/adapters.md— writing your ownProvider.
Part of the Zeno framework.
Metadata
Release files for zeno-provider-claude 1.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| zeno_provider_claude-1.1.0.tar.gz | 18.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| zeno_provider_claude-1.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 31.5 kB
Release files / zeno_provider_claude-1.1.0.tar.gz
| Download URL | zeno_provider_claude-1.1.0.tar.gz |
|---|---|
| Size | 18.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
708280050d25164395dac6dac3924fe176f21d2a5428f80d996b55854bcc29cf
|
|
BLAKE2b-256 checksum How to use checksums |
26c881572bc1644e4692be39aa58b698468f332015238ceb839ec4a0ff22785d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 1, 2026.
Transparency logRelease files / zeno_provider_claude-1.1.0-py3-none-any.whl
| Download URL | zeno_provider_claude-1.1.0-py3-none-any.whl |
|---|---|
| Size | 12.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f80c2786242c7c8183220341bc16c0e7c04e8d0aefa73f2b4852809e34e2f37b
|
|
BLAKE2b-256 checksum How to use checksums |
08a2c7bac440805162766bc8143cd0c7623c0073072a4637c829301c3c31c6d8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 1, 2026.
Transparency log