Skip to main content

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 via AgentDefinition
  • built_in_toolsWebSearch, WebFetch, Bash, etc.
  • permission_modedefault / acceptEdits / bypassPermissions / plan
  • Streaming assistant text via ctx.stream(...)
  • SDK hook bridge (PreToolUse / PostToolUse / UserPromptSubmit and the optional SubagentStart / SubagentStop / PostToolUseFailure hooks when available) translated into Zeno trace events.

Part of the Zeno framework.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

zeno_provider_claude-1.0.0rc2.tar.gz (16.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

zeno_provider_claude-1.0.0rc2-py3-none-any.whl (11.9 kB view details)

Uploaded Python 3

File details

Details for the file zeno_provider_claude-1.0.0rc2.tar.gz.

File metadata

  • Download URL: zeno_provider_claude-1.0.0rc2.tar.gz
  • Upload date:
  • Size: 16.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for zeno_provider_claude-1.0.0rc2.tar.gz
Algorithm Hash digest
SHA256 2ba7ec28d0cdc0c7191d2fe1dc1fae0d51ad016e770209ddf9b5b1db4bfe4278
MD5 2dd61536a85f3e73317d5091c95379ec
BLAKE2b-256 910bb1f42e828e99889e04628fb7dc576df261d9253cf8985ec8fa483b020db5

See more details on using hashes here.

Provenance

The following attestation bundles were made for zeno_provider_claude-1.0.0rc2.tar.gz:

Publisher: publish.yml on nkootstra/zeno

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file zeno_provider_claude-1.0.0rc2-py3-none-any.whl.

File metadata

File hashes

Hashes for zeno_provider_claude-1.0.0rc2-py3-none-any.whl
Algorithm Hash digest
SHA256 423dec62c53bfa5b7e9baeb02764d645f369214cf77833b05a2911f215ec6448
MD5 8770f9ec82947107c8b538bdfc261861
BLAKE2b-256 bfedb108fe1a8f7e404ce96303d280b91acde4f2afa814f78b4f8fcdc1859702

See more details on using hashes here.

Provenance

The following attestation bundles were made for zeno_provider_claude-1.0.0rc2-py3-none-any.whl:

Publisher: publish.yml on nkootstra/zeno

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page