---
title: "TypeScript SDK Code Agent SDK"
source: https://docs.autohand.ai/agent-sdk/typescript
---

# TypeScript SDK

The TypeScript wrapper is the most complete path for Node.js and Bun apps that want agent sessions, event streaming, JSON output, and direct permission control.

## Install

## Start the low-level SDK

Use \`AutohandSDK\` when you want to manage the CLI lifecycle yourself.

## Use the high-level agent API

Use \`Agent.create()\` when you want a longer-lived session with cleaner application code.

## Handle permissions

Interactive mode emits \`permission\_request\` events. Your app decides how to respond.

## Important event types

-   \`message\_update\`: streaming assistant text.
-   \`tool\_start\`, \`tool\_update\`, \`tool\_end\`: tool execution lifecycle.
-   \`permission\_request\`: runtime pause for approval.
-   \`error\`: transport, runtime, or execution failure.

## Configuration notes

The TypeScript SDK reads provider setup from the CLI config file. A typical setup looks like this:

\`cwd: "."\` works as expected, and leaving \`cwd\` unset falls back to \`process.cwd()\`.

## Next steps

-   Read \[Get structured output from agents\](/docs/agent-sdk/io/structured-output.html) if you want typed JSON workflows.
-   Read \[Handle approvals and user input\](/docs/agent-sdk/io/approvals.html) for full approval flows.
-   Open \[TypeScript API\](/docs/agent-sdk/typescript-api.html) for the reference surface.