CLI-Anything: Turn Any App Into a CLI for Claude Code and Codex The University of Hong Kong's HKUDS data intelligence lab released CLI-Anything, an Apache 2.0-licensed open-source project that has a coding agent read a desktop app's source code and generate a full command-line interface with tests, documentation and a skill file, and the repository has passed 54,000 stars. The project ships CLI Hub, a package manager installable via `pip install cli-anything-hub` on Python 3.10 or newer that distributes pre-built CLIs for apps including Blender, LibreOffice, GIMP, Inkscape, Audacity, OBS Studio, QGIS and Zotero, plus a generator that runs a seven-phase pipeline and reports more than 2,400 passing tests across roughly 30 generated harnesses. Generated CLIs call the real software rather than reimplementing it, support a `--json` flag and a REPL mode with undo and redo, and work with Claude Code, Codex, Cursor, Open Code and GitHub Copilot CLI; the documentation recommends frontier-class models such as Claude Opus, Sonnet and GPT-class models because smaller local models tend to produce incomplete or incorrect CLIs. CLI-Anything: Turn Any App Into a CLI for Claude Code and Codex CLI-Anything auto-generates command-line interfaces for GIMP, Blender, LibreOffice and more, giving AI coding agents real tool access. What is CLI-Anything? CLI-Anything is an open-source project from HKUDS, the data intelligence lab at the University of Hong Kong that also built LightRAG. It takes a piece of desktop software, GIMP, Blender, LibreOffice, and generates a full command-line interface for it that a coding agent can operate. You point it at an app’s source code, a coding agent reads that code, and it builds a CLI complete with tests, documentation, and a skill file the agent can use to understand what the tool does. The repository has passed 54,000 stars and ships under the Apache 2.0 license. TL;DR - CLI-Anything generates command-line interfaces for GUI software by having a coding agent read the app’s source code and map its features to commands. - The project ships two things you can use separately: CLI Hub , a package manager for CLIs other people already built, and the CLI generator , a plugin that builds new ones from scratch. - Every generated CLI supports a --json flag for clean, structured output, plus a REPL mode with undo and redo so an agent always knows the current state. - Generated CLIs call the real software instead of reimplementing it. The LibreOffice CLI produces actual PDFs through headless LibreOffice, and the Blender CLI renders with real Blender. - The generator runs a seven-phase pipeline , analyze, design, implement, plan tests, write tests, document, and publish, and the project reports more than 2,400 passing tests across roughly 30 generated harnesses. - The documentation recommends using a frontier-class model the project mentions Claude Opus, Sonnet, and GPT class models for reliable generation, since smaller local models tend to produce incomplete or incorrect CLIs. - Works across several agent harnesses, including Claude Code, Codex, Cursor, Open Code, and GitHub Copilot CLI , via a skill or plugin install. Seven tools to build an app. Or just Remy. Editor, preview, AI agents, deploy — all in one tab. Nothing to install. Why does a CLI matter for AI agents? Most software is built for people: buttons, menus, windows, mouse clicks. AI agents are good at reading and writing text, not clicking pixels. That mismatch is the whole reason this project exists. There are currently three common ways to let an agent drive a desktop application, and each has a real weakness. GUI automation, where the agent takes screenshots and clicks coordinates, is slow, expensive in tokens, and breaks the moment a UI element moves. Native APIs are better when they exist, but most consumer and creative apps don’t expose one, or the API only covers a fraction of what the app can actually do. The third option, rebuilding a lightweight clone of the app in Python, almost always ends up missing most of the original software’s features. A command-line interface sidesteps all three problems. Agents already understand terminals. A CLI takes text in and returns text out. Every command carries a help page an agent can query to discover what’s possible, and in CLI-Anything’s case, every command also supports a --json flag that returns clean, structured output instead of free text the agent has to parse and guess at. How does CLI Hub work? CLI Hub is the “use what’s already built” half of the project. It acts as a package manager for CLIs that other people have already generated and published. To install it, run pip install cli-anything-hub Python 3.10 or newer is required . After installation, cli-hub-list shows every CLI currently in the registry, which according to the demo already includes tools for Blender, Inkscape, Audacity, OBS Studio, LibreOffice, Kdenlive, Shotcut, draw.io, Zoom, Ollama, ComfyUI, FreeCAD, QGIS, Obsidian, and Zotero, among others. You can narrow results with cli-hub-search followed by a keyword, install a specific one with cli-hub-install-