```ts
type ToolList = (
  | Tool
  | McpClient
  | Agent
  | ToolList)[];
```

Defined in: [src/agent/agent.ts:133](https://github.com/strands-agents/harness-sdk/blob/576da59fdc411b55036a7cf66d4e1659a67d4d0d/strands-ts/src/agent/agent.ts#L133)

Recursive type definition for nested tool arrays. Allows tools to be organized in nested arrays of any depth.

[Agent](/pr-cms-3708/docs/api/typescript/Agent/index.md) instances in the array are automatically wrapped via [Agent.asTool](/pr-cms-3708/docs/api/typescript/Agent/index.md#astool), so they can be passed directly without calling `.asTool()` explicitly.