From 37e3cab86c4e78c03aa9459a0efae767606bb8d6 Mon Sep 17 00:00:00 2001 From: Bradley Axen Date: Fri, 6 Feb 2026 10:16:08 -0800 Subject: [PATCH] feat(config): add global switch to disable session naming --- crates/goose/src/agents/agent.rs | 23 ++++++++++++++--------- crates/goose/src/config/base.rs | 1 + 2 files changed, 15 insertions(+), 9 deletions(-) diff --git a/crates/goose/src/agents/agent.rs b/crates/goose/src/agents/agent.rs index 63806c15300..0f70aa83966 100644 --- a/crates/goose/src/agents/agent.rs +++ b/crates/goose/src/agents/agent.rs @@ -1112,15 +1112,20 @@ impl Agent { let provider = self.provider().await?; let session_manager = self.config.session_manager.clone(); let session_id = session_config.id.clone(); - let manager_for_spawn = session_manager.clone(); - tokio::spawn(async move { - if let Err(e) = manager_for_spawn - .maybe_update_name(&session_id, provider) - .await - { - warn!("Failed to generate session description: {}", e); - } - }); + let naming_disabled = Config::global() + .get_goose_disable_session_naming() + .unwrap_or(false); + if !naming_disabled { + let manager_for_spawn = session_manager.clone(); + tokio::spawn(async move { + if let Err(e) = manager_for_spawn + .maybe_update_name(&session_id, provider) + .await + { + warn!("Failed to generate session description: {}", e); + } + }); + } let working_dir = session.working_dir.clone(); Ok(Box::pin(async_stream::try_stream! { diff --git a/crates/goose/src/config/base.rs b/crates/goose/src/config/base.rs index 42becedc5dd..b594c9e4037 100644 --- a/crates/goose/src/config/base.rs +++ b/crates/goose/src/config/base.rs @@ -967,6 +967,7 @@ config_value!(GOOSE_PROVIDER, String); config_value!(GOOSE_MODEL, String); config_value!(GOOSE_PROMPT_EDITOR, Option); config_value!(GOOSE_MAX_ACTIVE_AGENTS, usize); +config_value!(GOOSE_DISABLE_SESSION_NAMING, bool); config_value!(GEMINI3_THINKING_LEVEL, String); /// Load init-config.yaml from workspace root if it exists.