run(1)
π 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--explainif 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_REPOis configured) - local file paths to YAML files
- recipe names from GitHub (if
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:textjsonstream-json
pick your fighter π
--provider <PROVIDER>β override theGOOSE_PROVIDERenvironment variable for this run. available providers includeopenai,anthropic,ollama,databricks,gemini-cli,claude-code, and others. so many options, so little time πΈ--model <MODEL>β override theGOOSE_MODELenvironment 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-sessionexists and--max-tool-repetitionsis 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