Skip to main content
This example uses examples/python/agent_deployments/claude_agent_sdk_job/nullspace.agent.toml to package a Claude Agent SDK app, run it as a finite job, and collect declared outputs.

Setup

python -m pip install "nullspace-sdk[cli]==0.1.9"
export NULLSPACE_API_KEY=ns_live_...
export NULLSPACE_API_URL=https://api.your-nullspace-domain
export ANTHROPIC_API_KEY=sk-ant-...
cd examples/python/agent_deployments/claude_agent_sdk_job

CLI

nullspace agent deploy .

nullspace agent run claude-agent-sdk-job \
  --input-json '{"prompt":"write a short release note"}' \
  --env ANTHROPIC_API_KEY="$ANTHROPIC_API_KEY" \
  --retain-on-failure \
  --json

nullspace agent logs claude-agent-sdk-job --run adrun_123
nullspace agent outputs claude-agent-sdk-job --run adrun_123
nullspace agent sandbox claude-agent-sdk-job --run adrun_123
Use the retained backing sandbox for PTY, SSH, command, or file debugging when the Claude run fails.

Config

name = "claude-agent-sdk-job"
mode = "job"
install = "python -m pip install -e ."
entrypoint = "python main.py"

[env]
required = ["ANTHROPIC_API_KEY"]

[outputs]
paths = ["result.json", "reports"]

Python

The companion run.py script uses the same deployment contract through the SDK:
from pathlib import Path

from nullspace import AgentDeployment

project = Path(__file__).resolve().parent
deployment, version, manifest = AgentDeployment.deploy(path=project)
run = deployment.run(
    input={"prompt": "Write a short release note for Agent Deployments."},
    envs={"ANTHROPIC_API_KEY": "..."},
    retain_on_failure=True,
)
print(deployment.name, version.id, len(manifest.entries), run.id)
Run the complete script:
python run.py
Related: Claude Agent SDK and Agent Deployments.