Skip to main content
Reopening "support" after a restart resumes the same conversation. send() resolves when the runtime accepts the turn, not when the reply finishes — watch thread.on("status") / thread.on("event") before treating the thread as idle. Call ade.dispose() when the host shuts down.

Check the machine

doctor() reports sdkVersion (this package) and the runtime binary version separately — they ship on different cadences. providers.status() lists which CLIs are installed and authenticated. Provider credentials live in the provider’s own config (~/.claude, ~/.codex, ~/.cursor, …), not under home.

Permissions

"always-allow" maps to each provider’s full-auto create args. "default" leaves the provider’s usual approval prompts in place.

React UI

See Chat UI for labels, theming, and the standalone components.

Inject your tools

Read MCP servers before you tell users that only your tools are loaded. Strict isolation is enforced only on Claude.

Next

Threads

Steer, interrupt, switch models, export.

Runtime

Embedded profile, watchdog, pidfile reclaim.