# Configuration Options This guide details all configuration options available for OpenHands, helping you customize its behavior and integrate it with other services. :::note If you are running in [GUI Mode](https://docs.all-hands.dev/modules/usage/how-to/gui-mode), the settings available in the Settings UI will always take precedence. ::: --- # Table of Contents 1. [Core Configuration](#core-configuration) - [API Keys](#api-keys) - [Workspace](#workspace) - [Debugging and Logging](#debugging-and-logging) - [Session Management](#session-management) - [Trajectories](#trajectories) - [File Store](#file-store) - [Task Management](#task-management) - [Sandbox Configuration](#sandbox-configuration) - [Miscellaneous](#miscellaneous) 2. [LLM Configuration](#llm-configuration) - [AWS Credentials](#aws-credentials) - [API Configuration](#api-configuration) - [Custom LLM Provider](#custom-llm-provider) - [Embeddings](#embeddings) - [Message Handling](#message-handling) - [Model Selection](#model-selection) - [Retrying](#retrying) - [Advanced Options](#advanced-options) 3. [Agent Configuration](#agent-configuration) - [Microagent Configuration](#microagent-configuration) - [Memory Configuration](#memory-configuration) - [LLM Configuration](#llm-configuration-2) - [ActionSpace Configuration](#actionspace-configuration) - [Microagent Usage](#microagent-usage) 4. [Sandbox Configuration](#sandbox-configuration-2) - [Execution](#execution) - [Container Image](#container-image) - [Networking](#networking) - [Linting and Plugins](#linting-and-plugins) - [Dependencies and Environment](#dependencies-and-environment) - [Evaluation](#evaluation) 5. [Security Configuration](#security-configuration) - [Confirmation Mode](#confirmation-mode) - [Security Analyzer](#security-analyzer) --- ## Core Configuration The core configuration options are defined in the `[core]` section of the `config.toml` file. **API Keys** - `e2b_api_key` - Type: `str` - Default: `""` - Description: API key for E2B - `modal_api_token_id` - Type: `str` - Default: `""` - Description: API token ID for Modal - `modal_api_token_secret` - Type: `str` - Default: `""` - Description: API token secret for Modal **Workspace** - `workspace_base` - Type: `str` - Default: `"./workspace"` - Description: Base path for the workspace - `cache_dir` - Type: `str` - Default: `"/tmp/cache"` - Description: Cache directory path **Debugging and Logging** - `debug` - Type: `bool` - Default: `false` - Description: Enable debugging - `disable_color` - Type: `bool` - Default: `false` - Description: Disable color in terminal output **Trajectories** - `trajectories_path` - Type: `str` - Default: `"./trajectories"` - Description: Path to store trajectories (can be a folder or a file). If it's a folder, the trajectories will be saved in a file named with the session id name and .json extension, in that folder. **File Store** - `file_store_path` - Type: `str` - Default: `"/tmp/file_store"` - Description: File store path - `file_store` - Type: `str` - Default: `"memory"` - Description: File store type - `file_uploads_allowed_extensions` - Type: `list of str` - Default: `[".*"]` - Description: List of allowed file extensions for uploads - `file_uploads_max_file_size_mb` - Type: `int` - Default: `0` - Description: Maximum file size for uploads, in megabytes - `file_uploads_restrict_file_types` - Type: `bool` - Default: `false` - Description: Restrict file types for file uploads - `file_uploads_allowed_extensions` - Type: `list of str` - Default: `[".*"]` - Description: List of allowed file extensions for uploads **Task Management** - `max_budget_per_task` - Type: `float` - Default: `0.0` - Description: Maximum budget per task (0.0 means no limit) - `max_iterations` - Type: `int` - Default: `100` - Description: Maximum number of iterations **Sandbox Configuration** - `workspace_mount_path_in_sandbox` - Type: `str` - Default: `"/workspace"` - Description: Path to mount the workspace in the sandbox - `workspace_mount_path` - Type: `str` - Default: `""` - Description: Path to mount the workspace - `workspace_mount_rewrite` - Type: `str` - Default: `""` - Description: Path to rewrite the workspace mount path to. You can usually ignore this, it refers to special cases of running inside another container. **Miscellaneous** - `run_as_openhands` - Type: `bool` - Default: `true` - Description: Run as OpenHands - `runtime` - Type: `str` - Default: `"eventstream"` - Description: Runtime environment - `default_agent` - Type: `str` - Default: `"CodeActAgent"` - Description: Name of the default agent - `jwt_secret` - Type: `str` - Default: `uuid.uuid4().hex` - Description: JWT secret for authentication. Please set it to your own value. ## LLM Configuration The LLM (Large Language Model) configuration options are defined in the `[llm]` section of the `config.toml` file. To use these with the docker command, pass in `-e LLM_