--- title: Configuration Options description: This page outlines all available configuration options for OpenHands, allowing you to customize its behavior and integrate it with other services. In GUI Mode, any settings applied through the Settings UI will take precedence. --- ## 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` **(Deprecated)** - Type: `str` - Default: `"./workspace"` - Description: Base path for the workspace. **Deprecated: Use `SANDBOX_VOLUMES` instead.** - `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 - `save_trajectory_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. - `replay_trajectory_path` - Type: `str` - Default: `""` - Description: Path to load a trajectory and replay. If given, must be a path to the trajectory file in JSON format. The actions in the trajectory file would be replayed first before any user instruction is executed. ### 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 - `volumes` - Type: `str` - Default: `None` - Description: Volume mounts in the format 'host_path:container_path[:mode]', e.g. '/my/host/dir:/workspace:rw'. Multiple mounts can be specified using commas, e.g. '/path1:/workspace/path1,/path2:/workspace/path2:ro' - `workspace_mount_path_in_sandbox` **(Deprecated)** - Type: `str` - Default: `"/workspace"` - Description: Path to mount the workspace in the sandbox. **Deprecated: Use `SANDBOX_VOLUMES` instead.** - `workspace_mount_path` **(Deprecated)** - Type: `str` - Default: `""` - Description: Path to mount the workspace. **Deprecated: Use `SANDBOX_VOLUMES` instead.** - `workspace_mount_rewrite` **(Deprecated)** - 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. **Deprecated: Use `SANDBOX_VOLUMES` instead.** ### Miscellaneous - `run_as_openhands` - Type: `bool` - Default: `true` - Description: Run as OpenHands - `runtime` - Type: `str` - Default: `"docker"` - 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_