diff --git a/Cargo.lock b/Cargo.lock index 1599566080ea..9231535c6a26 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2610,7 +2610,7 @@ dependencies = [ [[package]] name = "goose" -version = "1.13.1" +version = "1.13.2" dependencies = [ "ahash", "anyhow", @@ -2691,7 +2691,7 @@ dependencies = [ [[package]] name = "goose-bench" -version = "1.13.1" +version = "1.13.2" dependencies = [ "anyhow", "async-trait", @@ -2714,7 +2714,7 @@ dependencies = [ [[package]] name = "goose-cli" -version = "1.13.1" +version = "1.13.2" dependencies = [ "agent-client-protocol", "anstream", @@ -2766,7 +2766,7 @@ dependencies = [ [[package]] name = "goose-mcp" -version = "1.13.1" +version = "1.13.2" dependencies = [ "anyhow", "async-trait", @@ -2832,7 +2832,7 @@ dependencies = [ [[package]] name = "goose-server" -version = "1.13.1" +version = "1.13.2" dependencies = [ "anyhow", "async-trait", @@ -2869,7 +2869,7 @@ dependencies = [ [[package]] name = "goose-test" -version = "1.13.1" +version = "1.13.2" dependencies = [ "clap", "serde_json", diff --git a/Cargo.toml b/Cargo.toml index 6b14434ff0b2..a6f288d4045a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -4,7 +4,7 @@ resolver = "2" [workspace.package] edition = "2021" -version = "1.13.1" +version = "1.13.2" authors = ["Block "] license = "Apache-2.0" repository = "https://github.com/block/goose" diff --git a/crates/goose/src/agents/agent.rs b/crates/goose/src/agents/agent.rs index 0d28297b0608..bae2e8cc9d70 100644 --- a/crates/goose/src/agents/agent.rs +++ b/crates/goose/src/agents/agent.rs @@ -394,6 +394,20 @@ impl Agent { cancellation_token: Option, session: &Session, ) -> (String, Result) { + if session.session_type == crate::session::SessionType::SubAgent + && (tool_call.name == DYNAMIC_TASK_TOOL_NAME_PREFIX + || tool_call.name == SUBAGENT_EXECUTE_TASK_TOOL_NAME) + { + return ( + request_id, + Err(ErrorData::new( + ErrorCode::INVALID_REQUEST, + "Subagents cannot create other subagents".to_string(), + None, + )), + ); + } + if tool_call.name == PLATFORM_MANAGE_SCHEDULE_TOOL_NAME { let arguments = tool_call .arguments diff --git a/ui/desktop/package-lock.json b/ui/desktop/package-lock.json index bfb9c5cdc9ae..f43d9b7435b4 100644 --- a/ui/desktop/package-lock.json +++ b/ui/desktop/package-lock.json @@ -1,12 +1,12 @@ { "name": "goose-app", - "version": "1.13.1", + "version": "1.13.2", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "goose-app", - "version": "1.13.1", + "version": "1.13.2", "license": "Apache-2.0", "dependencies": { "@ai-sdk/openai": "^2.0.52", diff --git a/ui/desktop/package.json b/ui/desktop/package.json index 6b6838d454d5..c39df073f096 100644 --- a/ui/desktop/package.json +++ b/ui/desktop/package.json @@ -1,7 +1,7 @@ { "name": "goose-app", "productName": "Goose", - "version": "1.13.1", + "version": "1.13.2", "description": "Goose App", "engines": { "node": "^22.17.1"