# GoalCriteriaState

> **Class** in `deepagents_code`

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

Main-agent state carrying a criteria request until it is cleared.

This intentionally uses normal last-value state: earlier middleware can
consume an ephemeral channel before `GoalCriteriaMiddleware` runs. Success
clears the request here, while the TUI uses a request-correlated checkpoint
update after failure or cancellation. Normal TUI and headless turns also
submit `None` defensively so a terminal request can never rerun as chat.

## Signature

```python
GoalCriteriaState()
```

## Extends

- `ResumeState`

## Properties

- `goal_criteria_request`

---

[View source on GitHub](https://github.com/langchain-ai/deepagents/blob/4bfa52000ef65ac623d8ada0cb67f67cbdd663ea/libs/code/deepagents_code/goal_rubric.py#L351)