Skip to main content
A “CLI button” is just a shell-runtime button whose body is the command you want to run. There’s no special flag for it: buttons create scaffolds a shell button by default, and --code lets you pass the command inline so you never open an editor.
--code writes the command straight into the button’s main.sh and skips the placeholder scaffold. --runtime defaults to shell, so you don’t pass it for a portable CLI command; use bash, python, or node when the body requires that interpreter. Press it like any other button:

Without --code

Run buttons create <name> with no shortcut flags and it scaffolds a shell button with a placeholder main.sh you then edit:
To start from an existing script file instead of inline code, use -f, --file:

Adding args

Declare typed args with --arg name:type:required|optional (repeatable). Each is injected into the press as $BUTTONS_ARG_<NAME>:
Add -d, --description for what shows in buttons list, and --timeout <secs> to override the default press timeout. See Code buttons for the full buttons create flag set (runtimes, HTTP buttons, batteries, and more).