From 52691119810dbc483041795a40fb911689ff1f49 Mon Sep 17 00:00:00 2001 From: Emma Youndtsmith Date: Thu, 19 Feb 2026 14:54:08 -0600 Subject: [PATCH] docs for reasoning env var --- .../docs/getting-started/providers.md | 39 +++++++++++++++++++ .../docs/guides/environment-variables.md | 8 ++++ 2 files changed, 47 insertions(+) diff --git a/documentation/docs/getting-started/providers.md b/documentation/docs/getting-started/providers.md index 1298fa9757c2..6af9286822a3 100644 --- a/documentation/docs/getting-started/providers.md +++ b/documentation/docs/getting-started/providers.md @@ -1156,6 +1156,10 @@ Gemini 3 models support configurable thinking levels to balance response latency - **Low** (default) - Faster responses, lighter reasoning - **High** - Deeper reasoning, higher latency +:::tip +When thinking is enabled, you can view the model's reasoning process. See [Viewing Model Reasoning](#viewing-model-reasoning) for details. +::: + When selecting a Gemini 3 model, a "Thinking Level" dropdown appears automatically. Select your preference and the setting persists across sessions. @@ -1181,6 +1185,41 @@ The thinking level is determined in this order (highest to lowest priority): 3. Default value: `low` ::: +## Viewing Model Reasoning + +Some models expose their internal reasoning or "chain of thought" as part of their response. goose automatically captures this reasoning output and makes it available to you. The following models and providers support reasoning output: + +| Provider / Model | How It Works | +|---|---| +| **DeepSeek-R1** (via OpenAI, Ollama, OpenRouter, OVHcloud, etc.) | Reasoning captured from the `reasoning_content` field in the API response | +| **Kimi** (via Groq or other OpenAI-compatible endpoints) | Reasoning captured from the `reasoning_content` field in the API response | +| **Gemini CLI** (Google Gemini models with thinking enabled) | Thinking blocks captured from the streaming response | +| **Claude** (Anthropic, with [extended thinking](/docs/guides/environment-variables#claude-extended-thinking) enabled) | Thinking blocks captured from the API response | + + + + Reasoning output appears automatically in a collapsible **"Show reasoning"** toggle above the model's response. Click it to expand and view the model's thought process. + + + + Reasoning output is **hidden by default** in the CLI. To display it, set the `GOOSE_CLI_SHOW_THINKING` environment variable: + + ```bash + export GOOSE_CLI_SHOW_THINKING=1 + ``` + + When enabled, reasoning appears under a "Thinking:" header in dimmed text before the model's main response. + + :::note + This requires stdout to be a terminal (reasoning output won't appear when piping output to a file or another command). + ::: + + + +:::tip +Reasoning output can be useful for understanding how the model arrived at its answer, debugging unexpected behavior, or learning from the model's problem-solving approach. However, it can also be verbose — toggle it on only when you need it. +::: + --- If you have any questions or need help with a specific provider, feel free to reach out to us on [Discord](https://discord.gg/goose-oss) or on the [goose repo](https://github.com/block/goose). diff --git a/documentation/docs/guides/environment-variables.md b/documentation/docs/guides/environment-variables.md index 7c84b397cf6d..64a1e9f3251b 100644 --- a/documentation/docs/guides/environment-variables.md +++ b/documentation/docs/guides/environment-variables.md @@ -188,6 +188,10 @@ export CLAUDE_THINKING_ENABLED=1 export CLAUDE_THINKING_BUDGET=8000 ``` +:::tip Viewing Thinking Output +To see Claude's thinking output in the **CLI**, you also need to set `GOOSE_CLI_SHOW_THINKING=1`. In **goose Desktop**, thinking output is shown automatically in a collapsible "Show reasoning" toggle. +::: + ### Planning Mode Configuration These variables control goose's [planning functionality](/docs/guides/creating-plans). @@ -262,6 +266,7 @@ These variables control how goose manages conversation sessions and context. | `GOOSE_CLI_LIGHT_THEME` | Custom [bat theme](https://github.com/sharkdp/bat#adding-new-themes) for syntax highlighting when using light mode | bat theme name (e.g., "Solarized (light)", "OneHalfLight") | "GitHub" | | `GOOSE_CLI_DARK_THEME` | Custom [bat theme](https://github.com/sharkdp/bat#adding-new-themes) for syntax highlighting when using dark mode | bat theme name (e.g., "Dracula", "Nord") | "zenburn" | | `GOOSE_CLI_NEWLINE_KEY` | Customize the keyboard shortcut for [inserting newlines in CLI input](/docs/guides/goose-cli-commands#keyboard-shortcuts) | Single character (e.g., "n", "m") | "j" (Ctrl+J) | +| `GOOSE_CLI_SHOW_THINKING` | Shows model reasoning/thinking output in CLI responses. Some models (e.g., DeepSeek-R1, Kimi, Gemini) expose their internal reasoning process — this variable makes it visible in the CLI. | Set to any value to enable | Disabled | | `GOOSE_RANDOM_THINKING_MESSAGES` | Controls whether to show amusing random messages during processing | "true", "false" | "true" | | `GOOSE_CLI_SHOW_COST` | Toggles display of model cost estimates in CLI output | "1", "true" (case-insensitive) to enable | false | | `GOOSE_AUTO_COMPACT_THRESHOLD` | Set the percentage threshold at which goose [automatically summarizes your session](/docs/guides/sessions/smart-context-management#automatic-compaction). | Float between 0.0 and 1.0 (disabled at 0.0) | 0.8 | @@ -313,6 +318,9 @@ export GOOSE_CLI_NEWLINE_KEY=n # Disable random thinking messages for less distraction export GOOSE_RANDOM_THINKING_MESSAGES=false +# Show reasoning/thinking output from models that support it (e.g., DeepSeek-R1, Kimi, Gemini) +export GOOSE_CLI_SHOW_THINKING=1 + # Enable model cost display in CLI export GOOSE_CLI_SHOW_COST=true