Claude Agent SDK provider for Zeno (Anthropic Claude with sub-agents, built-in tools, and SDK hooks).
Project description
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().
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.
Part of the Zeno framework.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file zeno_provider_claude-1.0.1.tar.gz.
File metadata
- Download URL: zeno_provider_claude-1.0.1.tar.gz
- Upload date:
- Size: 17.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c1b9c06b3e452082ac7653533b29e9922bf56991ec86402df4d4ce0920226438
|
|
| MD5 |
aee8cc14d89ec445d40067fe5c5dd0b7
|
|
| BLAKE2b-256 |
6565b79663802516288d328f00578818ea33749aea23bff3b6df0e4eb5fbcb2c
|
Provenance
The following attestation bundles were made for zeno_provider_claude-1.0.1.tar.gz:
Publisher:
publish.yml on nkootstra/zeno
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
zeno_provider_claude-1.0.1.tar.gz -
Subject digest:
c1b9c06b3e452082ac7653533b29e9922bf56991ec86402df4d4ce0920226438 - Sigstore transparency entry: 1390034802
- Sigstore integration time:
-
Permalink:
nkootstra/zeno@d2cdcd756fc7ca022ec23fe9ef35d76e7683ac9c -
Branch / Tag:
refs/tags/v1.0.1 - Owner: https://github.com/nkootstra
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@d2cdcd756fc7ca022ec23fe9ef35d76e7683ac9c -
Trigger Event:
push
-
Statement type:
File details
Details for the file zeno_provider_claude-1.0.1-py3-none-any.whl.
File metadata
- Download URL: zeno_provider_claude-1.0.1-py3-none-any.whl
- Upload date:
- Size: 12.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
80d86997be1293dcffb63344ba71052a8d6a84b803e3ed33465ff894ab71d43c
|
|
| MD5 |
b6e906ea594ffa0e82ad0d6b610acf77
|
|
| BLAKE2b-256 |
b9f590f1026d2a4081d863b10cdd44060f296dfb077a8d3513744ffd35a3c0cb
|
Provenance
The following attestation bundles were made for zeno_provider_claude-1.0.1-py3-none-any.whl:
Publisher:
publish.yml on nkootstra/zeno
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
zeno_provider_claude-1.0.1-py3-none-any.whl -
Subject digest:
80d86997be1293dcffb63344ba71052a8d6a84b803e3ed33465ff894ab71d43c - Sigstore transparency entry: 1390034863
- Sigstore integration time:
-
Permalink:
nkootstra/zeno@d2cdcd756fc7ca022ec23fe9ef35d76e7683ac9c -
Branch / Tag:
refs/tags/v1.0.1 - Owner: https://github.com/nkootstra
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@d2cdcd756fc7ca022ec23fe9ef35d76e7683ac9c -
Trigger Event:
push
-
Statement type: