#compdef goose

autoload -U is-at-least

_goose() {
    typeset -A opt_args
    typeset -a _arguments_options
    local ret=1

    if is-at-least 5.2; then
        _arguments_options=(-s -S -C)
    else
        _arguments_options=(-s -C)
    fi

    local context curcontext="$curcontext" state line
    _arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
":: :_goose_commands" \
"*::: :->goose" \
&& ret=0
    case $state in
    (goose)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:goose-command-$line[1]:"
        case $line[1] in
            (configure)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(info)
_arguments "${_arguments_options[@]}" : \
'-v[Show verbose information including config.yaml]' \
'--verbose[Show verbose information including config.yaml]' \
'--check[Test provider connection and show status]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(doctor)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(mcp)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
':server:_default' \
&& ret=0
;;
(acp)
_arguments "${_arguments_options[@]}" : \
'*--with-builtin=[Add builtin extensions by name (e.g., '\''developer'\'' or multiple\: '\''developer,github'\'')]:NAME:_default' \
'--enable-scheduler[Enable scheduled recipe execution]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(serve)
_arguments "${_arguments_options[@]}" : \
'--host=[]:HOST:_default' \
'--port=[]:PORT:_default' \
'--tls-cert-path=[]:PATH:_default' \
'--tls-key-path=[]:PATH:_default' \
'--platform=[]:PLATFORM:(cli desktop)' \
'*--with-builtin=[Add builtin extensions by name (e.g., '\''developer'\'' or multiple\: '\''developer,github'\'')]:NAME:_default' \
'*--allowed-origin=[Allow an exact Origin value for ACP CORS; may be specified multiple times and replaces the default loopback origins]:ORIGIN:_default' \
'--tls[Serve ACP over TLS]' \
'--dangerously-unauthenticated[Start the ACP endpoint without requiring GOOSE_SERVER__SECRET_KEY]' \
'--enable-scheduler[Enable scheduled recipe execution]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(session)
_arguments "${_arguments_options[@]}" : \
'-n+[Name for the chat session (e.g., '\''project-x'\'')]:NAME:_default' \
'--name=[Name for the chat session (e.g., '\''project-x'\'')]:NAME:_default' \
'--session-id=[Session ID (e.g., '\''20250921_143022'\'')]:SESSION_ID:_default' \
'--path=[Legacy\: Path for the chat session]:PATH:_files' \
'--max-tool-repetitions=[Maximum number of consecutive identical tool calls allowed]:NUMBER:_default' \
'--max-turns=[Maximum number of turns allowed without user input (default\: 1000)]:NUMBER:_default' \
'--container=[Docker container ID to run extensions inside]:CONTAINER_ID:_default' \
'*--with-extension=[Add stdio extensions (can be specified multiple times)]:COMMAND:_default' \
'*--with-streamable-http-extension=[Add streamable HTTP extensions (can be specified multiple times)]:URL:_default' \
'*--with-builtin=[Add builtin extensions by name (e.g., '\''developer'\'' or multiple\: '\''developer,github'\'')]:NAME:_default' \
'--provider=[Specify the LLM provider to use (e.g., '\''openai'\'', '\''anthropic'\'')]:PROVIDER:_default' \
'--model=[Specify the model to use (e.g., '\''gpt-4o'\'', '\''claude-sonnet-4-20250514'\'')]:MODEL:_default' \
'-r[Resume a previous session (last used or specified by --name/--session-id)]' \
'--resume[Resume a previous session (last used or specified by --name/--session-id)]' \
'--fork[Fork a previous session (creates new session with copied history)]' \
'--edit[Edit the session conversation in \$EDITOR before starting]' \
'--history[Show previous messages when resuming a session]' \
'--debug[Enable debug output mode with full content and no truncation]' \
'--no-profile[Don'\''t load your default extensions, only use CLI-specified extensions]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
":: :_goose__subcmd__session_commands" \
"*::: :->session" \
&& ret=0

    case $state in
    (session)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:goose-session-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
'-f+[Output format (text, json)]:FORMAT:_default' \
'--format=[Output format (text, json)]:FORMAT:_default' \
'-w+[Filter sessions by working directory]:WORKING_DIR:_files' \
'--working_dir=[Filter sessions by working directory]:WORKING_DIR:_files' \
'-l+[Limit the number of results]:LIMIT:_default' \
'--limit=[Limit the number of results]:LIMIT:_default' \
'--ascending[Sort by date in ascending order (oldest first)]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(remove)
_arguments "${_arguments_options[@]}" : \
'-n+[Name for the chat session (e.g., '\''project-x'\'')]:NAME:_default' \
'--name=[Name for the chat session (e.g., '\''project-x'\'')]:NAME:_default' \
'--session-id=[Session ID (e.g., '\''20250921_143022'\'')]:SESSION_ID:_default' \
'--path=[Legacy\: Path for the chat session]:PATH:_files' \
'-r+[Regex for removing matched sessions (optional)]:REGEX:_default' \
'--regex=[Regex for removing matched sessions (optional)]:REGEX:_default' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(export)
_arguments "${_arguments_options[@]}" : \
'-n+[Name for the chat session (e.g., '\''project-x'\'')]:NAME:_default' \
'--name=[Name for the chat session (e.g., '\''project-x'\'')]:NAME:_default' \
'--session-id=[Session ID (e.g., '\''20250921_143022'\'')]:SESSION_ID:_default' \
'--path=[Legacy\: Path for the chat session]:PATH:_files' \
'-o+[Output file path (default\: stdout)]:OUTPUT:_files' \
'--output=[Output file path (default\: stdout)]:OUTPUT:_files' \
'--format=[Output format (markdown, json, yaml)]:FORMAT:_default' \
'*--relay=[Nostr relay URL to publish to (can be specified multiple times)]:RELAY:_default' \
'--nostr[Publish the JSON session export as an encrypted Nostr event and print a Goose share link]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(import)
_arguments "${_arguments_options[@]}" : \
'--nostr[Treat input as an encrypted Nostr share link]' \
'-h[Print help]' \
'--help[Print help]' \
':input -- Path to a goose session export, a Claude Code, Codex, or Pi .jsonl transcript, or a goose\://sessions/nostr share link:_default' \
&& ret=0
;;
(diagnostics)
_arguments "${_arguments_options[@]}" : \
'-n+[Name for the chat session (e.g., '\''project-x'\'')]:NAME:_default' \
'--name=[Name for the chat session (e.g., '\''project-x'\'')]:NAME:_default' \
'--session-id=[Session ID (e.g., '\''20250921_143022'\'')]:SESSION_ID:_default' \
'--path=[Legacy\: Path for the chat session]:PATH:_files' \
'-o+[]:OUTPUT:_files' \
'--output=[]:OUTPUT:_files' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_goose__subcmd__session__subcmd__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:goose-session-help-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(remove)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(export)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(import)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(diagnostics)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(s)
_arguments "${_arguments_options[@]}" : \
'-n+[Name for the chat session (e.g., '\''project-x'\'')]:NAME:_default' \
'--name=[Name for the chat session (e.g., '\''project-x'\'')]:NAME:_default' \
'--session-id=[Session ID (e.g., '\''20250921_143022'\'')]:SESSION_ID:_default' \
'--path=[Legacy\: Path for the chat session]:PATH:_files' \
'--max-tool-repetitions=[Maximum number of consecutive identical tool calls allowed]:NUMBER:_default' \
'--max-turns=[Maximum number of turns allowed without user input (default\: 1000)]:NUMBER:_default' \
'--container=[Docker container ID to run extensions inside]:CONTAINER_ID:_default' \
'*--with-extension=[Add stdio extensions (can be specified multiple times)]:COMMAND:_default' \
'*--with-streamable-http-extension=[Add streamable HTTP extensions (can be specified multiple times)]:URL:_default' \
'*--with-builtin=[Add builtin extensions by name (e.g., '\''developer'\'' or multiple\: '\''developer,github'\'')]:NAME:_default' \
'--provider=[Specify the LLM provider to use (e.g., '\''openai'\'', '\''anthropic'\'')]:PROVIDER:_default' \
'--model=[Specify the model to use (e.g., '\''gpt-4o'\'', '\''claude-sonnet-4-20250514'\'')]:MODEL:_default' \
'-r[Resume a previous session (last used or specified by --name/--session-id)]' \
'--resume[Resume a previous session (last used or specified by --name/--session-id)]' \
'--fork[Fork a previous session (creates new session with copied history)]' \
'--edit[Edit the session conversation in \$EDITOR before starting]' \
'--history[Show previous messages when resuming a session]' \
'--debug[Enable debug output mode with full content and no truncation]' \
'--no-profile[Don'\''t load your default extensions, only use CLI-specified extensions]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
":: :_goose__subcmd__session_commands" \
"*::: :->session" \
&& ret=0

    case $state in
    (session)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:goose-session-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
