mirror of
https://github.com/aaif-goose/goose.git
synced 2026-07-03 14:10:03 +02:00
docs: reorganizing CLI commands (#4566)
This commit is contained in:
@@ -2,15 +2,15 @@
|
||||
sidebar_position: 7
|
||||
title: CLI Commands
|
||||
sidebar_label: CLI Commands
|
||||
toc_max_heading_level: 4
|
||||
---
|
||||
|
||||
Goose provides a command-line interface (CLI) with several commands for managing sessions, configurations and extensions. Below is a list of the available commands and their descriptions:
|
||||
Goose provides a command-line interface (CLI) with several commands for managing sessions, configurations and extensions. This guide covers all available CLI commands and interactive session features.
|
||||
|
||||
## Commands
|
||||
### Core Commands
|
||||
|
||||
### help
|
||||
|
||||
Used to display the help menu
|
||||
#### help
|
||||
Display the help menu.
|
||||
|
||||
**Usage:**
|
||||
```bash
|
||||
@@ -19,8 +19,7 @@ goose --help
|
||||
|
||||
---
|
||||
|
||||
### configure [options]
|
||||
|
||||
#### configure
|
||||
Configure Goose settings - providers, extensions, etc.
|
||||
|
||||
**Usage:**
|
||||
@@ -30,235 +29,128 @@ goose configure
|
||||
|
||||
---
|
||||
|
||||
### session [options]
|
||||
#### info [options]
|
||||
Shows Goose information, including the version, configuration file location, session storage, and logs.
|
||||
|
||||
#### Start a session and give it a name
|
||||
|
||||
**Options:**
|
||||
|
||||
**`-n, --name <n>`**
|
||||
|
||||
**Usage:**
|
||||
|
||||
```bash
|
||||
goose session --name <n>
|
||||
```
|
||||
---
|
||||
|
||||
#### Resume a previous session
|
||||
|
||||
**Options:**
|
||||
|
||||
**`-r, --resume`**
|
||||
|
||||
**Usage:**
|
||||
|
||||
```bash
|
||||
goose session --resume --name <n>
|
||||
```
|
||||
Or, if you didn't name your session, you can locate it by the session id generated by Goose, e.g. `2025250620_013617`.
|
||||
```bash
|
||||
goose session --resume --id <id>
|
||||
```
|
||||
---
|
||||
|
||||
#### Start a session with the specified extension
|
||||
|
||||
**Options:**
|
||||
|
||||
**`--with-extension <command>`**
|
||||
|
||||
**Usage:**
|
||||
|
||||
```bash
|
||||
goose session --with-extension <command>
|
||||
```
|
||||
|
||||
**Examples:**
|
||||
|
||||
```bash
|
||||
goose session --with-extension "npx -y @modelcontextprotocol/server-memory"
|
||||
```
|
||||
|
||||
With environment variable:
|
||||
|
||||
```bash
|
||||
goose session --with-extension "GITHUB_PERSONAL_ACCESS_TOKEN=<YOUR_TOKEN> npx -y @modelcontextprotocol/server-github"
|
||||
```
|
||||
---
|
||||
|
||||
#### Start a session with the specified remote extension over SSE
|
||||
|
||||
**Options:**
|
||||
|
||||
**`--with-remote-extension <url>`**
|
||||
|
||||
**Usage:**
|
||||
|
||||
```bash
|
||||
goose session --with-remote-extension <url>
|
||||
```
|
||||
|
||||
**Examples:**
|
||||
|
||||
```bash
|
||||
goose session --with-remote-extension "http://localhost:8080/sse"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
#### Start a session with the specified remote extension over Streaming HTTP
|
||||
|
||||
**Options:**
|
||||
|
||||
**`--with-streamable-http-extension <url>`**
|
||||
|
||||
**Usage:**
|
||||
|
||||
```bash
|
||||
goose session --with-streamable-http-extension <url>
|
||||
```
|
||||
|
||||
**Examples:**
|
||||
|
||||
```bash
|
||||
goose session --with-streamable-http-extension "https://example.com/streamable"
|
||||
```
|
||||
|
||||
**Advanced Examples:**
|
||||
|
||||
```bash
|
||||
# Start a session with a streamable HTTP extension
|
||||
goose session --with-streamable-http-extension "http://api.example.com"
|
||||
|
||||
# Use multiple streamable HTTP extensions
|
||||
goose session \
|
||||
--with-streamable-http-extension "http://api1.example.com" \
|
||||
--with-streamable-http-extension "http://api2.example.com"
|
||||
|
||||
# Mix different extension types
|
||||
goose session \
|
||||
--with-extension "echo hello" \
|
||||
--with-remote-extension "http://sse.example.com/sse" \
|
||||
--with-streamable-http-extension "http://http.example.com" \
|
||||
--with-builtin "developer"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
#### Start a session with the specified [built-in extension](/docs/getting-started/using-extensions#built-in-extensions) enabled (e.g. 'developer')
|
||||
|
||||
**Options:**
|
||||
|
||||
**`--with-builtin <id>`**
|
||||
|
||||
**Usage:**
|
||||
|
||||
```bash
|
||||
goose session --with-builtin <id>
|
||||
```
|
||||
|
||||
**Example:**
|
||||
|
||||
```bash
|
||||
goose session --with-builtin computercontroller
|
||||
```
|
||||
---
|
||||
|
||||
#### Enable debug mode to output complete tool responses, detailed parameter values, and full file paths
|
||||
|
||||
**Options:**
|
||||
|
||||
**`--debug`**
|
||||
|
||||
**Usage:**
|
||||
|
||||
```bash
|
||||
goose session --name my-session --debug
|
||||
```
|
||||
---
|
||||
|
||||
#### Limit the maximum number of turns the agent can take before asking for user input to continue
|
||||
|
||||
**Options:**
|
||||
|
||||
**`--max-turns <NUMBER>`**
|
||||
|
||||
**Usage:**
|
||||
|
||||
```bash
|
||||
goose session --max-turns 50
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
#### Set the [maximum number of turns](/docs/guides/sessions/smart-context-management#maximum-turns) allowed without user input (default: 1000)
|
||||
|
||||
**Options:**
|
||||
|
||||
**`--max-turns <NUMBER>`**
|
||||
|
||||
**Usage:**
|
||||
|
||||
```bash
|
||||
goose session --max-turns 10
|
||||
```
|
||||
|
||||
**Examples:**
|
||||
|
||||
```bash
|
||||
# Low limit for step-by-step control
|
||||
goose session --max-turns 3
|
||||
|
||||
# Moderate limit for controlled automation
|
||||
goose session --max-turns 25
|
||||
|
||||
# Combined with other options
|
||||
goose session --name my-project --max-turns 10 --debug
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### session list [options]
|
||||
|
||||
List all saved sessions.
|
||||
|
||||
- **`-v, --verbose`**: (Optional) Includes session file paths in the output.
|
||||
- **`-f, --format <format>`**: Specify output format (`text` or `json`). Default is `text`.
|
||||
- **`--ascending`**: Sort sessions by date in ascending order (oldest first). Default is descending order (newest first).
|
||||
**Options:**
|
||||
- **`-v, --verbose`**: Show detailed configuration settings, including environment variables and enabled extensions
|
||||
|
||||
**Usage:**
|
||||
```bash
|
||||
goose info
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
#### version
|
||||
Check the current Goose version you have installed.
|
||||
|
||||
**Usage:**
|
||||
```bash
|
||||
goose --version
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
#### update [options]
|
||||
Update the Goose CLI to a newer version.
|
||||
|
||||
**Options:**
|
||||
- **`--canary, -c`**: Update to the canary (development) version instead of the stable version
|
||||
- **`--reconfigure, -r`**: Forces Goose to reset configuration settings during the update process
|
||||
|
||||
**Usage:**
|
||||
```bash
|
||||
# Update to latest stable version
|
||||
goose update
|
||||
|
||||
# Update to latest canary version
|
||||
goose update --canary
|
||||
|
||||
# Update and reconfigure settings
|
||||
goose update --reconfigure
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Session Management
|
||||
|
||||
#### session [options]
|
||||
Start or resume interactive chat sessions.
|
||||
|
||||
**Basic Options:**
|
||||
- **`-n, --name <name>`**: Give the session a name
|
||||
- **`-r, --resume`**: Resume a previous session
|
||||
- **`--debug`**: Enable debug mode to output complete tool responses, detailed parameter values, and full file paths
|
||||
- **`--max-turns <NUMBER>`**: Set the maximum number of turns allowed without user input (default: 1000)
|
||||
|
||||
**Extension Options:**
|
||||
- **`--with-extension <command>`**: Add stdio extensions
|
||||
- **`--with-remote-extension <url>`**: Add remote extensions over SSE
|
||||
- **`--with-streamable-http-extension <url>`**: Add remote extensions over Streaming HTTP
|
||||
- **`--with-builtin <id>`**: Enable built-in extensions (e.g., 'developer', 'computercontroller')
|
||||
|
||||
**Usage:**
|
||||
```bash
|
||||
# Start a basic session
|
||||
goose session --name my-project
|
||||
|
||||
# Resume a previous session
|
||||
goose session --resume --name my-project
|
||||
goose session --resume --id 2025250620_013617
|
||||
|
||||
# Start with extensions
|
||||
goose session --with-extension "npx -y @modelcontextprotocol/server-memory"
|
||||
goose session --with-builtin developer
|
||||
goose session --with-remote-extension "http://localhost:8080/sse"
|
||||
|
||||
# Advanced: Mix multiple extension types
|
||||
goose session \
|
||||
--with-extension "echo hello" \
|
||||
--with-remote-extension "http://sse.example.com/sse" \
|
||||
--with-streamable-http-extension "http://http.example.com" \
|
||||
--with-builtin "developer"
|
||||
|
||||
# Control session behavior
|
||||
goose session --name my-session --debug --max-turns 25
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
#### session list [options]
|
||||
List all saved sessions.
|
||||
|
||||
**Options:**
|
||||
- **`-v, --verbose`**: Include session file paths in the output
|
||||
- **`-f, --format <format>`**: Specify output format (`text` or `json`). Default is `text`
|
||||
- **`--ascending`**: Sort sessions by date in ascending order (oldest first)
|
||||
|
||||
**Usage:**
|
||||
```bash
|
||||
# List all sessions in text format (default)
|
||||
goose session list
|
||||
```
|
||||
```bash
|
||||
|
||||
# List sessions with file paths
|
||||
goose session list --verbose
|
||||
```
|
||||
|
||||
```bash
|
||||
# List sessions in JSON format
|
||||
goose session list --format json
|
||||
```
|
||||
```bash
|
||||
# Sort sessions by date in ascending order.
|
||||
|
||||
# Sort sessions by date in ascending order
|
||||
goose session list --ascending
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### session remove [options]
|
||||
|
||||
#### session remove [options]
|
||||
Remove one or more saved sessions.
|
||||
|
||||
**Options:**
|
||||
- **`-i, --id <id>`**: Remove a specific session by its ID
|
||||
- **`-n, --name <name>`**: Remove a specific session by its name
|
||||
- **`-r, --regex <pattern>`**: Remove sessions matching a regex pattern. For example:
|
||||
- **`-r, --regex <pattern>`**: Remove sessions matching a regex pattern
|
||||
|
||||
**Usage:**
|
||||
|
||||
```bash
|
||||
# Remove a specific session by ID
|
||||
goose session remove -i 20250305_113223
|
||||
@@ -275,22 +167,20 @@ goose session remove -r ".*migration.*"
|
||||
|
||||
:::caution
|
||||
Session removal is permanent and cannot be undone. Goose will show which sessions will be removed and ask for confirmation before deleting.
|
||||
:::
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
### session export [options]
|
||||
|
||||
#### session export [options]
|
||||
Export a session to Markdown format for sharing, documentation, or archival purposes.
|
||||
|
||||
**Options:**
|
||||
- **`-i, --id <id>`**: Export a specific session by ID
|
||||
- **`-n, --name <name>`**: Export a specific session by name
|
||||
- **`-p, --path <path>`**: Export a specific session by file path
|
||||
- **`-p, --path <path>`**: Export a specific session by file path
|
||||
- **`-o, --output <file>`**: Save exported content to a file (default: stdout)
|
||||
|
||||
**Usage:**
|
||||
|
||||
```bash
|
||||
# Export specific session to file
|
||||
goose session export --name my-session --output session.md
|
||||
@@ -307,155 +197,86 @@ goose session export --path ./my-session.jsonl --output exported.md
|
||||
|
||||
---
|
||||
|
||||
### info [options]
|
||||
|
||||
Shows Goose information, including the version, configuration file location, session storage, and logs.
|
||||
|
||||
- **`-v, --verbose`**: (Optional) Show detailed configuration settings, including environment variables and enabled extensions.
|
||||
|
||||
**Usage:**
|
||||
```bash
|
||||
goose info
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### version
|
||||
|
||||
Used to check the current Goose version you have installed
|
||||
|
||||
**Usage:**
|
||||
```bash
|
||||
goose --version
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### update [options]
|
||||
|
||||
Update the Goose CLI to a newer version.
|
||||
|
||||
**Options:**
|
||||
|
||||
- **`--canary, -c`**: Update to the canary (development) version instead of the stable version
|
||||
- **`--reconfigure, -r`**: Forces Goose to reset configuration settings during the update process
|
||||
|
||||
**Usage:**
|
||||
|
||||
```bash
|
||||
# Update to latest stable version
|
||||
goose update
|
||||
|
||||
# Update to latest canary version
|
||||
goose update --canary
|
||||
|
||||
# Update and reconfigure settings
|
||||
goose update --reconfigure
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### mcp
|
||||
|
||||
Run an enabled MCP server specified by `<n>` (e.g. `'Google Drive'`)
|
||||
|
||||
**Usage:**
|
||||
```bash
|
||||
goose mcp <n>
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### run [options]
|
||||
### Task Execution
|
||||
|
||||
#### run [options]
|
||||
Execute commands from an instruction file or stdin. Check out the [full guide](/docs/guides/running-tasks) for more info.
|
||||
|
||||
**Options:**
|
||||
|
||||
- **`-i, --instructions <FILE>`**: Path to instruction file containing commands. Use - for stdin.
|
||||
**Input Options:**
|
||||
- **`-i, --instructions <FILE>`**: Path to instruction file containing commands. Use `-` for stdin
|
||||
- **`-t, --text <TEXT>`**: Input text to provide to Goose directly
|
||||
- **`-s, --interactive`**: Continue in interactive mode after processing initial input
|
||||
- **`-n, --name <n>`**: Name for this run session (e.g. `daily-tasks`)
|
||||
- **`-r, --resume`**: Resume from a previous run
|
||||
- **`--recipe <RECIPE_FILE_NAME> <OPTIONS>`**: Load a custom recipe in current session
|
||||
|
||||
**Session Options:**
|
||||
- **`-s, --interactive`**: Continue in interactive mode after processing initial input
|
||||
- **`-n, --name <name>`**: Name for this run session (e.g. `daily-tasks`)
|
||||
- **`-r, --resume`**: Resume from a previous run
|
||||
- **`-p, --path <PATH>`**: Path for this run session (e.g. `./playground.jsonl`)
|
||||
- **`--with-extension <COMMAND>`**: Add stdio extensions (can be used multiple times in the same command)
|
||||
- **`--with-remote-extension <URL>`**: Add remote extensions over SSE (can be used multiple times in the same command)
|
||||
- **`--with-streamable-http-extension <URL>`**: Add remote extensions over Streaming HTTP (can be used multiple times in the same command)
|
||||
- **`--with-builtin <n>`**: Add builtin extensions by name (e.g., 'developer' or multiple: 'developer,github')
|
||||
- **`--debug`**: Output complete tool responses, detailed parameter values, and full file paths
|
||||
- **`--max-turns <NUMBER>`**: [Maximum number of turns](/docs/guides/sessions/smart-context-management#maximum-turns) allowed without user input (default: 1000)
|
||||
- **`--explain`**: Show a recipe's title, description, and parameters
|
||||
- **`--no-session`**: Run goose commands without creating or storing a session file
|
||||
- **`--max-turns <NUMBER>`**: Limit the maximum number of turns the agent can take before asking for user input to continue (default: 1000)
|
||||
- **`--provider`**: Specify the provider to use for this session (overrides environment variable).
|
||||
- **`--model`**: Specify the model to use for this session (overrides environment variable).
|
||||
|
||||
**Extension Options:**
|
||||
- **`--with-extension <COMMAND>`**: Add stdio extensions (can be used multiple times)
|
||||
- **`--with-remote-extension <URL>`**: Add remote extensions over SSE (can be used multiple times)
|
||||
- **`--with-streamable-http-extension <URL>`**: Add remote extensions over Streaming HTTP (can be used multiple times)
|
||||
- **`--with-builtin <name>`**: Add builtin extensions by name (e.g., 'developer' or multiple: 'developer,github')
|
||||
|
||||
**Control Options:**
|
||||
- **`--debug`**: Output complete tool responses, detailed parameter values, and full file paths
|
||||
- **`--max-turns <NUMBER>`**: Maximum number of turns allowed without user input (default: 1000)
|
||||
- **`--explain`**: Show a recipe's title, description, and parameters
|
||||
- **`--provider`**: Specify the provider to use for this session (overrides environment variable)
|
||||
- **`--model`**: Specify the model to use for this session (overrides environment variable)
|
||||
|
||||
**Usage:**
|
||||
|
||||
```bash
|
||||
# Run from instruction file
|
||||
goose run --instructions plan.md
|
||||
|
||||
#Load a recipe with a prompt that Goose executes and then exits
|
||||
# Load a recipe with a prompt that Goose executes and then exits
|
||||
goose run --recipe recipe.yaml
|
||||
|
||||
#Load a recipe from this chat and then stays in an interactive session
|
||||
goose run --recipe recipe.yaml -s
|
||||
|
||||
#Load a recipe containing a prompt which Goose executes and then drops into an interactive session
|
||||
# Load a recipe and stay in an interactive session
|
||||
goose run --recipe recipe.yaml --interactive
|
||||
|
||||
#Generates an error: no text provided for prompt in headless mode
|
||||
goose run --recipe recipe_no_prompt.yaml
|
||||
|
||||
#Load a recipe in debug mode
|
||||
# Load a recipe in debug mode
|
||||
goose run --recipe recipe.yaml --debug
|
||||
|
||||
#Show recipe details
|
||||
# Show recipe details
|
||||
goose run --recipe recipe.yaml --explain
|
||||
|
||||
#Run instructions from a file without session storage
|
||||
# Run instructions from a file without session storage
|
||||
goose run --no-session -i instructions.txt
|
||||
|
||||
#Run with a limit of 25 turns before asking for user input
|
||||
goose run --max-turns 25 -i plan.md
|
||||
|
||||
#Run with limited turns before prompting user
|
||||
goose run --recipe recipe.yaml --max-turns 10
|
||||
|
||||
#Run with a specified provider and model
|
||||
# Run with a specified provider and model
|
||||
goose run --provider anthropic --model claude-4-sonnet -t "initial prompt"
|
||||
|
||||
# Run with limited turns before prompting user
|
||||
goose run --recipe recipe.yaml --max-turns 10
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### bench
|
||||
|
||||
#### bench
|
||||
Used to evaluate system-configuration across a range of practical tasks. See the [detailed guide](/docs/tutorials/benchmarking) for more information.
|
||||
|
||||
**Usage:**
|
||||
|
||||
```bash
|
||||
goose bench ...etc.
|
||||
```
|
||||
|
||||
### recipe
|
||||
Used to validate recipe files and manage recipe sharing.
|
||||
---
|
||||
|
||||
**Usage:**
|
||||
```bash
|
||||
goose recipe <COMMAND>
|
||||
```
|
||||
#### recipe
|
||||
Used to validate recipe files and manage recipe sharing.
|
||||
|
||||
**Commands:**
|
||||
- `validate <FILE>`: Validate a recipe file
|
||||
- `deeplink <FILE>`: Generate a shareable link for a recipe file
|
||||
|
||||
**Options:**
|
||||
- `--help, -h`: Print help information
|
||||
|
||||
**Examples:**
|
||||
**Usage:**
|
||||
```bash
|
||||
goose recipe <COMMAND>
|
||||
|
||||
# Validate a recipe file
|
||||
goose recipe validate my-recipe.yaml
|
||||
|
||||
@@ -467,13 +288,9 @@ goose recipe help
|
||||
```
|
||||
|
||||
---
|
||||
### schedule
|
||||
Automate recipes by running them on a [schedule](/docs/guides/recipes/session-recipes.md#schedule-recipe).
|
||||
|
||||
**Usage:**
|
||||
```bash
|
||||
goose schedule <COMMAND>
|
||||
```
|
||||
#### schedule
|
||||
Automate recipes by running them on a [schedule](/docs/guides/recipes/session-recipes.md#schedule-recipe).
|
||||
|
||||
**Commands:**
|
||||
- `add <OPTIONS>`: Create a new scheduled job. Copies the current version of the recipe to `~/.local/share/goose/scheduled_recipes`
|
||||
@@ -482,18 +299,20 @@ goose schedule <COMMAND>
|
||||
- `sessions`: List sessions created by a scheduled recipe
|
||||
- `run-now`: Run a scheduled recipe immediately
|
||||
|
||||
Use the following commands if you're scheduling recipes using the [Temporal scheduler](https://docs.temporal.io/evaluate/development-production-features/schedules) (requires the Temporal CLI):
|
||||
**Temporal Commands (requires Temporal CLI):**
|
||||
- `services-status`: Check if any Temporal services are running
|
||||
- `services-stop`: Stop any running Temporal services
|
||||
|
||||
**Options:**
|
||||
- `--id <NAME>`: A unique ID for the scheduled job (e.g. `daily-report`)
|
||||
- `--cron "* * * * * *"`: Specifies when a job should run using a [cron expression](https://en.wikipedia.org/wiki/Cron#Cron_expression) represented as a string with either 5, 6, or 7 digits in the format "seconds minutes hours day-of-month month day-of-week year"
|
||||
- `--cron "* * * * * *"`: Specifies when a job should run using a [cron expression](https://en.wikipedia.org/wiki/Cron#Cron_expression)
|
||||
- `--recipe-source <PATH>`: Path to the recipe YAML file
|
||||
- `--limit <NUMBER>`: (Optional) max number of sessions to display when using the `sessions` command
|
||||
- `--limit <NUMBER>`: Max number of sessions to display when using the `sessions` command
|
||||
|
||||
**Examples:**
|
||||
**Usage:**
|
||||
```bash
|
||||
goose schedule <COMMAND>
|
||||
|
||||
# Add a new scheduled recipe which runs every day at 9 AM
|
||||
goose schedule add --id daily-report --cron "0 0 9 * * *" --recipe-source ./recipes/daily-report.yaml
|
||||
|
||||
@@ -511,9 +330,21 @@ goose schedule remove --id daily-report
|
||||
```
|
||||
|
||||
---
|
||||
### project
|
||||
|
||||
Start working on your last project or create a new one.
|
||||
#### mcp
|
||||
Run an enabled MCP server specified by `<name>` (e.g. `'Google Drive'`).
|
||||
|
||||
**Usage:**
|
||||
```bash
|
||||
goose mcp <name>
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Project Management
|
||||
|
||||
#### project
|
||||
Start working on your last project or create a new one. For detailed usage examples and workflows, see [Managing Projects Guide](/docs/guides/managing-projects).
|
||||
|
||||
**Alias**: `p`
|
||||
|
||||
@@ -522,11 +353,9 @@ Start working on your last project or create a new one.
|
||||
goose project
|
||||
```
|
||||
|
||||
For a complete guide, see [Managing Projects Guide](/docs/guides/managing-projects).
|
||||
|
||||
---
|
||||
### projects
|
||||
|
||||
#### projects
|
||||
Choose one of your projects to start working on.
|
||||
|
||||
**Alias**: `ps`
|
||||
@@ -536,11 +365,11 @@ Choose one of your projects to start working on.
|
||||
goose projects
|
||||
```
|
||||
|
||||
For detailed usage examples and workflows, see [Managing Projects Guide](/docs/guides/managing-projects).
|
||||
|
||||
---
|
||||
### web
|
||||
|
||||
### Interface
|
||||
|
||||
#### web
|
||||
Start a new session in Goose Web, a lightweight web-based interface launched via the CLI that mirrors the desktop app's chat experience.
|
||||
|
||||
Goose Web is particularly useful when:
|
||||
@@ -548,17 +377,16 @@ Goose Web is particularly useful when:
|
||||
- You need to use Goose from different devices, including mobile
|
||||
- You're working in an environment where installing desktop apps isn't practical
|
||||
|
||||
**Usage:**
|
||||
```bash
|
||||
goose web
|
||||
```
|
||||
:::warning
|
||||
Don't expose the web interface to the internet without proper security measures.
|
||||
:::
|
||||
|
||||
**Options:**
|
||||
- **`-p, --port <PORT>`**: Port number to run the web server on. Default is `3000`.
|
||||
- **`--host <HOST>`**: Host to bind the web server to. Default is `127.0.0.1`.
|
||||
- **`--open`**: Automatically open the browser when the server starts.
|
||||
- **`-p, --port <PORT>`**: Port number to run the web server on. Default is `3000`
|
||||
- **`--host <HOST>`**: Host to bind the web server to. Default is `127.0.0.1`
|
||||
- **`--open`**: Automatically open the browser when the server starts
|
||||
|
||||
**Examples:**
|
||||
**Usage:**
|
||||
```bash
|
||||
# Start web interface at `http://127.0.0.1:3000` and open the browser
|
||||
goose web --open
|
||||
@@ -570,6 +398,10 @@ goose web --port 8080
|
||||
goose web --host 192.168.1.7 --port 8080
|
||||
```
|
||||
|
||||
:::info
|
||||
Use `Ctrl+C` to stop the server.
|
||||
:::
|
||||
|
||||
**Limitations:**
|
||||
|
||||
While the web interface provides most core features, be aware of these limitations:
|
||||
@@ -578,37 +410,33 @@ While the web interface provides most core features, be aware of these limitatio
|
||||
- Certain tool interactions might need extra setup
|
||||
- Configuration changes require a server restart
|
||||
|
||||
:::warning
|
||||
Don't expose the web interface to the internet without proper security measures.
|
||||
:::
|
||||
|
||||
:::info
|
||||
Use `Ctrl-C` to stop the server.
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
## Prompt Completion
|
||||
## Interactive Session Features
|
||||
|
||||
The CLI provides a set of slash commands that can be accessed during a session. These commands support tab completion for easier use.
|
||||
### Slash Commands
|
||||
|
||||
#### Available Commands
|
||||
- `/?` or `/help` - Display this help message
|
||||
- `/builtin <names>` - Add builtin extensions by name (comma-separated)
|
||||
- `/exit` or `/quit` - Exit the current session
|
||||
- `/extension <command>` - Add a stdio extension (format: ENV1=val1 command args...)
|
||||
- `/mode <n>` - Set the goose mode to use ('auto', 'smart_approve', 'approve', 'chat')
|
||||
- `/plan <message>` - Create a structured plan based on the given message
|
||||
- `/prompt <n> [--info] [key=value...]` - Get prompt info or execute a prompt
|
||||
- `/prompts [--extension <n>]` - List all available prompts, optionally filtered by extension
|
||||
- `/recipe <recipe file name>` - Generate and save a session recipe to `recipe.yaml` or the filename specified by the command parameter.
|
||||
- `/summarize` - Summarize the current session to reduce context length while preserving key information
|
||||
- `/t` - Toggle between `light`, `dark`, and `ansi` themes
|
||||
- `/t <theme>` - Set the `light`, `dark`, or `ansi` theme
|
||||
Once you're in an interactive session (via `goose session` or `goose run --interactive`), you can use these slash commands. All commands support tab completion. Press `/ + <Tab>` to cycle through available commands.
|
||||
|
||||
All commands support tab completion. Press `<Tab>` after a slash (/) to cycle through available commands or to complete partial commands.
|
||||
**Available Commands:**
|
||||
- **`/?` or `/help`** - Display the help menu
|
||||
- **`/builtin <names>`** - Add builtin extensions by name (comma-separated)
|
||||
- **`/clear`** - Clear the current chat history
|
||||
- **`/endplan`** - Exit plan mode and return to 'normal' goose mode
|
||||
- **`/exit` or `/quit`** - Exit the session
|
||||
- **`/extension <command>`** - Add a stdio extension (format: ENV1=val1 command args...)
|
||||
- **`/mode <name>`** - Set the goose mode to use ('auto', 'approve', 'chat', 'smart_approve')
|
||||
- **`/plan <message_text>`** - Enter 'plan' mode with optional message. Create a plan based on the current messages and ask user if they want to act on it
|
||||
- **`/prompt <n> [--info] [key=value...]`** - Get prompt info or execute a prompt
|
||||
- **`/prompts [--extension <name>]`** - List all available prompts, optionally filtered by extension
|
||||
- **`/recipe [filepath]`** - Generate a recipe from the current conversation and save it to the specified filepath (must end with .yaml). If no filepath is provided, it will be saved to ./recipe.yaml
|
||||
- **`/summarize`** - Summarize the current conversation to reduce context length while preserving key information
|
||||
- **`/t`** - Toggle between `light`, `dark`, and `ansi` themes. [More info](#themes).
|
||||
- **`/t <name>`** - Set theme directly (light, dark, ansi)
|
||||
|
||||
#### Examples
|
||||
**Examples:**
|
||||
```bash
|
||||
# Create a plan for triaging test failures
|
||||
/plan let's create a plan for triaging test failures
|
||||
@@ -618,50 +446,15 @@ All commands support tab completion. Press `<Tab>` after a slash (/) to cycle th
|
||||
|
||||
# Switch to chat mode
|
||||
/mode chat
|
||||
```
|
||||
|
||||
# Add a builtin extension during the session
|
||||
/builtin developer
|
||||
|
||||
# Clear the current conversation history
|
||||
/clear
|
||||
```
|
||||
|
||||
---
|
||||
## Keyboard Shortcuts
|
||||
|
||||
Goose CLI supports several shortcuts and built-in commands for easier navigation.
|
||||
|
||||
### Keyboard Navigation
|
||||
|
||||
- **`Ctrl+C`** - Interrupt the current request
|
||||
- **`Ctrl+J`** - Add a newline
|
||||
- **`Cmd+Up/Down arrows`** - Navigate through command history
|
||||
- **`Ctrl+R`** - Interactive command history search (reverse search)
|
||||
|
||||
### Command History Search
|
||||
|
||||
The `Ctrl+R` shortcut provides interactive search through your stored CLI [command history](/docs/guides/logs#command-history). This feature makes it easy to find and reuse recent commands without retyping them. When you type a search term, Goose searches backwards through your history for matches.
|
||||
|
||||
**How it works:**
|
||||
1. Press `Ctrl+R` in your Goose CLI session
|
||||
2. Type a search term
|
||||
3. Navigate through the results using:
|
||||
- `Ctrl+R` to cycle backwards through earlier matches
|
||||
- `Ctrl+S` to cycle forward through newer matches
|
||||
4. Press `Return` (or `Enter`) to run the found command, or `Esc` to cancel
|
||||
|
||||
For example, instead of retyping this long command:
|
||||
|
||||
```
|
||||
analyze the performance issues in the sales database queries and suggest optimizations
|
||||
```
|
||||
|
||||
Use the `"sales database"` or `"optimization"` search term to find and rerun it.
|
||||
|
||||
**Search tips:**
|
||||
- **Distinctive terms work best**: Choose unique words or phrases to help filter the results
|
||||
- **Partial matches and multiple words are supported**: You can search for phrases like `"gith"` and `"run the unit test"`
|
||||
|
||||
### Slash Commands
|
||||
- **`/exit` or `/quit`** - Exit the session
|
||||
- **`/t`** - Toggle between `light`, `dark`, and `ansi` themes
|
||||
- **`/t <theme>`** - Set the `light`, `dark`, or `ansi` theme
|
||||
- **`/?` or `/help`** - Display the help menu
|
||||
|
||||
### Themes
|
||||
|
||||
@@ -696,3 +489,43 @@ goose session --name use-custom-theme
|
||||
# Set the light theme during a session
|
||||
/t light
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Navigation and Controls
|
||||
|
||||
### Keyboard Shortcuts
|
||||
|
||||
**Session Control:**
|
||||
- **`Ctrl+C`** - Interrupt the current request
|
||||
- **`Ctrl+J`** - Add a newline
|
||||
|
||||
**Navigation:**
|
||||
- **`Cmd+Up/Down arrows`** - Navigate through command history
|
||||
- **`Ctrl+R`** - Interactive command history search (reverse search). [More info](#command-history-search).
|
||||
|
||||
---
|
||||
|
||||
### Command History Search
|
||||
|
||||
The `Ctrl+R` shortcut provides interactive search through your stored CLI [command history](/docs/guides/logs#command-history). This feature makes it easy to find and reuse recent commands without retyping them. When you type a search term, Goose searches backwards through your history for matches.
|
||||
|
||||
**How it works:**
|
||||
1. Press `Ctrl+R` in your Goose CLI session
|
||||
2. Type a search term
|
||||
3. Navigate through the results using:
|
||||
- `Ctrl+R` to cycle backwards through earlier matches
|
||||
- `Ctrl+S` to cycle forward through newer matches
|
||||
4. Press `Return` (or `Enter`) to run the found command, or `Esc` to cancel
|
||||
|
||||
For example, instead of retyping this long command:
|
||||
|
||||
```
|
||||
analyze the performance issues in the sales database queries and suggest optimizations
|
||||
```
|
||||
|
||||
Use the `"sales database"` or `"optimization"` search term to find and rerun it.
|
||||
|
||||
**Search tips:**
|
||||
- **Distinctive terms work best**: Choose unique words or phrases to help filter the results
|
||||
- **Partial matches and multiple words are supported**: You can search for phrases like `"gith"` and `"run the unit test"`
|
||||
@@ -1,5 +1,5 @@
|
||||
---
|
||||
sidebar_position: 3
|
||||
sidebar_position: 4
|
||||
title: Sub-Recipes For Specialized Tasks
|
||||
sidebar_label: Sub-Recipes
|
||||
description: Learn how a recipe can use sub-recipes to perform specific tasks
|
||||
|
||||
@@ -43,7 +43,7 @@ prompt: |
|
||||
### Same Sub-Recipe
|
||||
|
||||
When running the same sub-recipe with different parameters, Goose determines the execution mode based on:
|
||||
1. **[Recipe-level configuration](#choosing-between-sequential-and-parallel-execution)** (`sequential_when_repeated` flag) - when set to true, this forces sequential execution
|
||||
1. **[Recipe-level configuration](#choosing-between-execution-modes)** (`sequential_when_repeated` flag) - when set to true, this forces sequential execution
|
||||
2. **User request** in the prompt ("sequentially" to override default parallel behavior)
|
||||
3. **Parallel execution by default**: Multiple instances of the same sub-recipe run concurrently
|
||||
|
||||
|
||||
Reference in New Issue
Block a user