> ## Documentation Index
> Fetch the complete documentation index at: https://browseruse-0aece648-agency-x402-payment-cap.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# All Parameters

> Complete reference for all agent configuration options — LLM settings, prompts, tools, output format, and callbacks.

## Available Parameters

### Core Settings

* `tools`: Registry of <a href="../tools/available">tools</a> the agent can call. <a href="../tools/basics">Example</a>
* `skills` (or `skill_ids`): List of skill IDs to load (e.g., `['skill-uuid']` or `['*']` for all). Requires `BROWSER_USE_API_KEY`. <a href="../skills/basics">Docs</a>
* `browser`: Browser object where you can specify the browser settings.
* `output_model_schema`: Pydantic model class for structured output validation. [Example](https://github.com/browser-use/browser-use/blob/main/examples/features/custom_output.py)

### Vision & Processing

* `use_vision` (default: `"auto"`): Vision mode - `"auto"` includes screenshot tool but only uses vision when requested, `True` always includes screenshots, `False` never includes screenshots and excludes screenshot tool
* `vision_detail_level` (default: `'auto'`): Screenshot detail level - `'low'`, `'high'`, or `'auto'`
* `page_extraction_llm`: Separate LLM model for page content extraction. You can choose a small & fast model because it only needs to extract text from the page (default: same as `llm`)

### Fallback & Resilience

* `fallback_llm`: Backup LLM to use when the primary LLM fails. The primary LLM will first exhaust its own retry logic (typically 5 attempts with exponential backoff), and only then switch to the fallback. Triggers on rate limits (429), authentication errors (401), payment/credit errors (402), or server errors (500, 502, 503, 504). Once switched, the fallback is used for the rest of the run. [Example](https://github.com/browser-use/browser-use/blob/main/examples/features/fallback_model.py)

### Actions & Behavior

* `initial_actions`: List of actions to run before the main task without LLM. [Example](https://github.com/browser-use/browser-use/blob/main/examples/features/initial_actions.py)
* `max_actions_per_step` (default: `4`): Maximum actions per step, e.g. for form filling the agent can output 4 fields at once. We execute the actions until the page changes.
* `max_failures` (default: `3`): Maximum retries for steps with errors
* `final_response_after_failure` (default: `True`): If True, attempt to force one final model call with intermediate output after max\_failures is reached
* `use_thinking` (default: `True`): Controls whether the agent uses its internal "thinking" field for explicit reasoning steps.
* `flash_mode` (default: `False`): Fast mode that skips evaluation, next goal and thinking and only uses memory. If `flash_mode` is enabled, it overrides `use_thinking` and disables the thinking process entirely. [Example](https://github.com/browser-use/browser-use/blob/main/examples/getting_started/05_fast_agent.py)

### System Messages

* `override_system_message`: Completely replace the default system prompt.
* `extend_system_message`: Add additional instructions to the default system prompt. [Example](https://github.com/browser-use/browser-use/blob/main/examples/features/custom_system_prompt.py)

### File & Data Management

* `save_conversation_path`: Path to save complete conversation history
* `save_conversation_path_encoding` (default: `'utf-8'`): Encoding for saved conversations
* `available_file_paths`: List of file paths the agent can access
* `sensitive_data`: Dictionary of sensitive data to handle carefully. [Example](https://github.com/browser-use/browser-use/blob/main/examples/features/sensitive_data.py)

### Visual Output

* `generate_gif` (default: `False`): Generate GIF of agent actions. Set to `True` or string path
* `include_attributes`: List of HTML attributes to include in page analysis

### Performance & Limits

* `max_history_items`: Maximum number of last steps to keep in the LLM memory. If `None`, we keep all steps.
* `llm_timeout` (default: `90`): Timeout in seconds for LLM calls
* `step_timeout` (default: `120`): Timeout in seconds for each step
* `directly_open_url` (default: `True`): If we detect a url in the task, we directly open it.

### Advanced Options

* `calculate_cost` (default: `False`): Calculate and track API costs
* `display_files_in_done_text` (default: `True`): Show file information in completion messages

### Backwards Compatibility

* `controller`: Alias for `tools` for backwards compatibility.
* `browser_session`: Alias for `browser` for backwards compatibility.

***

## Environment Variables

These environment variables can be used to tune agent and browser behavior without code changes. They are particularly useful for debugging, slow networks, or deployment-level tuning.

### Agent Timeouts

| Variable | Default | Description |
| - | - | - |
| `TIMEOUT_AgentEventBusStop` | `3.0` | Timeout in seconds for the agent's event bus to finish processing pending events during shutdown. |

### Browser Action Timeouts

| Variable | Default | Description |
| - | - | - |
| `TIMEOUT_NavigateToUrlEvent` | `15.0` | Timeout for page navigation |
| `TIMEOUT_ClickElementEvent` | `15.0` | Timeout for clicking elements |
| `TIMEOUT_ClickCoordinateEvent` | `15.0` | Timeout for clicking at coordinates |
| `TIMEOUT_TypeTextEvent` | `60.0` | Timeout for typing text (longer for large inputs) |
| `TIMEOUT_ScrollEvent` | `8.0` | Timeout for scrolling |
| `TIMEOUT_ScrollToTextEvent` | `15.0` | Timeout for scrolling to find text |
| `TIMEOUT_SendKeysEvent` | `60.0` | Timeout for sending keyboard shortcuts |
| `TIMEOUT_UploadFileEvent` | `30.0` | Timeout for file uploads |
| `TIMEOUT_GetDropdownOptionsEvent` | `15.0` | Timeout for fetching dropdown options |
| `TIMEOUT_SelectDropdownOptionEvent` | `8.0` | Timeout for selecting dropdown option |
| `TIMEOUT_GoBackEvent` | `15.0` | Timeout for browser back navigation |
| `TIMEOUT_GoForwardEvent` | `15.0` | Timeout for browser forward navigation |
| `TIMEOUT_RefreshEvent` | `15.0` | Timeout for page refresh |
| `TIMEOUT_WaitEvent` | `60.0` | Timeout for explicit wait actions |
| `TIMEOUT_ScreenshotEvent` | `15.0` | Timeout for taking screenshots |
| `TIMEOUT_BrowserStateRequestEvent` | `30.0` | Timeout for fetching browser state/DOM |

### Browser Lifecycle Timeouts

| Variable | Default | Description |
| - | - | - |
| `TIMEOUT_BrowserStartEvent` | `30.0` | Timeout for starting browser session |
| `TIMEOUT_BrowserStopEvent` | `45.0` | Timeout for stopping browser session |
| `TIMEOUT_BrowserLaunchEvent` | `30.0` | Timeout for launching browser process |
| `TIMEOUT_BrowserKillEvent` | `30.0` | Timeout for killing browser process |
| `TIMEOUT_BrowserConnectedEvent` | `30.0` | Timeout for CDP connection |
| `TIMEOUT_BrowserStoppedEvent` | `30.0` | Timeout for browser stopped confirmation |
| `TIMEOUT_BrowserErrorEvent` | `30.0` | Timeout for browser error events |

### Tab Management Timeouts

| Variable | Default | Description |
| - | - | - |
| `TIMEOUT_SwitchTabEvent` | `10.0` | Timeout for switching tabs |
| `TIMEOUT_CloseTabEvent` | `10.0` | Timeout for closing tabs |
| `TIMEOUT_TabCreatedEvent` | `30.0` | Timeout for tab creation events |
| `TIMEOUT_TabClosedEvent` | `10.0` | Timeout for tab closed events |
| `TIMEOUT_AgentFocusChangedEvent` | `10.0` | Timeout for focus change events |
| `TIMEOUT_TargetCrashedEvent` | `10.0` | Timeout for crash events |

### Navigation Event Timeouts

| Variable | Default | Description |
| - | - | - |
| `TIMEOUT_NavigationStartedEvent` | `30.0` | Timeout for navigation started events |
| `TIMEOUT_NavigationCompleteEvent` | `30.0` | Timeout for navigation complete events |

### Storage & Download Timeouts

| Variable | Default | Description |
| - | - | - |
| `TIMEOUT_SaveStorageStateEvent` | `45.0` | Timeout for saving cookies/localStorage |
| `TIMEOUT_StorageStateSavedEvent` | `30.0` | Timeout for storage save confirmation |
| `TIMEOUT_LoadStorageStateEvent` | `45.0` | Timeout for loading storage state |
| `TIMEOUT_StorageStateLoadedEvent` | `30.0` | Timeout for storage load confirmation |
| `TIMEOUT_FileDownloadedEvent` | `30.0` | Timeout for file download events |

### Example Usage

```bash theme={null}
# Increase timeouts for slow network or complex pages
export TIMEOUT_NavigateToUrlEvent=30.0
export TIMEOUT_TypeTextEvent=120.0
export TIMEOUT_BrowserStateRequestEvent=60.0

# Increase agent shutdown timeout
export TIMEOUT_AgentEventBusStop=10.0
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.