If you've been working with IDA Pro for any length of time, you know the toil of maintaining a tidy reverse engineering workspace: manually downloading installers from the portal, hunting for the right license file, copying plugins into obscure directories, and wrestling with SDK paths when building native plugins. For years, these were just accepted as part of the IDA experience. Today, we're going to show you a better way.
We're excited to introduce HCLI - a modern command-line interface for managing Hex-Rays software, licenses, and plugins. It's designed for both interactive use and automated workflows. Whether you're a reverse engineer setting up a new workstation with IDA or a tool developer building CI/CD pipelines, HCLI makes many things simpler.
HCLI makes it easier to install IDA and its license key, including a single command line to download and install headlessly - perfect for automated pipelines or Docker environments like GitHub Actions. Mix this with idalib, and you have a really clean experience for building automated solutions on IDA's decompiler engine.
Let’s take HCLI for a spin:
Installation is a single command:
macOS and Linux:
curl -LsSf https://hcli.docs.hex-rays.com/install | sh
Windows:
iwr -useb https://hcli.docs.hex-rays.com/install.ps1 | iex
HCLI installs as a standalone executable that just works.

Authentication is equally straightforward. For interactive use, simply run:
hcli login
Your browser opens, you sign in to my.hex-rays.com, and you're done. You can use either Google OAuth or receive a magic token to your email inbox. For automation, create an API key once:
hcli auth key create --name "my-ci-pipeline"
Save the key to your CI/CD secrets as HCLI_API_KEY, and HCLI automatically picks it up - no configuration files needed.
Example 1: New Workstation Setup
Let's say you just got a new laptop and need to set up your IDA Pro environment, perhaps within FLARE-VM. The old way? Download installers, click through wizards, hunt down license files, manually install plugins. The new way with HCLI - much easier.
First, check what licenses you have available:
hcli license list
HCLI displays a table with all your licenses, their status, expiration dates, and available add-ons like Teams and Private Lumina.
Now, let's interactively browse the downloads available to you:
hcli download
HCLI presents a textual interface where you navigate through folders using arrow keys. Choose "release" → "9.2" → "ida-pro" → and select your platform. HCLI downloads it and shows you progress bars. Of course, if you know the resource you want, you can provide this as a CLI argument.
But here's where it gets really good. Install IDA with a single command:
hcli ida install \
--set-default \
--accept-eula \
--yes \
--license-id 96-0000-0000-01 \
--download-id ida-pro:latest
No GUI dialogs. No clicking "Next" eight times. HCLI downloads the installer (if you didn't already), extracts it, installs it to a standard location, fetches your license file, installs the license, and marks this as your default IDA installation. 
Let's discover and install plugins. Want to see what's available?
hcli plugin search
HCLI shows you every plugin in the central repository, indicating which ones are already installed, which have available upgrades, and which are compatible with your IDA version.
Now, as a sneak peek into our next big initiative, you can use HCLI to install plugins, too:
hcli plugin install capa
Done. HCLI downloads the plugin, installs any Python dependencies it requires, and places everything in the right location. Next time you open IDA, it's there.
Want to see what's installed?
hcli plugin status
This shows all your plugins, upgrade availability, and warns about incompatible or legacy plugins that might need attention.
Example 2: idalib in Docker for Automated Analysis
Here's where HCLI really shines: automation. Let's say you're building a tool that uses IDA to analyze binaries. A reasonable way to package and deploy this is in a Docker container. Previously, this was tedious to get just right - you'd need to manually download IDA, figure out how to install it without a GUI (or temporarily with an X Server that you subsequently uninstall), handle license installation, quickly tag a Docker image or VM snapshot, and hope nothing broke.
With HCLI, your Dockerfile can look like this: Dockerfile, and you can build and run with:
docker build \
--build-arg HCLI_API_KEY=${HCLI_API_KEY} \
--build-arg IDA_LICENSE_ID=${IDA_LICENSE_ID} \
-t my-ida-analyzer \
.
docker run --rm my-ida-analyzer
Tip: please take a look at idalib, which allows you to use the C++ and IDA Python APIs outside IDA as standalone applications, as well as the new IDA Domain API:
import sys
from ida_domain import Database
with Database() as db:
if db.open(sys.argv[1]):
for func in db.functions:
print(f'{func.name}')
We’re excited to see what you build with idalib now that it’s easy to install and configure. We’ll share some of our own ideas in upcoming blog posts.
Note that all IDA users are welcomed to use idalib to develop local tools and scripts; however, using idalib to support many users, such as a web service, requires an OEM license. OEM licenses are free during development, research or beta phases. If this interests you, please get in touch!
Example 3: Building Native Plugins with the SDK
If you develop native plugins in C or C++, you know the pain of building and distributing across versions and platforms. With HCLI managing the download and installation and CI/CD providers like GitHub Actions offering a matrix of build environments ({Windows, Linux, and macOS} x {x86 and aarch64}), we think it becomes a lot easier to build and share native IDA plugins.
For example, here's how we've configured GitHub Actions to build gooMBA. The key lines are:
jobs:
build:
runs-on: $
strategy:
matrix:
environment:
- os: ubuntu-latest
z3_url: https://github.com/Z3Prover/z3/releases/download/z3-4.15.3/z3-4.15.3-x64-glibc-2.39.zip
- os: windows-latest
z3_url: https://github.com/Z3Prover/z3/releases/download/z3-4.15.3/z3-4.15.3-x64-win.zip
- os: macos-latest
z3_url: https://github.com/Z3Prover/z3/releases/download/z3-4.15.3/z3-4.15.3-arm64-osx-13.7.6.zip
- name: Download IDA SDK
run: |
uvx --from ida-hcli hcli --disable-updates download "release/9.2/sdk-and-utilities/idasdk92.zip"
unzip idasdk*.zip -d ./ida-temp/
mv ./ida-temp/src/ ./ida-sdk
env:
HCLI_API_KEY: $
- name: Fetch Z3
run: |
curl -L -o z3.zip $
unzip z3.zip -d z3-temp
mv z3-temp/*/include/ ida-sdk/plugins/goomba/z3/include
mv z3-temp/*/bin/ ida-sdk/plugins/goomba/z3/bin
- name: Build gooMBA
working-directory: ./ida-sdk/plugins/goomba
run: |
make __EA64__=1
With this workflow, we can build and test a new version of gooMBA for Windows, macOS, and Linux with each commit, PR, or update to the open source IDA SDK. As we tag releases in GitHub, the build artifacts are attached for easy distribution. This is much easier than manually running commands within virtual machines or dedicated hardware to update, build, and package plugins.

We've contributed similar setups for other open source plugins, too, like:
Why This Matters
HCLI represents a fundamental shift in how Hex-Rays is building tools for the reverse engineering community. We're moving from occasional major releases to continuous delivery of useful utilities that make your daily work easier.
Found a bug? Have a feature request? Open an issue on GitHub. HCLI is under active development, and we're committed to rapidly responding to your feedback. We're not just building tools - we're building them WITH you.
The benefits extend beyond individual convenience:
- Training: Security training courses can automate participant setup
- Enterprise: Organizations can standardize IDA installations across teams
- Tool Development: Researchers can build robust IDA-based tooling with confidence
Try It Today
Getting started takes less than a minute:
# Install HCLI
curl -LsSf https://hcli.docs.hex-rays.com/install | sh
# Authenticate
hcli login
# Explore
hcli download
hcli plugin search
hcli license list
# Install IDA
hcli ida install --help
Complete documentation is available at hcli.docs.hex-rays.com, including:
Looking Forward
HCLI is just the beginning. We're actively working on:
- GUI integration for plugin management directly within IDA
- Enhanced plugin configuration management
- More automation capabilities for enterprise environments
- Additional utilities based on community feedback
This is Hex-Rays' commitment to you: providing tools that respect your time, enable your creativity, and remove friction from your reverse engineering workflow.