# GoalToolsMiddleware

> **Class** in `deepagents_code`

📖 [View in docs](https://reference.langchain.com/python/deepagents-code/goal_tools/GoalToolsMiddleware)

Expose constrained goal tools to the main agent.

## Signature

```python
GoalToolsMiddleware(
    self,
)
```

## Extends

- `AgentMiddleware[GoalToolState, ContextT]`

## Constructors

```python
__init__(
    self,
) -> None
```


## Properties

- `state_schema`
- `tools`

## Methods

- [`wrap_model_call()`](https://reference.langchain.com/python/deepagents-code/goal_tools/GoalToolsMiddleware/wrap_model_call)
- [`awrap_model_call()`](https://reference.langchain.com/python/deepagents-code/goal_tools/GoalToolsMiddleware/awrap_model_call)

---

[View source on GitHub](https://github.com/langchain-ai/deepagents/blob/e14e0adcbe78565ed3650e7f24b2a775d5437d25/libs/code/deepagents_code/goal_tools.py#L332)