> ## Documentation Index
> Fetch the complete documentation index at: https://docs.comfy.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Configuration

> Configure ComfyUI-Manager settings

## Configuration paths

Starting from V3.38, Manager uses a protected system path for enhanced security.

| ComfyUI Version                 | Manager Path                                |
| ------------------------------- | ------------------------------------------- |
| v0.3.76+ (with System User API) | `<USER_DIRECTORY>/__manager/`               |
| Older versions                  | `<USER_DIRECTORY>/default/ComfyUI-Manager/` |

<Note>
  If executed without any options, the `<USER_DIRECTORY>` path defaults to `ComfyUI/user`. It can be set using `--user-directory <USER_DIRECTORY>`.
</Note>

### Configuration files

| File                 | Description                      |
| -------------------- | -------------------------------- |
| `config.ini`         | Basic configuration              |
| `channels.list`      | Configurable channel lists       |
| `pip_overrides.json` | Custom pip package mappings      |
| `pip_blacklist.list` | Packages to prevent installation |
| `pip_auto_fix.list`  | Packages to auto-restore         |
| `snapshots/`         | Saved snapshot files             |
| `startup-scripts/`   | Startup script files             |
| `components/`        | Component files                  |

## Config.ini options

Modify the `config.ini` file to apply settings. The path is displayed in startup log messages.

```ini theme={null}
[default]
git_exe = <path to git executable>
use_uv = <True/False - use uv instead of pip>
default_cache_as_channel_url = <True/False - retrieve DB designated as channel_url at startup>
bypass_ssl = <True/False - disable SSL if errors occur>
file_logging = <True/False - create log file>
windows_selector_event_loop_policy = <True/False - fix event loop errors on Windows>
model_download_by_agent = <True/False - use agent for model downloads>
downgrade_blacklist = <comma-separated list of packages to prevent downgrades>
security_level = <strong|normal|normal-|weak>
always_lazy_install = <True/False - perform dependency installation on restart>
network_mode = <public|private|offline>
```

### Network modes

| Mode      | Description                                                                                |
| --------- | ------------------------------------------------------------------------------------------ |
| `public`  | Standard public network environment                                                        |
| `private` | Closed network with private node DB configured via `channel_url` (uses cache if available) |
| `offline` | No external connections (uses cache if available)                                          |

### Security levels

| Level     | Description                                                                                                                    |
| --------- | ------------------------------------------------------------------------------------------------------------------------------ |
| `strong`  | Doesn't allow high and middle level risky features                                                                             |
| `normal`  | Doesn't allow high level risky features; middle level features available                                                       |
| `normal-` | Doesn't allow high level risky features if `--listen` is specified and not starts with `127.`; middle level features available |
| `weak`    | All features available                                                                                                         |

#### Risk levels for features

| Risk Level | Features                                                                                                |
| ---------- | ------------------------------------------------------------------------------------------------------- |
| **High**   | Install via git url, pip install, installation of custom nodes not in default channel, fix custom nodes |
| **Middle** | Uninstall/Update, installation of custom nodes in default channel, restore/remove snapshot, restart     |
| **Low**    | Update ComfyUI                                                                                          |

## Environment variables

| Variable          | Description                           |
| ----------------- | ------------------------------------- |
| `COMFYUI_PATH`    | Installation path of ComfyUI          |
| `GITHUB_ENDPOINT` | Reverse proxy for GitHub access       |
| `HF_ENDPOINT`     | Reverse proxy for Hugging Face access |

### Examples

Redirecting GitHub requests through a proxy:

```bash theme={null}
GITHUB_ENDPOINT=https://mirror.ghproxy.com/https://github.com
```

Changing Hugging Face endpoint:

```bash theme={null}
HF_ENDPOINT=https://some-hf-mirror.com
```

## Advanced configuration

### Prevent downgrade of specific packages

List package names in the `downgrade_blacklist` section of `config.ini`, separated by commas:

```ini theme={null}
downgrade_blacklist = diffusers, kornia
```

### Custom pip mapping

Create a `pip_overrides.json` file to change the installation of specific pip packages to user-defined installations. Refer to `pip_overrides.json.template` for the format.

### Prevent installation of specific pip packages

List package names one per line in the `pip_blacklist.list` file.

### Automatically restore pip installation

List pip spec requirements in `pip_auto_fix.list` (similar to `requirements.txt`). It will automatically restore specified versions when starting ComfyUI or when versions get mismatched during custom node installations. `--index-url` can be used.

### Use aria2 as downloader

For faster downloads, you can configure ComfyUI-Manager to use aria2. See the [aria2 setup guide](https://github.com/ltdrdata/ComfyUI-Manager/blob/main/docs/en/use_aria2.md).

## extra\_model\_paths.yaml configuration

The following settings are applied based on the section marked as `is_default`:

* `custom_nodes`: Path for installing custom nodes
* `download_model_base`: Path for downloading models

## CLI tools

ComfyUI-Manager provides `cm-cli`, a command line tool that allows you to use Manager features without running ComfyUI. This is useful for automating custom node installation and managing installations in headless environments.

For detailed cm-cli documentation, see the [official cm-cli guide](https://github.com/ltdrdata/ComfyUI-Manager/blob/main/docs/en/cm-cli.md).

For a more comprehensive CLI experience, consider using [comfy-cli](/comfy-cli/getting-started).
