> ## Documentation Index
> Fetch the complete documentation index at: https://notte-experiment-visibility-md-links.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# run

> Run an agent with the specified request parameters and wait for completion

```python theme={null}
with notte.Session() as session:
    agent = notte.Agent(session=session)
    agent.run(task="go to notte.cc and explain what their product is")
```

This function is synchronous and will block the main thread until the agent is completed.

> Websockets are used to stream the agent logs to the standard output to provide live logs to the user.

## Parameters

<ParamField path="task" type="str" required>
  The task description to execute (required).
</ParamField>

<ParamField path="url" type="str | None">
  Optional URL to process, defaults to None.
</ParamField>

<ParamField path="response_format" type="type[pydantic.main.BaseModel] | None">
  The response format to use for the agent answer. You can use a Pydantic model or a JSON Schema dict.
</ParamField>

<ParamField path="session_offset" type="int | None">
  \[Experimental] The step from which the agent should gather information from in the session. If none, fresh memory
</ParamField>

## Returns

[`AgentStatusResponse`](/sdk-reference/misc/agentstatusresponse.md): The final status response after task completion.

## Raises

* `TimeoutError`: If the agent doesn't complete within the maximum allowed attempts.
