Conversation
| @@ -1,325 +1,326 @@ | |||
| --- | |||
There was a problem hiding this comment.
This complete file compare view is due to CRLF → LF line ending normalization (likely from my editor settings on mac)
|
There was a problem hiding this comment.
Pull request overview
This PR documents the GOOSE_DISABLE_SESSION_NAMING environment variable, which allows users to disable automatic AI-generated session naming. This is particularly useful in CI/CD pipelines and headless automation scenarios where the extra model call for generating session names is unnecessary overhead.
Changes:
- Added
GOOSE_DISABLE_SESSION_NAMINGto the Session Management section of environment variables documentation - Added a tip in the session-management guide explaining when to use this variable
- Updated the headless goose tutorial's pre-configuration example to include this setting
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| documentation/docs/guides/environment-variables.md | Added new environment variable to the Session Management table and examples section |
| documentation/docs/guides/sessions/session-management.md | Added tip box linking to the new environment variable documentation |
| documentation/docs/tutorials/headless-goose.md | Added environment variable to the pre-configuration code snippet with explanation |
| export GOOSE_DISABLE_SESSION_NAMING=true | ||
| ``` | ||
|
|
||
| The `CONTEXT_STRATEGY` and `MAX_TURNS` settings help manage conversation limits, while `GOOSE_MODE` set to `auto` allows for non-interactive execution. `GOOSE_DISABLE_SESSION_NAMING` avoids the extra background model call used to generate a session name and keeps the default "CLI Session" name. |
There was a problem hiding this comment.
The default session name mentioned here as "CLI Session" may not be accurate for all cases. Based on the CLI documentation in session-management.md (line 107), the CLI defaults to a timestamp format "YYYYMMDD_", not "CLI Session". The "CLI Session" or "New Chat" names appear to be specific to the desktop UI. Consider clarifying which default applies in which context, or simply state "keeps the default name" without specifying what it is.
| The `CONTEXT_STRATEGY` and `MAX_TURNS` settings help manage conversation limits, while `GOOSE_MODE` set to `auto` allows for non-interactive execution. `GOOSE_DISABLE_SESSION_NAMING` avoids the extra background model call used to generate a session name and keeps the default "CLI Session" name. | |
| The `CONTEXT_STRATEGY` and `MAX_TURNS` settings help manage conversation limits, while `GOOSE_MODE` set to `auto` allows for non-interactive execution. `GOOSE_DISABLE_SESSION_NAMING` avoids the extra background model call used to generate a session name and keeps the default session name for your environment. |
There was a problem hiding this comment.
Verified "CLI Session" for CLI in testing, which is the context for this topic:
~ goose session list
Available sessions:
20260212_13 - Disable session naming docs - 2026-02-12 23:33:48 UTC
20260212_23 - Spanish goat vocabulary - 2026-02-12 23:30:49 UTC
20260212_22 - New Chat - 2026-02-12 23:30:34 UTC
20260212_21 - Tokyo time query - 2026-02-12 23:10:04 UTC
20260212_20 - CLI Session - 2026-02-12 23:09:13 UTC
20260212_19 - Session Name 1 - 2026-02-12 23:04:14 UTC
20260212_18 - CLI Session - 2026-02-12 23:01:21 UTC
...
| | `GOOSE_MAX_TURNS` | [Maximum number of turns](/docs/guides/sessions/smart-context-management#maximum-turns) allowed without user input | Integer (e.g., 10, 50, 100) | 1000 | | ||
| | `GOOSE_SUBAGENT_MAX_TURNS` | Sets the maximum turns allowed for a [subagent](/docs/guides/subagents) to complete before timeout. Can be overridden by [`settings.max_turns`](/docs/guides/recipes/recipe-reference#settings) in recipes or subagent tool calls. | Integer (e.g., 25) | 25 | | ||
| | `CONTEXT_FILE_NAMES` | Specifies custom filenames for [hint/context files](/docs/guides/context-engineering/using-goosehints#custom-context-files) | JSON array of strings (e.g., `["CLAUDE.md", ".goosehints"]`) | `[".goosehints"]` | | ||
| | `GOOSE_DISABLE_SESSION_NAMING` | Disables automatic AI-generated session naming (avoids the background model call and keeps the "CLI Session" or "New Chat" default) | "1", "true" (case-insensitive) to enable | false | |
There was a problem hiding this comment.
The default session name mentioned as "CLI Session" or "New Chat" may not be accurate for all cases. According to the CLI documentation in session-management.md, the CLI defaults to a timestamp format "YYYYMMDD_", not "CLI Session". The "CLI Session" or "New Chat" names appear to be specific to the desktop UI. Consider simplifying to "keeps the default name" without specifying what that default is, since it varies by interface.
| | `GOOSE_DISABLE_SESSION_NAMING` | Disables automatic AI-generated session naming (avoids the background model call and keeps the "CLI Session" or "New Chat" default) | "1", "true" (case-insensitive) to enable | false | | |
| | `GOOSE_DISABLE_SESSION_NAMING` | Disables automatic AI-generated session naming (avoids the background model call and keeps the default session name) | "1", "true" (case-insensitive) to enable | false | |
There was a problem hiding this comment.
Added this detail for predictability, esp. for automation. Will let reviewer weigh in.
| export GOOSE_CONTEXT_STRATEGY=summarize | ||
| export GOOSE_MAX_TURNS=50 | ||
| export GOOSE_MODE=auto | ||
| export GOOSE_DISABLE_SESSION_NAMING=true |
There was a problem hiding this comment.
Added:
- Line 123:
export GOOSE_DISABLE_SESSION_NAMING=true - Line 126:
GOOSE_DISABLE_SESSION_NAMINGavoids the extra background model call used to generate a session name and keeps the default "CLI Session" name.
* origin/main: (49 commits) chore: show important keys for provider configuration (#7265) fix: subrecipe relative path with summon (#7295) fix extension selector not displaying the correct enabled extensions (#7290) Use the working dir from the session (#7285) Fix: Minor logging uplift for debugging of prompt injection mitigation (#7195) feat(otel): make otel logging level configurable (#7271) docs: add documentation for Top Of Mind extension (#7283) Document gemini 3 thinking levels (#7282) docs: stream subagent tool calls (#7280) Docs: delete custom provider in desktop (#7279) Everything is streaming (#7247) openai: responses models and hardens event streaming handling (#6831) docs: disable ai session naming (#7194) Added cmd to validate bundled extensions json (#7217) working_dir usage more clear in add_extension (#6958) Use Canonical Models to set context window sizes (#6723) Set up direnv and update flake inputs (#6526) fix: restore subagent tool call notifications after summon refactor (#7243) fix(ui): preserve server config values on partial provider config save (#7248) fix(claude-code): allow goose to run inside a Claude Code session (#7232) ...
Summary
This PR documents the new GOOSE_DISABLE_SESSION_NAMING environment variable.
Documentation updates:
documentation/docs/guides/environment-variables.md:GOOSE_DISABLE_SESSION_NAMINGto "Session Management"documentation/docs/guides/sessions/session-management.md:documentation/docs/tutorials/headless-goose.md:export GOOSE_DISABLE_SESSION_NAMING=trueto the headless/CI pre-config snippetType of Change
AI Assistance
Testing
Manual testing