Using command-line tools is often the best way to get something done, but remembering all those flags is a chore. Now, you can let a simple open-source CLI module turn any command into a GUI for you instead. That’s the solution Jordanian full-stack software engineer Omar Soutari built for his first entry into the FOSS community and released this week.
Instagui, as he calls it, parses CLI tools’ help documentation, makes an API call to Claude to digest it, and then renders the whole thing as a locally hosted web interface that launches in a user’s default browser. “I could never remember ffmpeg's flags,” Soutari told The Register in an email when asked why he built Instagui. “I'd google the same conversion command for the tenth time and … I realized the information a GUI needs is already sitting in every tool's --help output; someone just has to read it.”
Soutari’s solution? Make Claude do the reading for him, have it design a JSON schema and assemble the web app that’d run on top of the CLI automatically, and then publish it for everyone to use. If you’re wondering why Soutari reinvented the wheel already built by tools like Gooey, a Python library that converts Python 3 console programs into GUIs without the use of AI, Soutari told us that Gooey has a number of limitations he wanted to overcome.
Sure, it creates an actual desktop app, and relies on ground truth established from a Python CLI’s use of the argparse library, but it requires developers to add their own decorator to ensure Gooey can actually read their code. That's accurate, but it won’t work in all circumstances. “Instagui works from the outside: it reads the --help text of any binary, in any language, with zero changes,” Soutari explained.
In other words, as long as the help text is complete and well-written, it’ll produce a solid schema that is likely to function well. Soutari told us that he knew bad help text was a possibility that could hobble Instagui, so he designed for it: Results get validated against a strict schema, and the tool ships with several pre-verified bundled schemas (ffmpeg, yt-dlp, and pandoc) for use and review as well.
That, and the JSON schemas Instagui produces are reviewable, and can be edited to make corrections for any of Claude’s mistakes. He also noted that Instagui’s interface shows the CLI as the web app runs, serving as a teaching tool instead of just a way to abstract away from the command line. As for whether Instagui can be trusted (Soutari admitted Claude Code did most of the work while he supervised), Soutari told us that he designed it to be as local, isolated, and reviewable as possible to ensure it runs safely.
“Commands execute via an argument array with no shell (so form input can't inject), the server binds to localhost only, state-changing requests are origin-checked, and the exact command is always displayed before it runs,” Soutari told us. “It was built with a threat model, not just vibes.” Given that Instagui relies on API calls to Claude to generate new schemas, it doesn’t run for free (the tool itself is FOSS, though), but Soutari did his best to ensure that it doesn’t eat up tokens like other AI applications.
When running the command to capture a new help file into a JSON schema, Instagui makes a Claude API call, but once it creates the schema, that’s that - it stores the file for future use, meaning additional runs of the Instagui web app for that CLI app are done without cost. “The bundled tools work with no API key at all, cached tools never re-pay, and the AI call is once-per-tool pennies - I didn't want a tool that meters you,” Soutari explained.
The Instagui dev told us that he’d welcome additional schema contributions to his app, and intends to include more in future releases as well. “I'd love the common-tools library to be community-grown so the AI call becomes the rare path rather than the default,” Soutari told us. Instagui (version 0.
1, so it might have some bugs, Soutari admits) is available now on GitHub.
Originally published at theregister.com