'-f+[Output format (text, json)]:FORMAT:_default' \
'--format=[Output format (text, json)]:FORMAT:_default' \
'-w+[Filter sessions by working directory]:WORKING_DIR:_files' \
'--working_dir=[Filter sessions by working directory]:WORKING_DIR:_files' \
'-l+[Limit the number of results]:LIMIT:_default' \
'--limit=[Limit the number of results]:LIMIT:_default' \
'--ascending[Sort by date in ascending order (oldest first)]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(remove)
_arguments "${_arguments_options[@]}" : \
'-n+[Name for the chat session (e.g., '\''project-x'\'')]:NAME:_default' \
'--name=[Name for the chat session (e.g., '\''project-x'\'')]:NAME:_default' \
'--session-id=[Session ID (e.g., '\''20250921_143022'\'')]:SESSION_ID:_default' \
'--path=[Legacy\: Path for the chat session]:PATH:_files' \
'-r+[Regex for removing matched sessions (optional)]:REGEX:_default' \
'--regex=[Regex for removing matched sessions (optional)]:REGEX:_default' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(export)
_arguments "${_arguments_options[@]}" : \
'-n+[Name for the chat session (e.g., '\''project-x'\'')]:NAME:_default' \
'--name=[Name for the chat session (e.g., '\''project-x'\'')]:NAME:_default' \
'--session-id=[Session ID (e.g., '\''20250921_143022'\'')]:SESSION_ID:_default' \
'--path=[Legacy\: Path for the chat session]:PATH:_files' \
'-o+[Output file path (default\: stdout)]:OUTPUT:_files' \
'--output=[Output file path (default\: stdout)]:OUTPUT:_files' \
'--format=[Output format (markdown, json, yaml)]:FORMAT:_default' \
'*--relay=[Nostr relay URL to publish to (can be specified multiple times)]:RELAY:_default' \
'--nostr[Publish the JSON session export as an encrypted Nostr event and print a Goose share link]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(import)
_arguments "${_arguments_options[@]}" : \
'--nostr[Treat input as an encrypted Nostr share link]' \
'-h[Print help]' \
'--help[Print help]' \
':input -- Path to a goose session export, a Claude Code, Codex, or Pi .jsonl transcript, or a goose\://sessions/nostr share link:_default' \
&& ret=0
;;
(diagnostics)
_arguments "${_arguments_options[@]}" : \
'-n+[Name for the chat session (e.g., '\''project-x'\'')]:NAME:_default' \
'--name=[Name for the chat session (e.g., '\''project-x'\'')]:NAME:_default' \
'--session-id=[Session ID (e.g., '\''20250921_143022'\'')]:SESSION_ID:_default' \
'--path=[Legacy\: Path for the chat session]:PATH:_files' \
'-o+[]:OUTPUT:_files' \
'--output=[]:OUTPUT:_files' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_goose__subcmd__session__subcmd__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:goose-session-help-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(remove)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(export)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(import)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(diagnostics)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(run)
_arguments "${_arguments_options[@]}" : \
'(-t --text --recipe)-i+[Path to instruction file containing commands. Use - for stdin.]:FILE:_default' \
'(-t --text --recipe)--instructions=[Path to instruction file containing commands. Use - for stdin.]:FILE:_default' \
'(-i --instructions --recipe)-t+[Input text to provide to goose directly]:TEXT:_default' \
'(-i --instructions --recipe)--text=[Input text to provide to goose directly]:TEXT:_default' \
'(-i --instructions -t --text)--recipe=[Recipe name to get recipe file or the full path of the recipe file (use --explain to see recipe details)]:RECIPE_NAME or FULL_PATH_TO_RECIPE_FILE:_default' \
'(--recipe)--system=[Additional system prompt to customize agent behavior]:TEXT:_default' \
'*--params=[Dynamic parameters (e.g., --params username=alice --params channel_name=goose-channel)]:KEY=VALUE:_default' \
'*--sub-recipe=[Sub-recipe name or file path (can be specified multiple times)]:RECIPE:_default' \
'-n+[Name for the chat session (e.g., '\''project-x'\'')]:NAME:_default' \
'--name=[Name for the chat session (e.g., '\''project-x'\'')]:NAME:_default' \
'--session-id=[Session ID (e.g., '\''20250921_143022'\'')]:SESSION_ID:_default' \
'--path=[Legacy\: Path for the chat session]:PATH:_files' \
'--scheduled-job-id=[ID of the scheduled job that triggered this execution (internal use)]:ID:_default' \
'--max-tool-repetitions=[Maximum number of consecutive identical tool calls allowed]:NUMBER:_default' \
'--max-turns=[Maximum number of turns allowed without user input (default\: 1000)]:NUMBER:_default' \
'--container=[Docker container ID to run extensions inside]:CONTAINER_ID:_default' \
'*--with-extension=[Add stdio extensions (can be specified multiple times)]:COMMAND:_default' \
'*--with-streamable-http-extension=[Add streamable HTTP extensions (can be specified multiple times)]:URL:_default' \
'*--with-builtin=[Add builtin extensions by name (e.g., '\''developer'\'' or multiple\: '\''developer,github'\'')]:NAME:_default' \
'--output-format=[Output format (text, json, stream-json)]:FORMAT:(text json stream-json)' \
'--provider=[Specify the LLM provider to use (e.g., '\''openai'\'', '\''anthropic'\'')]:PROVIDER:_default' \
'--model=[Specify the model to use (e.g., '\''gpt-4o'\'', '\''claude-sonnet-4-20250514'\'')]:MODEL:_default' \
'--explain[Show the recipe title, description, and parameters]' \
'--render-recipe[Print the rendered recipe instead of running it.]' \
'-s[Continue in interactive mode after processing initial input]' \
'--interactive[Continue in interactive mode after processing initial input]' \
'(-r --resume -n --name --path)--no-session[Run without storing a session file]' \
'-r[Resume from a previous run]' \
'--resume[Resume from a previous run]' \
'--stats[Print generation statistics after the run completes]' \
'--debug[Enable debug output mode with full content and no truncation]' \
'--no-profile[Don'\''t load your default extensions, only use CLI-specified extensions]' \
'-q[Quiet mode. Suppress non-response output, printing only the model response to stdout]' \
'--quiet[Quiet mode. Suppress non-response output, printing only the model response to stdout]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(recipe)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
":: :_goose__subcmd__recipe_commands" \
"*::: :->recipe" \
&& ret=0

    case $state in
    (recipe)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:goose-recipe-command-$line[1]:"
        case $line[1] in
            (validate)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
':recipe_name -- recipe name to get recipe file or full path to the recipe file to validate:_default' \
&& ret=0
;;
(deeplink)
_arguments "${_arguments_options[@]}" : \
'*-p+[Recipe parameter in key=value format (can be specified multiple times)]:KEY=VALUE:_default' \
'*--param=[Recipe parameter in key=value format (can be specified multiple times)]:KEY=VALUE:_default' \
'-h[Print help]' \
'--help[Print help]' \
':recipe_name -- recipe name to get recipe file or full path to the recipe file to generate deeplink:_default' \
&& ret=0
;;
(open)
_arguments "${_arguments_options[@]}" : \
'*-p+[Recipe parameter in key=value format (can be specified multiple times)]:KEY=VALUE:_default' \
'*--param=[Recipe parameter in key=value format (can be specified multiple times)]:KEY=VALUE:_default' \
'-h[Print help]' \
'--help[Print help]' \
':recipe_name -- recipe name or full path to the recipe file:_default' \
&& ret=0
;;
(list)
_arguments "${_arguments_options[@]}" : \
'--format=[Output format (text, json)]:FORMAT:_default' \
'-v[Show verbose information including recipe descriptions]' \
'--verbose[Show verbose information including recipe descriptions]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_goose__subcmd__recipe__subcmd__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:goose-recipe-help-command-$line[1]:"
        case $line[1] in
            (validate)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(deeplink)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(open)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(skills)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
":: :_goose__subcmd__skills_commands" \
"*::: :->skills" \
&& ret=0

    case $state in
    (skills)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:goose-skills-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_goose__subcmd__skills__subcmd__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:goose-skills-help-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(plugin)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
":: :_goose__subcmd__plugin_commands" \
"*::: :->plugin" \
&& ret=0

    case $state in
    (plugin)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:goose-plugin-command-$line[1]:"
        case $line[1] in
            (install)
_arguments "${_arguments_options[@]}" : \
'--auto-update[Automatically update this plugin before plugin skills are loaded]' \
'-h[Print help]' \
'--help[Print help]' \
':url -- URL to a git repository containing a supported plugin:_default' \
&& ret=0
;;
(update)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
':name -- Name of the installed plugin to update:_default' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_goose__subcmd__plugin__subcmd__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:goose-plugin-help-command-$line[1]:"
        case $line[1] in
            (install)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(update)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(schedule)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
":: :_goose__subcmd__schedule_commands" \
"*::: :->schedule" \
&& ret=0

    case $state in
    (schedule)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:goose-schedule-command-$line[1]:"
        case $line[1] in
            (add)
_arguments "${_arguments_options[@]}" : \
'--schedule-id=[Unique ID for the recurring scheduled job]:SCHEDULE_ID:_default' \
'--cron=[Cron expression for the schedule]:CRON:_default' \
'--recipe-source=[Recipe source (path to file, or base64 encoded recipe string)]:RECIPE_SOURCE:_default' \
'*--params=[Recipe parameter in KEY=VALUE format (can be specified multiple times)]:KEY=VALUE:_default' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(list)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(remove)
_arguments "${_arguments_options[@]}" : \
'--schedule-id=[ID of the scheduled job to remove (removes the recurring schedule)]:SCHEDULE_ID:_default' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(sessions)
_arguments "${_arguments_options[@]}" : \
'--schedule-id=[ID of the schedule]:SCHEDULE_ID:_default' \
'-l+[Maximum number of sessions to return]:LIMIT:_default' \
'--limit=[Maximum number of sessions to return]:LIMIT:_default' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(run-now)
_arguments "${_arguments_options[@]}" : \
'--schedule-id=[ID of the schedule to run]:SCHEDULE_ID:_default' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(services-status)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(services-stop)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(cron-help)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_goose__subcmd__schedule__subcmd__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:goose-schedule-help-command-$line[1]:"
        case $line[1] in
            (add)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(remove)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(sessions)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(run-now)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(services-status)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(services-stop)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(cron-help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(sched)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
":: :_goose__subcmd__schedule_commands" \
"*::: :->schedule" \
&& ret=0

    case $state in
    (schedule)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:goose-schedule-command-$line[1]:"
        case $line[1] in
            (add)
_arguments "${_arguments_options[@]}" : \
'--schedule-id=[Unique ID for the recurring scheduled job]:SCHEDULE_ID:_default' \
'--cron=[Cron expression for the schedule]:CRON:_default' \
'--recipe-source=[Recipe source (path to file, or base64 encoded recipe string)]:RECIPE_SOURCE:_default' \
'*--params=[Recipe parameter in KEY=VALUE format (can be specified multiple times)]:KEY=VALUE:_default' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(list)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(remove)
_arguments "${_arguments_options[@]}" : \
'--schedule-id=[ID of the scheduled job to remove (removes the recurring schedule)]:SCHEDULE_ID:_default' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(sessions)
_arguments "${_arguments_options[@]}" : \
'--schedule-id=[ID of the schedule]:SCHEDULE_ID:_default' \
'-l+[Maximum number of sessions to return]:LIMIT:_default' \
'--limit=[Maximum number of sessions to return]:LIMIT:_default' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(run-now)
_arguments "${_arguments_options[@]}" : \
'--schedule-id=[ID of the schedule to run]:SCHEDULE_ID:_default' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(services-status)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(services-stop)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(cron-help)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_goose__subcmd__schedule__subcmd__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:goose-schedule-help-command-$line[1]:"
        case $line[1] in
            (add)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(remove)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(sessions)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(run-now)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(services-status)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(services-stop)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(cron-help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(gateway)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
":: :_goose__subcmd__gateway_commands" \
"*::: :->gateway" \
&& ret=0

    case $state in
    (gateway)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:goose-gateway-command-$line[1]:"
        case $line[1] in
            (status)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(start)
_arguments "${_arguments_options[@]}" : \
'--bot-token=[Bot token for the gateway platform]:BOT_TOKEN:_default' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':gateway_type -- Gateway type (e.g., '\''telegram'\''):_default' \
&& ret=0
;;
(stop)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
':gateway_type -- Gateway type to stop (e.g., '\''telegram'\''):_default' \
&& ret=0
;;
(pair)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
':gateway_type -- Gateway type to generate pairing code for:_default' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_goose__subcmd__gateway__subcmd__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:goose-gateway-help-command-$line[1]:"
        case $line[1] in
            (status)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(start)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(stop)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(pair)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(gw)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
":: :_goose__subcmd__gateway_commands" \
"*::: :->gateway" \
&& ret=0

    case $state in
    (gateway)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:goose-gateway-command-$line[1]:"
        case $line[1] in
            (status)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(start)
_arguments "${_arguments_options[@]}" : \
'--bot-token=[Bot token for the gateway platform]:BOT_TOKEN:_default' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':gateway_type -- Gateway type (e.g., '\''telegram'\''):_default' \
&& ret=0
;;
(stop)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
':gateway_type -- Gateway type to stop (e.g., '\''telegram'\''):_default' \
&& ret=0
;;
(pair)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
':gateway_type -- Gateway type to generate pairing code for:_default' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_goose__subcmd__gateway__subcmd__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:goose-gateway-help-command-$line[1]:"
        case $line[1] in
            (status)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(start)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(stop)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(pair)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(term)
_arguments "${_arguments_options[@]}" : \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
":: :_goose__subcmd__term_commands" \
"*::: :->term" \
&& ret=0

    case $state in
    (term)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:goose-term-command-$line[1]:"
        case $line[1] in
            (init)
_arguments "${_arguments_options[@]}" : \
'-n+[Name for the terminal session]:NAME:_default' \
'--name=[Name for the terminal session]:NAME:_default' \
'--default[Make goose the default handler for unknown commands]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':shell -- Shell type (bash, zsh, fish, nu, powershell):(bash zsh fish nu powershell)' \
&& ret=0
;;
(log)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
':command -- The command that was executed:_default' \
&& ret=0
;;
(run)
_arguments "${_arguments_options[@]}" : \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'*::prompt -- The prompt to send to goose (multiple words allowed without quotes):_default' \
&& ret=0
;;
(info)
_arguments "${_arguments_options[@]}" : \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_goose__subcmd__term__subcmd__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:goose-term-help-command-$line[1]:"
        case $line[1] in
            (init)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(log)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(run)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(info)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(tui)
_arguments "${_arguments_options[@]}" : \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'*::args -- Arguments forwarded to the TUI:_default' \
&& ret=0
;;
(completion)
_arguments "${_arguments_options[@]}" : \
'--bin-name=[Provide a custom binary name]:BIN_NAME:_default' \
'-h[Print help]' \
'--help[Print help]' \
':shell:(bash elvish fish powershell nu zsh)' \
&& ret=0
;;
(review)
_arguments "${_arguments_options[@]}" : \
'--prompt=[Path to a Markdown file with a custom base review prompt. Replaces the embedded default prompt]:FILE:_files' \
'--model=[Default model used for the main review agent and for any check that does not declare its own \`model\:\` in frontmatter]:MODEL:_default' \
'--provider=[Provider for the main review agent]:PROVIDER:_default' \
'--override-model=[Force every discovered check to use this model, regardless of the check'\''s own \`model\:\` field]:MODEL:_default' \
'--turn-limit=[Default \`turn-limit\` for orchestrated main-pass subprocesses and for checks that do not declare their own. Does not cap the legacy \`--no-orchestrate\` in-process main agent]:N:_default' \
'-i+[Additional free-form instructions to prepend to the review (e.g. PR intent, commit-message context, "this is a refactor, flag any behavior change"). Mirrors \`amp review --instructions\` for drop-in compatibility with existing reviewer wrappers]:TEXT:_default' \
'--instructions=[Additional free-form instructions to prepend to the review (e.g. PR intent, commit-message context, "this is a refactor, flag any behavior change"). Mirrors \`amp review --instructions\` for drop-in compatibility with existing reviewer wrappers]:TEXT:_default' \
'*-f+[Restrict the review to a specific set of files. Other files in the diff are still passed to the agent for context but are excluded from the assembled diff sent to checks. Mirrors \`amp review --files\`]:FILE:_default' \
'*--files=[Restrict the review to a specific set of files. Other files in the diff are still passed to the agent for context but are excluded from the assembled diff sent to checks. Mirrors \`amp review --files\`]:FILE:_default' \
'*-c+[Only run checks whose \`name\` matches one of these. Other discovered checks are skipped. Mirrors \`amp review --check-filter\`]:NAME:_default' \
'*--check-filter=[Only run checks whose \`name\` matches one of these. Other discovered checks are skipped. Mirrors \`amp review --check-filter\`]:NAME:_default' \
'-s+[Alternate directory to search for \`.agents/checks/*.md\` instead of the repo root. Mirrors \`amp review --check-scope\`]:DIR:_files' \
'--check-scope=[Alternate directory to search for \`.agents/checks/*.md\` instead of the repo root. Mirrors \`amp review --check-scope\`]:DIR:_files' \
'--severity=[Minimum severity to display. Findings below this rank are dropped from the output. Default is \`medium\`, matching Amp'\''s CLI which hides \`low\` from review output. Pass \`--severity low\` to surface every finding]:LEVEL:_default' \
'--dry-run[Print the assembled review prompt and discovered checks instead of running the review]' \
'-q[Suppress non-result output from the underlying agent]' \
'--quiet[Suppress non-result output from the underlying agent]' \
'--no-orchestrate[Disable the Rust-driven parallel orchestrator and fall back to the single-prompt path that asks the main agent to delegate each check via \`delegate(... async\: true ...)\`. The default orchestrator dispatches one \`goose run\` subprocess per check (capped at 4 concurrent), bounding wall-clock to the slowest single check rather than waiting on the model to issue dispatches. Checks with an explicit tool allowlist require the default orchestrator]' \
'--checks-only[Skip the main correctness pass and only run check subagents. Mirrors \`amp review --checks-only\`]' \
'--summary-only[Print only the diff summary; skip the full review. Mirrors \`amp review --summary-only\`]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'::range -- Diff range to review (e.g. "main...HEAD"). Defaults to the working tree vs HEAD:_default' \
&& ret=0
;;
(validate-extensions)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
':file -- Path to the bundled-extensions.json file:_files' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_goose__subcmd__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:goose-help-command-$line[1]:"
        case $line[1] in
            (configure)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(info)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(doctor)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(mcp)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(acp)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(serve)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(session)
_arguments "${_arguments_options[@]}" : \
":: :_goose__subcmd__help__subcmd__session_commands" \
"*::: :->session" \
&& ret=0

    case $state in
    (session)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:goose-help-session-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(remove)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(export)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(import)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(diagnostics)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(run)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(recipe)
_arguments "${_arguments_options[@]}" : \
":: :_goose__subcmd__help__subcmd__recipe_commands" \
"*::: :->recipe" \
&& ret=0

    case $state in
    (recipe)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:goose-help-recipe-command-$line[1]:"
        case $line[1] in
            (validate)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(deeplink)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(open)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(skills)
_arguments "${_arguments_options[@]}" : \
":: :_goose__subcmd__help__subcmd__skills_commands" \
"*::: :->skills" \
&& ret=0

    case $state in
    (skills)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:goose-help-skills-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(plugin)
_arguments "${_arguments_options[@]}" : \
":: :_goose__subcmd__help__subcmd__plugin_commands" \
"*::: :->plugin" \
&& ret=0

    case $state in
    (plugin)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:goose-help-plugin-command-$line[1]:"
        case $line[1] in
            (install)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(update)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(schedule)
_arguments "${_arguments_options[@]}" : \
":: :_goose__subcmd__help__subcmd__schedule_commands" \
"*::: :->schedule" \
&& ret=0

    case $state in
    (schedule)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:goose-help-schedule-command-$line[1]:"
        case $line[1] in
            (add)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(remove)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(sessions)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(run-now)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(services-status)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(services-stop)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(cron-help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(gateway)
_arguments "${_arguments_options[@]}" : \
":: :_goose__subcmd__help__subcmd__gateway_commands" \
"*::: :->gateway" \
&& ret=0

    case $state in
    (gateway)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:goose-help-gateway-command-$line[1]:"
        case $line[1] in
            (status)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(start)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(stop)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(pair)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(term)
_arguments "${_arguments_options[@]}" : \
":: :_goose__subcmd__help__subcmd__term_commands" \
"*::: :->term" \
&& ret=0

    case $state in
    (term)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:goose-help-term-command-$line[1]:"
        case $line[1] in
            (init)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(log)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(run)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(info)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(tui)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(completion)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(review)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(validate-extensions)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
}

(( $+functions[_goose_commands] )) ||
_goose_commands() {
    local commands; commands=(
'configure:Configure goose settings' \
'info:Display goose information' \
'doctor:Check that your Goose setup is working' \
'mcp:Run one of the mcp servers bundled with goose' \
'acp:Run goose as an ACP agent server on stdio' \
'serve:Start ACP server over HTTP and WebSocket' \
'session:Start or resume interactive chat sessions' \
's:Start or resume interactive chat sessions' \
'run:Execute commands from an instruction file or stdin' \
'recipe:Recipe utilities for validation and deeplinking' \
'skills:Skill utilities' \
'plugin:Manage plugins' \
'schedule:Manage scheduled jobs' \
'sched:Manage scheduled jobs' \
'gateway:Manage gateways for external platform integrations' \
'gw:Manage gateways for external platform integrations' \
'term:Terminal-integrated goose session' \
'tui:Launch the goose terminal UI' \
'completion:Generate the autocompletion script or Nushell module for the specified shell' \
'review:Review the current diff using goose' \
'validate-extensions:Validate a bundled-extensions.json file' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'goose commands' commands "$@"
}
(( $+functions[_goose__subcmd__acp_commands] )) ||
_goose__subcmd__acp_commands() {
    local commands; commands=()
    _describe -t commands 'goose acp commands' commands "$@"
}
(( $+functions[_goose__subcmd__completion_commands] )) ||
_goose__subcmd__completion_commands() {
    local commands; commands=()
    _describe -t commands 'goose completion commands' commands "$@"
}
(( $+functions[_goose__subcmd__configure_commands] )) ||
_goose__subcmd__configure_commands() {
    local commands; commands=()
    _describe -t commands 'goose configure commands' commands "$@"
}
(( $+functions[_goose__subcmd__doctor_commands] )) ||
_goose__subcmd__doctor_commands() {
    local commands; commands=()
    _describe -t commands 'goose doctor commands' commands "$@"
}
(( $+functions[_goose__subcmd__gateway_commands] )) ||
_goose__subcmd__gateway_commands() {
    local commands; commands=(
'status:Show gateway status' \
'start:Start a gateway' \
'stop:Stop a running gateway' \
'pair:Generate a pairing code for a gateway' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'goose gateway commands' commands "$@"
}
(( $+functions[_goose__subcmd__gateway__subcmd__help_commands] )) ||
_goose__subcmd__gateway__subcmd__help_commands() {
    local commands; commands=(
'status:Show gateway status' \
'start:Start a gateway' \
'stop:Stop a running gateway' \
'pair:Generate a pairing code for a gateway' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'goose gateway help commands' commands "$@"
}
(( $+functions[_goose__subcmd__gateway__subcmd__help__subcmd__help_commands] )) ||
_goose__subcmd__gateway__subcmd__help__subcmd__help_commands() {
    local commands; commands=()
    _describe -t commands 'goose gateway help help commands' commands "$@"
}
(( $+functions[_goose__subcmd__gateway__subcmd__help__subcmd__pair_commands] )) ||
_goose__subcmd__gateway__subcmd__help__subcmd__pair_commands() {
    local commands; commands=()
    _describe -t commands 'goose gateway help pair commands' commands "$@"
}
(( $+functions[_goose__subcmd__gateway__subcmd__help__subcmd__start_commands] )) ||
_goose__subcmd__gateway__subcmd__help__subcmd__start_commands() {
    local commands; commands=()
    _describe -t commands 'goose gateway help start commands' commands "$@"
}
(( $+functions[_goose__subcmd__gateway__subcmd__help__subcmd__status_commands] )) ||
_goose__subcmd__gateway__subcmd__help__subcmd__status_commands() {
    local commands; commands=()
    _describe -t commands 'goose gateway help status commands' commands "$@"
}
(( $+functions[_goose__subcmd__gateway__subcmd__help__subcmd__stop_commands] )) ||
_goose__subcmd__gateway__subcmd__help__subcmd__stop_commands() {
    local commands; commands=()
    _describe -t commands 'goose gateway help stop commands' commands "$@"
}
(( $+functions[_goose__subcmd__gateway__subcmd__pair_commands] )) ||
_goose__subcmd__gateway__subcmd__pair_commands() {
    local commands; commands=()
    _describe -t commands 'goose gateway pair commands' commands "$@"
}
(( $+functions[_goose__subcmd__gateway__subcmd__start_commands] )) ||
_goose__subcmd__gateway__subcmd__start_commands() {
    local commands; commands=()
    _describe -t commands 'goose gateway start commands' commands "$@"
}
(( $+functions[_goose__subcmd__gateway__subcmd__status_commands] )) ||
_goose__subcmd__gateway__subcmd__status_commands() {
    local commands; commands=()
    _describe -t commands 'goose gateway status commands' commands "$@"
}
(( $+functions[_goose__subcmd__gateway__subcmd__stop_commands] )) ||
_goose__subcmd__gateway__subcmd__stop_commands() {
    local commands; commands=()
    _describe -t commands 'goose gateway stop commands' commands "$@"
}
(( $+functions[_goose__subcmd__help_commands] )) ||
_goose__subcmd__help_commands() {
    local commands; commands=(
'configure:Configure goose settings' \
'info:Display goose information' \
'doctor:Check that your Goose setup is working' \
'mcp:Run one of the mcp servers bundled with goose' \
'acp:Run goose as an ACP agent server on stdio' \
'serve:Start ACP server over HTTP and WebSocket' \
'session:Start or resume interactive chat sessions' \
'run:Execute commands from an instruction file or stdin' \
'recipe:Recipe utilities for validation and deeplinking' \
'skills:Skill utilities' \
'plugin:Manage plugins' \
'schedule:Manage scheduled jobs' \
'gateway:Manage gateways for external platform integrations' \
'term:Terminal-integrated goose session' \
'tui:Launch the goose terminal UI' \
'completion:Generate the autocompletion script or Nushell module for the specified shell' \
'review:Review the current diff using goose' \
'validate-extensions:Validate a bundled-extensions.json file' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'goose help commands' commands "$@"
}
(( $+functions[_goose__subcmd__help__subcmd__acp_commands] )) ||
_goose__subcmd__help__subcmd__acp_commands() {
    local commands; commands=()
    _describe -t commands 'goose help acp commands' commands "$@"
}
(( $+functions[_goose__subcmd__help__subcmd__completion_commands] )) ||
_goose__subcmd__help__subcmd__completion_commands() {
    local commands; commands=()
    _describe -t commands 'goose help completion commands' commands "$@"
}
(( $+functions[_goose__subcmd__help__subcmd__configure_commands] )) ||
_goose__subcmd__help__subcmd__configure_commands() {
    local commands; commands=()
    _describe -t commands 'goose help configure commands' commands "$@"
}
(( $+functions[_goose__subcmd__help__subcmd__doctor_commands] )) ||
_goose__subcmd__help__subcmd__doctor_commands() {
    local commands; commands=()
    _describe -t commands 'goose help doctor commands' commands "$@"
}
(( $+functions[_goose__subcmd__help__subcmd__gateway_commands] )) ||
_goose__subcmd__help__subcmd__gateway_commands() {
    local commands; commands=(
'status:Show gateway status' \
'start:Start a gateway' \
'stop:Stop a running gateway' \
'pair:Generate a pairing code for a gateway' \
    )
    _describe -t commands 'goose help gateway commands' commands "$@"
}
(( $+functions[_goose__subcmd__help__subcmd__gateway__subcmd__pair_commands] )) ||
_goose__subcmd__help__subcmd__gateway__subcmd__pair_commands() {
    local commands; commands=()
    _describe -t commands 'goose help gateway pair commands' commands "$@"
}
(( $+functions[_goose__subcmd__help__subcmd__gateway__subcmd__start_commands] )) ||
_goose__subcmd__help__subcmd__gateway__subcmd__start_commands() {
    local commands; commands=()
    _describe -t commands 'goose help gateway start commands' commands "$@"
}
(( $+functions[_goose__subcmd__help__subcmd__gateway__subcmd__status_commands] )) ||
_goose__subcmd__help__subcmd__gateway__subcmd__status_commands() {
    local commands; commands=()
    _describe -t commands 'goose help gateway status commands' commands "$@"
}
(( $+functions[_goose__subcmd__help__subcmd__gateway__subcmd__stop_commands] )) ||
_goose__subcmd__help__subcmd__gateway__subcmd__stop_commands() {
    local commands; commands=()
    _describe -t commands 'goose help gateway stop commands' commands "$@"
}
(( $+functions[_goose__subcmd__help__subcmd__help_commands] )) ||
_goose__subcmd__help__subcmd__help_commands() {
    local commands; commands=()
    _describe -t commands 'goose help help commands' commands "$@"
}
(( $+functions[_goose__subcmd__help__subcmd__info_commands] )) ||
_goose__subcmd__help__subcmd__info_commands() {
    local commands; commands=()
    _describe -t commands 'goose help info commands' commands "$@"
}
(( $+functions[_goose__subcmd__help__subcmd__mcp_commands] )) ||
_goose__subcmd__help__subcmd__mcp_commands() {
    local commands; commands=()
    _describe -t commands 'goose help mcp commands' commands "$@"
}
(( $+functions[_goose__subcmd__help__subcmd__plugin_commands] )) ||
_goose__subcmd__help__subcmd__plugin_commands() {
    local commands; commands=(
'install:Install a plugin from a git repository URL' \
'update:Update an installed git-backed plugin' \
    )
    _describe -t commands 'goose help plugin commands' commands "$@"
}
(( $+functions[_goose__subcmd__help__subcmd__plugin__subcmd__install_commands] )) ||
_goose__subcmd__help__subcmd__plugin__subcmd__install_commands() {
    local commands; commands=()
    _describe -t commands 'goose help plugin install commands' commands "$@"
}
(( $+functions[_goose__subcmd__help__subcmd__plugin__subcmd__update_commands] )) ||
_goose__subcmd__help__subcmd__plugin__subcmd__update_commands() {
    local commands; commands=()
    _describe -t commands 'goose help plugin update commands' commands "$@"
}
(( $+functions[_goose__subcmd__help__subcmd__recipe_commands] )) ||
_goose__subcmd__help__subcmd__recipe_commands() {
    local commands; commands=(
'validate:Validate a recipe' \
'deeplink:Generate a deeplink for a recipe' \
'open:Open a recipe in Goose Desktop' \
'list:List available recipes' \
    )
    _describe -t commands 'goose help recipe commands' commands "$@"
}
(( $+functions[_goose__subcmd__help__subcmd__recipe__subcmd__deeplink_commands] )) ||
_goose__subcmd__help__subcmd__recipe__subcmd__deeplink_commands() {
    local commands; commands=()
    _describe -t commands 'goose help recipe deeplink commands' commands "$@"
}
(( $+functions[_goose__subcmd__help__subcmd__recipe__subcmd__list_commands] )) ||
_goose__subcmd__help__subcmd__recipe__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'goose help recipe list commands' commands "$@"
}
(( $+functions[_goose__subcmd__help__subcmd__recipe__subcmd__open_commands] )) ||
_goose__subcmd__help__subcmd__recipe__subcmd__open_commands() {
    local commands; commands=()
    _describe -t commands 'goose help recipe open commands' commands "$@"
}
(( $+functions[_goose__subcmd__help__subcmd__recipe__subcmd__validate_commands] )) ||
_goose__subcmd__help__subcmd__recipe__subcmd__validate_commands() {
    local commands; commands=()
    _describe -t commands 'goose help recipe validate commands' commands "$@"
}
(( $+functions[_goose__subcmd__help__subcmd__review_commands] )) ||
_goose__subcmd__help__subcmd__review_commands() {
    local commands; commands=()
    _describe -t commands 'goose help review commands' commands "$@"
}
(( $+functions[_goose__subcmd__help__subcmd__run_commands] )) ||
_goose__subcmd__help__subcmd__run_commands() {
    local commands; commands=()
    _describe -t commands 'goose help run commands' commands "$@"
}
(( $+functions[_goose__subcmd__help__subcmd__schedule_commands] )) ||
_goose__subcmd__help__subcmd__schedule_commands() {
    local commands; commands=(
'add:Add a new scheduled job' \
'list:List all scheduled jobs' \
'remove:Remove a scheduled job by ID' \
'sessions:List sessions created by a specific schedule' \
'run-now:Run a scheduled job immediately' \
'services-status:\[Deprecated\] Check status of scheduler services' \
'services-stop:\[Deprecated\] Stop scheduler services' \
'cron-help:Show cron expression examples and help' \
    )
    _describe -t commands 'goose help schedule commands' commands "$@"
}
(( $+functions[_goose__subcmd__help__subcmd__schedule__subcmd__add_commands] )) ||
_goose__subcmd__help__subcmd__schedule__subcmd__add_commands() {
    local commands; commands=()
    _describe -t commands 'goose help schedule add commands' commands "$@"
}
(( $+functions[_goose__subcmd__help__subcmd__schedule__subcmd__cron-help_commands] )) ||
_goose__subcmd__help__subcmd__schedule__subcmd__cron-help_commands() {
    local commands; commands=()
    _describe -t commands 'goose help schedule cron-help commands' commands "$@"
}
(( $+functions[_goose__subcmd__help__subcmd__schedule__subcmd__list_commands] )) ||
_goose__subcmd__help__subcmd__schedule__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'goose help schedule list commands' commands "$@"
}
(( $+functions[_goose__subcmd__help__subcmd__schedule__subcmd__remove_commands] )) ||
_goose__subcmd__help__subcmd__schedule__subcmd__remove_commands() {
    local commands; commands=()
    _describe -t commands 'goose help schedule remove commands' commands "$@"
}
(( $+functions[_goose__subcmd__help__subcmd__schedule__subcmd__run-now_commands] )) ||
_goose__subcmd__help__subcmd__schedule__subcmd__run-now_commands() {
    local commands; commands=()
    _describe -t commands 'goose help schedule run-now commands' commands "$@"
}
(( $+functions[_goose__subcmd__help__subcmd__schedule__subcmd__services-status_commands] )) ||
_goose__subcmd__help__subcmd__schedule__subcmd__services-status_commands() {
    local commands; commands=()
    _describe -t commands 'goose help schedule services-status commands' commands "$@"
}
(( $+functions[_goose__subcmd__help__subcmd__schedule__subcmd__services-stop_commands] )) ||
_goose__subcmd__help__subcmd__schedule__subcmd__services-stop_commands() {
    local commands; commands=()
    _describe -t commands 'goose help schedule services-stop commands' commands "$@"
}
(( $+functions[_goose__subcmd__help__subcmd__schedule__subcmd__sessions_commands] )) ||
_goose__subcmd__help__subcmd__schedule__subcmd__sessions_commands() {
    local commands; commands=()
    _describe -t commands 'goose help schedule sessions commands' commands "$@"
}
(( $+functions[_goose__subcmd__help__subcmd__serve_commands] )) ||
_goose__subcmd__help__subcmd__serve_commands() {
    local commands; commands=()
    _describe -t commands 'goose help serve commands' commands "$@"
}
(( $+functions[_goose__subcmd__help__subcmd__session_commands] )) ||
_goose__subcmd__help__subcmd__session_commands() {
    local commands; commands=(
'list:List all available sessions' \
'remove:Remove sessions. Runs interactively if no ID, name, or regex is provided.' \
'export:Export a session' \
'import:Import a session from JSON, a Claude Code / Codex / Pi .jsonl, or an encrypted Nostr share link' \
'diagnostics:' \
    )
    _describe -t commands 'goose help session commands' commands "$@"
}
(( $+functions[_goose__subcmd__help__subcmd__session__subcmd__diagnostics_commands] )) ||
_goose__subcmd__help__subcmd__session__subcmd__diagnostics_commands() {
    local commands; commands=()
    _describe -t commands 'goose help session diagnostics commands' commands "$@"
}
(( $+functions[_goose__subcmd__help__subcmd__session__subcmd__export_commands] )) ||
_goose__subcmd__help__subcmd__session__subcmd__export_commands() {
    local commands; commands=()
    _describe -t commands 'goose help session export commands' commands "$@"
}
(( $+functions[_goose__subcmd__help__subcmd__session__subcmd__import_commands] )) ||
_goose__subcmd__help__subcmd__session__subcmd__import_commands() {
    local commands; commands=()
    _describe -t commands 'goose help session import commands' commands "$@"
}
(( $+functions[_goose__subcmd__help__subcmd__session__subcmd__list_commands] )) ||
_goose__subcmd__help__subcmd__session__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'goose help session list commands' commands "$@"
}
(( $+functions[_goose__subcmd__help__subcmd__session__subcmd__remove_commands] )) ||
_goose__subcmd__help__subcmd__session__subcmd__remove_commands() {
    local commands; commands=()
    _describe -t commands 'goose help session remove commands' commands "$@"
}
(( $+functions[_goose__subcmd__help__subcmd__skills_commands] )) ||
_goose__subcmd__help__subcmd__skills_commands() {
    local commands; commands=(
'list:List all skills available to the goose agent' \
    )
    _describe -t commands 'goose help skills commands' commands "$@"
}
(( $+functions[_goose__subcmd__help__subcmd__skills__subcmd__list_commands] )) ||
_goose__subcmd__help__subcmd__skills__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'goose help skills list commands' commands "$@"
}
(( $+functions[_goose__subcmd__help__subcmd__term_commands] )) ||
_goose__subcmd__help__subcmd__term_commands() {
    local commands; commands=(
'init:Print shell initialization script' \
'log:Log a shell command to the session' \
'run:Run a prompt in the terminal session' \
'info:Print session info for prompt integration' \
    )
    _describe -t commands 'goose help term commands' commands "$@"
}
(( $+functions[_goose__subcmd__help__subcmd__term__subcmd__info_commands] )) ||
_goose__subcmd__help__subcmd__term__subcmd__info_commands() {
    local commands; commands=()
    _describe -t commands 'goose help term info commands' commands "$@"
}
(( $+functions[_goose__subcmd__help__subcmd__term__subcmd__init_commands] )) ||
_goose__subcmd__help__subcmd__term__subcmd__init_commands() {
    local commands; commands=()
    _describe -t commands 'goose help term init commands' commands "$@"
}
(( $+functions[_goose__subcmd__help__subcmd__term__subcmd__log_commands] )) ||
_goose__subcmd__help__subcmd__term__subcmd__log_commands() {
    local commands; commands=()
    _describe -t commands 'goose help term log commands' commands "$@"
}
(( $+functions[_goose__subcmd__help__subcmd__term__subcmd__run_commands] )) ||
_goose__subcmd__help__subcmd__term__subcmd__run_commands() {
    local commands; commands=()
    _describe -t commands 'goose help term run commands' commands "$@"
}
(( $+functions[_goose__subcmd__help__subcmd__tui_commands] )) ||
_goose__subcmd__help__subcmd__tui_commands() {
    local commands; commands=()
    _describe -t commands 'goose help tui commands' commands "$@"
}
(( $+functions[_goose__subcmd__help__subcmd__validate-extensions_commands] )) ||
_goose__subcmd__help__subcmd__validate-extensions_commands() {
    local commands; commands=()
    _describe -t commands 'goose help validate-extensions commands' commands "$@"
}
(( $+functions[_goose__subcmd__info_commands] )) ||
_goose__subcmd__info_commands() {
    local commands; commands=()
    _describe -t commands 'goose info commands' commands "$@"
}
(( $+functions[_goose__subcmd__mcp_commands] )) ||
_goose__subcmd__mcp_commands() {
    local commands; commands=()
    _describe -t commands 'goose mcp commands' commands "$@"
}
(( $+functions[_goose__subcmd__plugin_commands] )) ||
_goose__subcmd__plugin_commands() {
    local commands; commands=(
'install:Install a plugin from a git repository URL' \
'update:Update an installed git-backed plugin' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'goose plugin commands' commands "$@"
}
(( $+functions[_goose__subcmd__plugin__subcmd__help_commands] )) ||
_goose__subcmd__plugin__subcmd__help_commands() {
    local commands; commands=(
'install:Install a plugin from a git repository URL' \
'update:Update an installed git-backed plugin' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'goose plugin help commands' commands "$@"
}
(( $+functions[_goose__subcmd__plugin__subcmd__help__subcmd__help_commands] )) ||
_goose__subcmd__plugin__subcmd__help__subcmd__help_commands() {
    local commands; commands=()
    _describe -t commands 'goose plugin help help commands' commands "$@"
}
(( $+functions[_goose__subcmd__plugin__subcmd__help__subcmd__install_commands] )) ||
_goose__subcmd__plugin__subcmd__help__subcmd__install_commands() {
    local commands; commands=()
    _describe -t commands 'goose plugin help install commands' commands "$@"
}
(( $+functions[_goose__subcmd__plugin__subcmd__help__subcmd__update_commands] )) ||
_goose__subcmd__plugin__subcmd__help__subcmd__update_commands() {
    local commands; commands=()
    _describe -t commands 'goose plugin help update commands' commands "$@"
}
(( $+functions[_goose__subcmd__plugin__subcmd__install_commands] )) ||
_goose__subcmd__plugin__subcmd__install_commands() {
    local commands; commands=()
    _describe -t commands 'goose plugin install commands' commands "$@"
}
(( $+functions[_goose__subcmd__plugin__subcmd__update_commands] )) ||
_goose__subcmd__plugin__subcmd__update_commands() {
    local commands; commands=()
    _describe -t commands 'goose plugin update commands' commands "$@"
}
(( $+functions[_goose__subcmd__recipe_commands] )) ||
_goose__subcmd__recipe_commands() {
    local commands; commands=(
'validate:Validate a recipe' \
'deeplink:Generate a deeplink for a recipe' \
'open:Open a recipe in Goose Desktop' \
'list:List available recipes' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'goose recipe commands' commands "$@"
}
(( $+functions[_goose__subcmd__recipe__subcmd__deeplink_commands] )) ||
_goose__subcmd__recipe__subcmd__deeplink_commands() {
    local commands; commands=()
    _describe -t commands 'goose recipe deeplink commands' commands "$@"
}
(( $+functions[_goose__subcmd__recipe__subcmd__help_commands] )) ||
_goose__subcmd__recipe__subcmd__help_commands() {
    local commands; commands=(
'validate:Validate a recipe' \
'deeplink:Generate a deeplink for a recipe' \
'open:Open a recipe in Goose Desktop' \
'list:List available recipes' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'goose recipe help commands' commands "$@"
}
(( $+functions[_goose__subcmd__recipe__subcmd__help__subcmd__deeplink_commands] )) ||
_goose__subcmd__recipe__subcmd__help__subcmd__deeplink_commands() {
    local commands; commands=()
    _describe -t commands 'goose recipe help deeplink commands' commands "$@"
}
(( $+functions[_goose__subcmd__recipe__subcmd__help__subcmd__help_commands] )) ||
_goose__subcmd__recipe__subcmd__help__subcmd__help_commands() {
    local commands; commands=()
    _describe -t commands 'goose recipe help help commands' commands "$@"
}
(( $+functions[_goose__subcmd__recipe__subcmd__help__subcmd__list_commands] )) ||
_goose__subcmd__recipe__subcmd__help__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'goose recipe help list commands' commands "$@"
}
(( $+functions[_goose__subcmd__recipe__subcmd__help__subcmd__open_commands] )) ||
_goose__subcmd__recipe__subcmd__help__subcmd__open_commands() {
    local commands; commands=()
    _describe -t commands 'goose recipe help open commands' commands "$@"
}
(( $+functions[_goose__subcmd__recipe__subcmd__help__subcmd__validate_commands] )) ||
_goose__subcmd__recipe__subcmd__help__subcmd__validate_commands() {
    local commands; commands=()
    _describe -t commands 'goose recipe help validate commands' commands "$@"
}
(( $+functions[_goose__subcmd__recipe__subcmd__list_commands] )) ||
_goose__subcmd__recipe__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'goose recipe list commands' commands "$@"
}
(( $+functions[_goose__subcmd__recipe__subcmd__open_commands] )) ||
_goose__subcmd__recipe__subcmd__open_commands() {
    local commands; commands=()
    _describe -t commands 'goose recipe open commands' commands "$@"
}
(( $+functions[_goose__subcmd__recipe__subcmd__validate_commands] )) ||
_goose__subcmd__recipe__subcmd__validate_commands() {
    local commands; commands=()
    _describe -t commands 'goose recipe validate commands' commands "$@"
}
(( $+functions[_goose__subcmd__review_commands] )) ||
_goose__subcmd__review_commands() {
    local commands; commands=()
    _describe -t commands 'goose review commands' commands "$@"
}
(( $+functions[_goose__subcmd__run_commands] )) ||
_goose__subcmd__run_commands() {
    local commands; commands=()
    _describe -t commands 'goose run commands' commands "$@"
}
(( $+functions[_goose__subcmd__schedule_commands] )) ||
_goose__subcmd__schedule_commands() {
    local commands; commands=(
'add:Add a new scheduled job' \
'list:List all scheduled jobs' \
'remove:Remove a scheduled job by ID' \
'sessions:List sessions created by a specific schedule' \
'run-now:Run a scheduled job immediately' \
'services-status:\[Deprecated\] Check status of scheduler services' \
'services-stop:\[Deprecated\] Stop scheduler services' \
'cron-help:Show cron expression examples and help' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'goose schedule commands' commands "$@"
}
(( $+functions[_goose__subcmd__schedule__subcmd__add_commands] )) ||
_goose__subcmd__schedule__subcmd__add_commands() {
    local commands; commands=()
    _describe -t commands 'goose schedule add commands' commands "$@"
}
(( $+functions[_goose__subcmd__schedule__subcmd__cron-help_commands] )) ||
_goose__subcmd__schedule__subcmd__cron-help_commands() {
    local commands; commands=()
    _describe -t commands 'goose schedule cron-help commands' commands "$@"
}
(( $+functions[_goose__subcmd__schedule__subcmd__help_commands] )) ||
_goose__subcmd__schedule__subcmd__help_commands() {
    local commands; commands=(
'add:Add a new scheduled job' \
'list:List all scheduled jobs' \
'remove:Remove a scheduled job by ID' \
'sessions:List sessions created by a specific schedule' \
'run-now:Run a scheduled job immediately' \
'services-status:\[Deprecated\] Check status of scheduler services' \
'services-stop:\[Deprecated\] Stop scheduler services' \
'cron-help:Show cron expression examples and help' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'goose schedule help commands' commands "$@"
}
(( $+functions[_goose__subcmd__schedule__subcmd__help__subcmd__add_commands] )) ||
_goose__subcmd__schedule__subcmd__help__subcmd__add_commands() {
    local commands; commands=()
    _describe -t commands 'goose schedule help add commands' commands "$@"
}
(( $+functions[_goose__subcmd__schedule__subcmd__help__subcmd__cron-help_commands] )) ||
_goose__subcmd__schedule__subcmd__help__subcmd__cron-help_commands() {
    local commands; commands=()
    _describe -t commands 'goose schedule help cron-help commands' commands "$@"
}
(( $+functions[_goose__subcmd__schedule__subcmd__help__subcmd__help_commands] )) ||
_goose__subcmd__schedule__subcmd__help__subcmd__help_commands() {
    local commands; commands=()
    _describe -t commands 'goose schedule help help commands' commands "$@"
}
(( $+functions[_goose__subcmd__schedule__subcmd__help__subcmd__list_commands] )) ||
_goose__subcmd__schedule__subcmd__help__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'goose schedule help list commands' commands "$@"
}
(( $+functions[_goose__subcmd__schedule__subcmd__help__subcmd__remove_commands] )) ||
_goose__subcmd__schedule__subcmd__help__subcmd__remove_commands() {
    local commands; commands=()
    _describe -t commands 'goose schedule help remove commands' commands "$@"
}
(( $+functions[_goose__subcmd__schedule__subcmd__help__subcmd__run-now_commands] )) ||
_goose__subcmd__schedule__subcmd__help__subcmd__run-now_commands() {
    local commands; commands=()
    _describe -t commands 'goose schedule help run-now commands' commands "$@"
}
(( $+functions[_goose__subcmd__schedule__subcmd__help__subcmd__services-status_commands] )) ||
_goose__subcmd__schedule__subcmd__help__subcmd__services-status_commands() {
    local commands; commands=()
    _describe -t commands 'goose schedule help services-status commands' commands "$@"
}
(( $+functions[_goose__subcmd__schedule__subcmd__help__subcmd__services-stop_commands] )) ||
_goose__subcmd__schedule__subcmd__help__subcmd__services-stop_commands() {
    local commands; commands=()
    _describe -t commands 'goose schedule help services-stop commands' commands "$@"
}
(( $+functions[_goose__subcmd__schedule__subcmd__help__subcmd__sessions_commands] )) ||
_goose__subcmd__schedule__subcmd__help__subcmd__sessions_commands() {
    local commands; commands=()
    _describe -t commands 'goose schedule help sessions commands' commands "$@"
}
(( $+functions[_goose__subcmd__schedule__subcmd__list_commands] )) ||
_goose__subcmd__schedule__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'goose schedule list commands' commands "$@"
}
(( $+functions[_goose__subcmd__schedule__subcmd__remove_commands] )) ||
_goose__subcmd__schedule__subcmd__remove_commands() {
    local commands; commands=()
    _describe -t commands 'goose schedule remove commands' commands "$@"
}
(( $+functions[_goose__subcmd__schedule__subcmd__run-now_commands] )) ||
_goose__subcmd__schedule__subcmd__run-now_commands() {
    local commands; commands=()
    _describe -t commands 'goose schedule run-now commands' commands "$@"
}
(( $+functions[_goose__subcmd__schedule__subcmd__services-status_commands] )) ||
_goose__subcmd__schedule__subcmd__services-status_commands() {
    local commands; commands=()
    _describe -t commands 'goose schedule services-status commands' commands "$@"
}
(( $+functions[_goose__subcmd__schedule__subcmd__services-stop_commands] )) ||
_goose__subcmd__schedule__subcmd__services-stop_commands() {
    local commands; commands=()
    _describe -t commands 'goose schedule services-stop commands' commands "$@"
}
(( $+functions[_goose__subcmd__schedule__subcmd__sessions_commands] )) ||
_goose__subcmd__schedule__subcmd__sessions_commands() {
    local commands; commands=()
    _describe -t commands 'goose schedule sessions commands' commands "$@"
}
(( $+functions[_goose__subcmd__serve_commands] )) ||
_goose__subcmd__serve_commands() {
    local commands; commands=()
    _describe -t commands 'goose serve commands' commands "$@"
}
(( $+functions[_goose__subcmd__session_commands] )) ||
_goose__subcmd__session_commands() {
    local commands; commands=(
'list:List all available sessions' \
'remove:Remove sessions. Runs interactively if no ID, name, or regex is provided.' \
'export:Export a session' \
'import:Import a session from JSON, a Claude Code / Codex / Pi .jsonl, or an encrypted Nostr share link' \
'diagnostics:' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'goose session commands' commands "$@"
}
(( $+functions[_goose__subcmd__session__subcmd__diagnostics_commands] )) ||
_goose__subcmd__session__subcmd__diagnostics_commands() {
    local commands; commands=()
    _describe -t commands 'goose session diagnostics commands' commands "$@"
}
(( $+functions[_goose__subcmd__session__subcmd__export_commands] )) ||
_goose__subcmd__session__subcmd__export_commands() {
    local commands; commands=()
    _describe -t commands 'goose session export commands' commands "$@"
}
(( $+functions[_goose__subcmd__session__subcmd__help_commands] )) ||
_goose__subcmd__session__subcmd__help_commands() {
    local commands; commands=(
'list:List all available sessions' \
'remove:Remove sessions. Runs interactively if no ID, name, or regex is provided.' \
'export:Export a session' \
'import:Import a session from JSON, a Claude Code / Codex / Pi .jsonl, or an encrypted Nostr share link' \
'diagnostics:' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'goose session help commands' commands "$@"
}
(( $+functions[_goose__subcmd__session__subcmd__help__subcmd__diagnostics_commands] )) ||
_goose__subcmd__session__subcmd__help__subcmd__diagnostics_commands() {
    local commands; commands=()
    _describe -t commands 'goose session help diagnostics commands' commands "$@"
}
(( $+functions[_goose__subcmd__session__subcmd__help__subcmd__export_commands] )) ||
_goose__subcmd__session__subcmd__help__subcmd__export_commands() {
    local commands; commands=()
    _describe -t commands 'goose session help export commands' commands "$@"
}
(( $+functions[_goose__subcmd__session__subcmd__help__subcmd__help_commands] )) ||
_goose__subcmd__session__subcmd__help__subcmd__help_commands() {
    local commands; commands=()
    _describe -t commands 'goose session help help commands' commands "$@"
}
(( $+functions[_goose__subcmd__session__subcmd__help__subcmd__import_commands] )) ||
_goose__subcmd__session__subcmd__help__subcmd__import_commands() {
    local commands; commands=()
    _describe -t commands 'goose session help import commands' commands "$@"
}
(( $+functions[_goose__subcmd__session__subcmd__help__subcmd__list_commands] )) ||
_goose__subcmd__session__subcmd__help__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'goose session help list commands' commands "$@"
}
(( $+functions[_goose__subcmd__session__subcmd__help__subcmd__remove_commands] )) ||
_goose__subcmd__session__subcmd__help__subcmd__remove_commands() {
    local commands; commands=()
    _describe -t commands 'goose session help remove commands' commands "$@"
}
(( $+functions[_goose__subcmd__session__subcmd__import_commands] )) ||
_goose__subcmd__session__subcmd__import_commands() {
    local commands; commands=()
    _describe -t commands 'goose session import commands' commands "$@"
}
(( $+functions[_goose__subcmd__session__subcmd__list_commands] )) ||
_goose__subcmd__session__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'goose session list commands' commands "$@"
}
(( $+functions[_goose__subcmd__session__subcmd__remove_commands] )) ||
_goose__subcmd__session__subcmd__remove_commands() {
    local commands; commands=()
    _describe -t commands 'goose session remove commands' commands "$@"
}
(( $+functions[_goose__subcmd__skills_commands] )) ||
_goose__subcmd__skills_commands() {
    local commands; commands=(
'list:List all skills available to the goose agent' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'goose skills commands' commands "$@"
}
(( $+functions[_goose__subcmd__skills__subcmd__help_commands] )) ||
_goose__subcmd__skills__subcmd__help_commands() {
    local commands; commands=(
'list:List all skills available to the goose agent' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'goose skills help commands' commands "$@"
}
(( $+functions[_goose__subcmd__skills__subcmd__help__subcmd__help_commands] )) ||
_goose__subcmd__skills__subcmd__help__subcmd__help_commands() {
    local commands; commands=()
    _describe -t commands 'goose skills help help commands' commands "$@"
}
(( $+functions[_goose__subcmd__skills__subcmd__help__subcmd__list_commands] )) ||
_goose__subcmd__skills__subcmd__help__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'goose skills help list commands' commands "$@"
}
(( $+functions[_goose__subcmd__skills__subcmd__list_commands] )) ||
_goose__subcmd__skills__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'goose skills list commands' commands "$@"
}
(( $+functions[_goose__subcmd__term_commands] )) ||
_goose__subcmd__term_commands() {
    local commands; commands=(
'init:Print shell initialization script' \
'log:Log a shell command to the session' \
'run:Run a prompt in the terminal session' \
'info:Print session info for prompt integration' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'goose term commands' commands "$@"
}
(( $+functions[_goose__subcmd__term__subcmd__help_commands] )) ||
_goose__subcmd__term__subcmd__help_commands() {
    local commands; commands=(
'init:Print shell initialization script' \
'log:Log a shell command to the session' \
'run:Run a prompt in the terminal session' \
'info:Print session info for prompt integration' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'goose term help commands' commands "$@"
}
(( $+functions[_goose__subcmd__term__subcmd__help__subcmd__help_commands] )) ||
_goose__subcmd__term__subcmd__help__subcmd__help_commands() {
    local commands; commands=()
    _describe -t commands 'goose term help help commands' commands "$@"
}
(( $+functions[_goose__subcmd__term__subcmd__help__subcmd__info_commands] )) ||
_goose__subcmd__term__subcmd__help__subcmd__info_commands() {
    local commands; commands=()
    _describe -t commands 'goose term help info commands' commands "$@"
}
(( $+functions[_goose__subcmd__term__subcmd__help__subcmd__init_commands] )) ||
_goose__subcmd__term__subcmd__help__subcmd__init_commands() {
    local commands; commands=()
    _describe -t commands 'goose term help init commands' commands "$@"
}
(( $+functions[_goose__subcmd__term__subcmd__help__subcmd__log_commands] )) ||
_goose__subcmd__term__subcmd__help__subcmd__log_commands() {
    local commands; commands=()
    _describe -t commands 'goose term help log commands' commands "$@"
}
(( $+functions[_goose__subcmd__term__subcmd__help__subcmd__run_commands] )) ||
_goose__subcmd__term__subcmd__help__subcmd__run_commands() {
    local commands; commands=()
    _describe -t commands 'goose term help run commands' commands "$@"
}
(( $+functions[_goose__subcmd__term__subcmd__info_commands] )) ||
_goose__subcmd__term__subcmd__info_commands() {
    local commands; commands=()
    _describe -t commands 'goose term info commands' commands "$@"
}
(( $+functions[_goose__subcmd__term__subcmd__init_commands] )) ||
_goose__subcmd__term__subcmd__init_commands() {
    local commands; commands=()
    _describe -t commands 'goose term init commands' commands "$@"
}
(( $+functions[_goose__subcmd__term__subcmd__log_commands] )) ||
_goose__subcmd__term__subcmd__log_commands() {
    local commands; commands=()
    _describe -t commands 'goose term log commands' commands "$@"
}
(( $+functions[_goose__subcmd__term__subcmd__run_commands] )) ||
_goose__subcmd__term__subcmd__run_commands() {
    local commands; commands=()
    _describe -t commands 'goose term run commands' commands "$@"
}
(( $+functions[_goose__subcmd__tui_commands] )) ||
_goose__subcmd__tui_commands() {
    local commands; commands=()
    _describe -t commands 'goose tui commands' commands "$@"
}
(( $+functions[_goose__subcmd__validate-extensions_commands] )) ||
_goose__subcmd__validate-extensions_commands() {
    local commands; commands=()
    _describe -t commands 'goose validate-extensions commands' commands "$@"
}

if [ "$funcstack[1]" = "_goose" ]; then
    _goose "$@"
else
    compdef _goose goose
fi
