CLIProxyAPI Tray reads and managesDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/kitephp/CLIProxyAPI-Tray/llms.txt
Use this file to discover all available pages before exploring further.
config.yaml, the main configuration file for the CLIProxyAPI proxy service. The tray auto-creates config.yaml from config.example.yaml on first run if it does not exist. This page documents the most important settings.
File location
config.yaml lives in the same directory as cli-proxy-api.ps1 (the tray script). For the one-line installer, this is %USERPROFILE%\.cli-proxy-api-tray\config.yaml. For a cloned repository, it is the repository root.
Core settings
The host and port control which network interface and port CLIProxyAPI binds to.| Field | Default | Description |
|---|---|---|
host | "" | Interface to bind. Empty binds all interfaces (IPv4 + IPv6). Use "127.0.0.1" to restrict to localhost only. |
port | 8317 | TCP port the server listens on. |
The tray reads
port from config.yaml each time it starts or opens the WebUI to construct the URL http://127.0.0.1:{port}/management.html.TLS
Enable HTTPS by providing a certificate and key.enable: true, CLIProxyAPI listens on HTTPS using the certificate and key at the paths specified by cert and key. Leave enable: false for plain HTTP (the default).
Remote management
These settings control the management API and WebUI access. Thesecret-key field is the most important one for the tray.
| Field | Default | Description |
|---|---|---|
allow-remote | false | When false, only localhost can reach management endpoints. A key is still required even for localhost. |
secret-key | "" | The management password. All management requests require this key. CLIProxyAPI hashes it on startup if a plaintext value is provided. |
disable-control-panel | false | When true, disables the bundled WebUI asset download and its HTTP route. |
panel-github-repository | (Cli-Proxy-API-Management-Center) | GitHub repository used to fetch the management panel assets. |
The tray reads
secret-key on each Start to check whether a password is set. When you use Settings → Reset Password, the tray writes the new value back to config.yaml under remote-management.secret-key. See Managing the CLIProxyAPI management password for the full workflow.API keys
Clients authenticate with the proxy using these keys.api-keys list. Clients include the key in their requests (typically as a Bearer token or Authorization header, depending on the client).
Routing
Controls how the proxy selects credentials when multiple match a request.| Field | Default | Description |
|---|---|---|
strategy | "round-robin" | round-robin distributes requests evenly; fill-first exhausts one credential before moving to the next. |
session-affinity | false | When true, binds sessions to a specific credential for continuity. Session ID is detected from headers or message hash. |
session-affinity-ttl | "1h" | How long a session-to-credential binding is retained before expiring. |
Logging
Controls how CLIProxyAPI writes log files.| Field | Default | Description |
|---|---|---|
logging-to-file | false | When true, writes logs to rotating files in the logs/ directory instead of stdout. |
logs-max-total-size-mb | 0 | Maximum total size in MB of all log files. Oldest files are deleted when exceeded. 0 disables the limit. |
error-logs-max-files | 10 | Maximum number of error log files kept when request logging is disabled. 0 disables cleanup. |
debug | false | When true, enables verbose debug logging. |
Show update progress (tray-specific)
This setting is read exclusively by the tray, not by CLIProxyAPI itself.true (the default), a progress window appears during CLIProxyAPI binary downloads. Set to false to suppress the progress window and download silently.
The tray only reads two fields from
config.yaml at runtime: port and show-update-progress. All other settings are passed directly to CLIProxyAPI when it starts via --config "path/to/config.yaml".