CLI-Anything picked up 574 stars in a single day and on October 18, 2026 ranked third among Python repositories on GitHub Trending, with more than 54,000 in total. Its pitch is simple: instead of teaching an agent to click through a GUI, give any program a command line designed for the agent.
What it is and how it works
CLI-Anything, from the HKUDS lab, is a plugin for Claude Code (and for other agents such as Codex, Cursor or OpenCode) that generates a Python CLI for an application from its source code. You hand it a directory or a GitHub URL and the agent runs a seven-phase pipeline: it analyses the code and maps GUI actions to the underlying APIs, designs the command groups and state model, implements the CLI with Click, plans and writes the tests, documents the results and packages it so it lands on your PATH.
Every generated CLI shares the same skeleton: subcommands for scripting, a stateful REPL when run with no arguments, undo and redo, and a --json flag on every command so the agent never has to parse tables. Each one also ships with a SKILL.md, so an Agent Skills-compatible agent can discover its commands without reading the code.
The most interesting design choice is that the CLI reimplements nothing: it writes valid project files (ODF, MLT XML, SVG) and hands off to the real application. LibreOffice produces the PDF and Blender renders the scene. That is why the tests fail, rather than skip, when the backend is missing. The README publishes a table with more than 2,400 tests across some thirty harnesses, from GIMP and Blender to Zoom, Ollama, LLDB and AdGuard Home.
Around the generator sits CLI-Hub, a registry with its own package manager that installs both the project's CLIs and third-party public CLIs from pip, npm or brew. The project is Apache 2.0 licensed and needs Python 3.10 or later.
How to use it
To generate a new CLI from Claude Code:
/plugin marketplace add HKUDS/CLI-Anything
/plugin install cli-anything
/cli-anything ./gimp
/cli-anything:refine ./gimp "batch processing and filters"The last command looks for capabilities the CLI does not cover yet and adds commands, tests and docs; it is incremental and can be run repeatedly. To use what already exists, go through the registry:
pip install cli-anything-hub
cli-hub search image
cli-hub install gimp
cli-hub launch gimpTwo warnings before you install anything. The publish phase installs the generated code with pip install -e ., so this is model-written code running with your permissions: read it first. And the README suggests adding the CLI-Hub meta-skill with npx skills add HKUDS/CLI-Anything --skill cli-hub-meta-skill -g -y, which installs it globally with no prompt and lets the agent search for and install CLIs from the registry on its own. On a machine holding production credentials, that deserves a second thought.
What I like and what I don't
I like the approach. A CLI with JSON output is the cheapest interface an agent can use: it is discoverable through --help, it composes into pipelines and it leaves a readable trail in the shell history. The insistence on driving the real software, with output checks such as verifying a PDF's magic bytes instead of trusting a zero exit code, is good practice for any integration.
What I am less sure about is maturity. The README itself admits three limits: it needs frontier models to generate reliable harnesses, it depends on having the source code, and one run rarely covers everything, so expect several refine passes. Activity has also slowed: the last commits with code changes date from August 21, 2026, and since then only the README has changed, with 75 open issues and 111 open pull requests. Most harnesses also target creative and desktop apps; for an SRE, the value is in the long tail (n8n, WireMock, LLDB, AdGuard Home) rather than in GIMP.
CLI-Anything vs an MCP server
The obvious alternative for giving an agent tools is the Model Context Protocol: a server that exposes tools and resources over a standard protocol, with official SDKs in ten languages and a public server registry.
| CLI-Anything | MCP server | |
|---|---|---|
| Approach | The agent generates a CLI from source code | You write (or install) a server that implements the protocol |
| How the agent uses it | Shell: commands, --help and --json | Tool calls over MCP |
| Deployment | Local pip install, no extra process | Local or remote process configured in the client |
| License | Apache 2.0 | Reference servers under Apache 2.0 (older code under MIT) |
| Maturity | Model-generated, needs refining and review | Standard protocol; reference servers are examples, not production-ready |
When to use which. CLI-Anything fits when you want to automate an open source application that has no API or MCP server, especially if your agent already lives in a terminal: the CLI is just as useful in your own scripts. An MCP server is the better choice when the tool must serve several clients, runs on another machine or needs tight control over what the agent can do. They are not mutually exclusive: CLI-Anything's own registry includes harnesses that talk to the application through an MCP bridge.