Directly interpolating the user prompt into the example command can enable shell injection
Source references: 2The example places the prompt inside a single-quoted JSON shell argument. If an agent substitutes a prompt containing an apostrophe, newline, or shell syntax, the shell can interpret escaped text before the CLI receives the JSON. The claim of “no shell injection surface” concerns CLI processing and does not remove this command-construction risk.
A malicious or accidentally crafted prompt could run local commands with the user's permissions, modifying or reading files, using logged-in accounts, or exposing credentials.
The example places `<user prompt>` inside a single-quoted JSON shell argument. If an agent builds this command by textual substitution, a quote in the prompt can terminate shell quoting and cause following text to be interpreted by the shell. Line 192 only describes behavior after input reaches the CLI and does not establish safe command construction. The risk depends on direct interpolation of the example.
```bashruncomfy run happyhorse/happyhorse-1-0/text-to-video \ --input '{"prompt": "<user prompt>"}' \ --output-dir <absolute/path>```Show 1 other places
- **Token storage**: `runcomfy login` writes the API token to `~/.config/runcomfy/token.json` with mode 0600 (owner-only read/write). Set `RUNCOMFY_TOKEN` env var to bypass the file entirely in CI / containers.- **Input boundary**: the user prompt is passed as a JSON string to the CLI via `--input`. The CLI does NOT shell-expand the prompt; it transmits the JSON body directly to the Model API over HTTPS. No shell injection surface from prompt content.- **Third-party content**: image / mask / video URLs you pass are fetched by the RunComfy model server, not by the CLI on your machine. Treat external URLs as untrusted; image-based prompt injection is a known risk for any image-edit / video-edit model.