Skip to main content

Install

Pick one of two starting points based on what you’re doing:
Most people want the first. Use the bare SDK install only when your agent runs in a lambda, edge runtime, or container where you just need an HTTP client talking to a server hosted elsewhere — bare install is httpx + pydantic and nothing else.

Adapters and verifiers compose with either base

Extras stack. Comma-separate them in one bracket to install in a single command:

All extras

Python 3.10+ required.

await_human / await_human_sync

The primitive. Async and sync flavors:

Parameters

Returns

An instance of response_schema — Pydantic-validated. If validation fails, raises SchemaValidationError.

Raises

All inherit from AwaitHumansError.

Verifier helpers

Each returns a VerifierConfig you pass to await_human(verifier=...). The actual LLM call runs server-side. See Verifier.

Adapters

Temporal

See Temporal.

LangGraph

See LangGraph.

CLI

awaithumans dev auto-generates PAYLOAD_KEY, ADMIN_API_TOKEN, and the SQLite DB if missing. Writes ~/.awaithumans-dev.json so the SDK auto-discovers the running server.

Configuration

The SDK reads configuration in this order (first match wins):
  1. Function-call args (server_url=, api_key=)
  2. Environment variables (AWAITHUMANS_URL, AWAITHUMANS_ADMIN_API_TOKEN)
  3. Discovery file (~/.awaithumans-dev.json)
  4. Defaults (http://localhost:3001, no token)
Production deployments should use environment variables. The discovery file is a dev affordance.

Type stubs

The package ships with py.typed. mypy/pyright pick up the types automatically: