Environment Variables
You can tweak the behavior of HCLI using environment variables. Typically you won't have to touch these, but they can be useful in automation contexts, such as providing authentication tokens or overriding output directories.
Core Configuration
| Variable | Default Value | Purpose | 
|---|---|---|
| HCLI_API_KEY | None | API key for authentication with Hex-Rays services | 
| HCLI_DISABLE_UPDATES | false | Disable automatic update checking | 
| HCLI_LOG_LEVEL | None | Set logging level (e.g., "DEBUG", "INFO", "WARNING") | 
| HCLI_DEBUG | false | Enable debug mode with verbose logging (accepts: "true", "yes", "on", "1") | 
Standard System Variables
HCLI respects the following system variables:
| Variable | Purpose | 
|---|---|
| XDG_CACHE_HOME | Linux XDG cache home directory | 
| APPDATA | Windows application data directory | 
| LOCALAPPDATA | Windows local application data directory | 
| ProgramFiles | Windows program files directory | 
| HOME | User home directory (Linux/macOS) | 
Furthermore, HCLI reads the following IDA Pro-related environment variables:
| Variable | Purpose | 
|---|---|
| IDAUSR | Standard IDA Pro user directory (checked if HCLI_IDAUSR not set) | 
| IDADIR | Set by HCLI during IDA Pro execution contexts | 
Network & API Endpoints
| Variable | Default Value | Purpose | 
|---|---|---|
| HCLI_API_URL | "https://api.eu.hex-rays.com" | Base URL for Hex-Rays API | 
| HCLI_CLOUD_URL | "https://api.hcli.run" | Cloud services URL | 
| HCLI_PORTAL_URL | "https://my.hex-rays.com" | Portal/Dashboard URL for user authentication and file sharing | 
| HCLI_RELEASE_URL | "https://hcli.docs.hex-rays.com" | URL for release documentation and version information | 
GitHub Integration
HCLI interacts with GitHub during self-updates and reading from the plugin repository.
To avoid rate-limiting, particularly in automated settings, you can provide a GITHUB_TOKEN to authenticate your requests.
| Variable | Default Value | Purpose | 
|---|---|---|
| GITHUB_TOKEN and GH_TOKEN | None | GitHub API authentication token | 
| GITHUB_API_URL | "https://api.github.com" | GitHub API endpoint | 
| HCLI_GITHUB_URL | "https://github.com/HexRaysSA/ida-hcli" | HCLI repository URL on GitHub | 
IDA Pro Configuration
The following envrionment variables can be used to override system/version/configuration detection.
| Variable | Base Value | Purpose | 
|---|---|---|
| HCLI_IDAUSR | e.g., ~/.idapro/ | Override IDA Pro user configuration directory path | 
| HCLI_CURRENT_IDA_INSTALL_DIR | e.g., C:/Program Files/IDA Professional 9.2/ | Override current IDA Pro installation directory | 
| HCLI_CURRENT_IDA_PLATFORM | auto-detected | Override IDA platform (e.g., "macos-aarch64", "linux-x86_64") | 
| HCLI_CURRENT_IDA_VERSION | auto-detected | Override IDA version (e.g., "9.1", "9.2") | 
| HCLI_CURRENT_IDA_PYTHON_EXE | auto-detected | Override Python executable path for IDA Pro | 
In particular, if you haven't registered a default IDA installation, such as with:
- hcli ida install ... --set-default, or
- hcli ida set-default /path/to/ida
then you may need to set HCLI_CURRENT_IDA_INSTALL_DIR when using the plugin manager, so that HCLI can find IDA and its resources.
Cache & Storage
| Variable | Default Value | Purpose | 
|---|---|---|
| HCLI_CACHE_DIR | Platform-specific* | Override default cache directory for plugins and cached data | 
*Platform-specific defaults: - Linux: $XDG_CACHE_HOME/hex-rays/hcli/ or ~/.cache/hex-rays/hcli/ - Windows: %LOCALAPPDATA%\hex-rays\hcli\cache - macOS: ~/Library/Caches/hex-rays/hcli/