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

Defined in: [src/agent/agent.ts:133](https://github.com/strands-agents/harness-sdk/blob/f23d6cce5a8fae509dc0ad28ee20de4be886e7d9/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-3648/docs/api/typescript/Agent/index.md) instances in the array are automatically wrapped via [Agent.asTool](/pr-cms-3648/docs/api/typescript/Agent/index.md#astool), so they can be passed directly without calling `.asTool()` explicitly.