Install

Low-level SDK

Use `NewSDK` when you want to own startup, shutdown, and every request explicitly.

High-level agent API

Use `NewAgent` when you want a reusable session with less transport code in your app.

Permission responses

Important event types

  • `MessageUpdateEvent` and `MessageEndEvent` for assistant output.
  • `ToolStartEvent`, `ToolUpdateEvent`, and `ToolEndEvent` for tool execution.
  • `PermissionRequestEvent` for approval pauses.
  • `ErrorEvent` for runtime or transport failures.

Notes

  • The Go SDK still uses the CLI config file for provider settings.
  • The typed event surface is a good fit for terminal UIs and long-running background jobs.
  • Use the higher-level agent API for simple app code, and the low-level SDK if you need direct runtime toggles like permission mode changes.

Next steps

  • Open [Go API](/docs/agent-sdk/go-api.html) for the reference surface.
  • Open [Handle approvals and user input](/docs/agent-sdk/io/approvals.html) for the approval loop.