CLI vs Non-Interactive CLI

The following table details various common use cases and which mode of the Catalyst CLI is best suited to successfully complete them.

Common Use Cases Interactive CLI Non-Interactive CLI
CI/CD pipelines Bad fit. There's no one to answer "which project?" or "overwrite this file?", so the pipeline run just hangs waiting for input that never comes. Good fit. Every answer comes from the options and defaults you supply; if something required is missing, it fails immediately with a clear message instead of hanging.
Local development / first-time project setup Good fit. A person is at the terminal, so prompts and pick-lists guide you through choices you may not know yet (project, stack, framework). Bad fit. Requires every value (project, org, stack, etc.) to be known and supplied up front, which defeats the point when you're still figuring things out.
Automation scripts / scheduled jobs Bad fit. An unattended scheduled job will stall on the first prompt it hits, with no one to clear it. Good fit. Runs start to finish without attendance, and destructive actions (like overwrite) stay safe by default unless explicitly flagged.
Exploratory work Good fit. Pick-lists show you the available options (stacks, functions, versions) so you don't need to know the exact name or ID. Bad fit. List choices must be supplied directly by name, value, or position; an unrecognized value just errors out instead of showing you what's valid.
Remote systems with no active session (e.g., a CI server) Bad fit. Assumes a live terminal or browser session with someone present to respond to prompts. Good fit. Built for exactly this: no active login session needed, given the right options and token.
Manual, one-off debugging Good fit. Confirmations ("are you sure?") and step-by-step prompts suit a human working through a problem interactively. Bad fit. Its safety rails exist for unattended runs, so forcing every value up front adds friction with no benefit when you're already there to answer prompts yourself.
Agent / programmatic invocation Bad fit. An agent isn't a person choosing from a list; it has no way to answer a prompt, so the command just sits waiting on input that will never arrive. Good fit. Removes every point where a command would otherwise stall waiting on a human, which is what makes it safely callable from code or by an agent.

Last Updated 2026-09-02 16:47:14 +0530 IST