run(1)

πŸ“¦
version 1.51.0 Β· 2 versions
, in opensuse-leap 16.0

πŸ’… run β€” like, the manual page, but make it make sense πŸ¦‹

okay so bestie, you're in the run(1) page of the General Commands Manual and honestly? this is the one you'll actually use. it executes commands from an instruction file or from stdin, and it's lowkey the main character of the whole goose family. let's get into it ✨


🌸 NAME 🌸

run β€” execute commands from an instruction file or stdin, no cap


πŸŽ€ SYNOPSIS πŸŽ€

run [-i|--instructions] [-t|--text] [--recipe] [--system] [--params]
[--sub-recipe] [--explain] [--render-recipe] [-n|--name] [--session-id]
[--path] [-s|--interactive] [--no-session] [-r|--resume] [--stats]
[--debug] [--max-tool-repetitions] [--max-turns] [--container]
[--with-extension] [--with-streamable-http-extension] [--with-builtin]
[--no-profile] [-q|--quiet] [--output-format] [--provider] [--model]
[-h|--help]

yeah it's a long one. she's got range πŸ’…


πŸ¦‹ DESCRIPTION πŸ¦‹

okay so the whole vibe: run executes commands from an instruction file or stdin. that's it, that's the tweet. everything else below is just you customizing the experience ✨


πŸ’– OPTIONS πŸ’–

bestie there are SO many. buckle up, we're going through all of them, no skipping 🫢

  • -i, --instructions <FILE> β€” path to the instruction file that's holding your commands. honestly iconic. and yes, you can use - for stdin if that's your thing πŸ’œ
  • -t, --text <TEXT> β€” just paste the input text containing commands for goose right here. use this in lieu of the instructions argument. inline slay.
  • --recipe <RECIPE_NAME or FULL_PATH_TO_RECIPE_FILE> β€” a recipe name to get the recipe file, or the full path of the recipe file that defines a custom agent configuration. and like, use --explain if you wanna peek at the recipe's title, description, and parameters first. very demure, very mindful πŸ‘‘
  • --system <TEXT> β€” drop in extra system instructions to customize the agent's behavior. main character energy for your agent fr
  • --params <KEY=VALUE> β€” key-value parameters to pass to the recipe file. can be specified multiple times, so go off πŸŽ€
  • --sub-recipe <RECIPE> β€” specify sub-recipes to include alongside the main recipe. it can be:
    • recipe names from GitHub (if GOOSE_RECIPE_GITHUB_REPO is configured)
    • local file paths to YAML files

can be specified multiple times to include multiple sub-recipes. the way that she stacks 🌈

  • --explain β€” show the recipe title, description, and parameters. like a lil preview, iykyk
  • --render-recipe β€” print the rendered recipe instead of running it. look but don't touch vibes πŸ™ˆ
  • -n, --name <NAME> β€” pick a name for your chat session. and when you use it with --resume, it'll resume that specific session if it exists. she remembers you πŸ’–
  • --session-id <SESSION_ID> β€” specify a session ID to resume. requires --resume, so don't forget that part bestie 😭
  • --path <PATH> β€” legacy parameter for backward compatibility. it extracts the session ID from the file path (e.g., '/path/to/20250325_200615. jsonl' -> '20250325_200615'). old but still serving 🫢
  • -s, --interactive β€” keep going in interactive mode after processing the initial input. she's not done talking ✨
  • --no-session β€” execute commands without creating or using a session file. useful for automated runs. no strings attached πŸ’€
  • -r, --resume β€” continue from a previous run, maintaining the execution state and context. we love continuity πŸ‘‘
  • --stats β€” print generation statistics after the run completes. numbers, bestie, numbers πŸ“
  • --debug β€” when enabled, shows complete tool responses without truncation AND full paths. the unfiltered truth πŸ”₯
  • --max-tool-repetitions <NUMBER> β€” set a limit on how many times the same tool can be called consecutively with identical parameters. helps prevent infinite loops, which, thank god 😭
  • --max-turns <NUMBER> β€” set a limit on how many turns (iterations) the agent can take without asking for user input to continue. boundaries are self-care πŸ’…
  • --container <CONTAINER_ID> β€” run extensions (stdio and built-in) inside the specified container. the extension must exist in the container. for built-in extensions, goose must be installed inside the container. putting her in a box, respectfully πŸŽ€
  • --with-extension <COMMAND> β€” add stdio extensions from full commands with environment variables. can be specified multiple times. format:
'[name:]ENV1=val1 ENV2=val2 command args...'

without the optional name, the extension is named after the command β€” which is the launcher for anything started through one ('npx', 'python', 'uvx', ...). extensions that would end up sharing a name are instead named after their full command line. she's thorough ✨

  • --with-streamable-http-extension <URL> β€” add streamable HTTP extensions from a URL. can be specified multiple times. format: 'url...' or 'url... timeout=100' to set up a timeout other than default 🌈
  • --with-builtin <NAME> β€” add one or more builtin extensions that are bundled with goose by specifying their names, comma-separated. bundled = free real estate πŸ¦‹
  • --no-profile β€” don't load your default extensions, only use CLI-specified extensions. strict queen behavior πŸ‘‘
  • -q, --quiet β€” quiet mode. suppress non-response output, printing only the model response to stdout. shhh 🀫
  • --output-format <FORMAT> [default: text] β€” output format (text, json, stream-json). possible values:
    • text
    • json
    • stream-json

pick your fighter πŸ’œ

  • --provider <PROVIDER> β€” override the GOOSE_PROVIDER environment variable for this run. available providers include openai, anthropic, ollama, databricks, gemini-cli, claude-code, and others. so many options, so little time 🌸
  • --model <MODEL> β€” override the GOOSE_MODEL environment variable for this run. the model must be supported by the specified provider, no cap ⭐
  • -h, --help β€” print help (see a summary with -h). the classic 🫢

πŸ”₯ SEE ALSO πŸ”₯

literally the whole friend group: goose(1), goose-acp(1), goose-completion(1), goose-configure(1), goose-doctor(1), goose-gateway(1), goose-info(1), goose-mcp(1), goose-plugin(1), goose-recipe(1), goose-review(1), goose-schedule(1), goose-serve(1), goose-session(1), goose-skills(1), goose-term(1). go say hi πŸ’–


ngl, if you're about to run something automated, remember that --no-session exists and --max-tool-repetitions is your bestie against infinite loops. you're welcome 😭

and that's the page, bestie πŸŽ€ this one's from the General Commands Manual, run(1), and the footer says run on both sides β€” dated run(1), source and version exactly as she came. mwah πŸ’‹βœ¨

πŸ“¦ where this page comes from
  • opensuse-leap 16.0: goose 1.51.0-bp160.1.1 Β· Apache-2.0 AND BSD-2-Clause AND BSD-3-Clause AND CC0-1.0 AND CDLA-Permissive-2.0 AND ISC AND LGPL-3.0-or-later AND MIT AND MIT-0 AND MPL-2.0 AND Unicode-3.0 AND Zlib AND bzip2-1.0.6
  • opensuse-leap 16.0: goose 1.51.0-bp160.1.1 Β· Apache-2.0 AND BSD-2-Clause AND BSD-3-Clause AND CC0-1.0 AND CDLA-Permissive-2.0 AND ISC AND LGPL-3.0-or-later AND MIT AND MIT-0 AND MPL-2.0 AND Unicode-3.0 AND Zlib AND bzip2-1.0.6
  • πŸ’– girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms