# createSubAgentMiddleware

> **Function** in `deepagents`

📖 [View in docs](https://reference.langchain.com/javascript/deepagents/middleware/createSubAgentMiddleware)

Create subagent middleware with task tool

## Signature

```javascript
createSubAgentMiddleware(options: SubAgentMiddlewareOptions): AgentMiddleware<undefined, undefined, unknown, readonly [DynamicStructuredTool<ZodObject<__type, $strip>, __type, __type, string | Command<unknown, Record<string, unknown>, string>, unknown, "task">], readonly []>
```

## Parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `options` | `SubAgentMiddlewareOptions` | Yes |  |

## Returns

`AgentMiddleware<undefined, undefined, unknown, readonly [DynamicStructuredTool<ZodObject<__type, $strip>, __type, __type, string | Command<unknown, Record<string, unknown>, string>, unknown, "task">], readonly []>`

---

[View source on GitHub](https://github.com/langchain-ai/deepagentsjs/blob/d879d1c979abc589c77489154f913db862d4d130/libs/deepagents/src/middleware/subagents.ts#L788)