{"record":{"id":"33bea77a19f48494","repo":"aaif-goose/goose","slug":"responses-tool-arguments-contain-duplicate-key-aft","errorCode":null,"errorMessage":"Responses tool arguments contain duplicate key after Unicode tag sanitization","messagePattern":"Responses tool arguments contain duplicate key after Unicode tag sanitization","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"crates/goose-provider-types/src/formats/openai_responses.rs","lineNumber":769,"sourceCode":"\n    Ok(payload)\n}\n\nfn sanitize_tool_arguments(value: Value) -> anyhow::Result<Value> {\n    match value {\n        Value::String(text) => Ok(Value::String(strip_unicode_tags(&text))),\n        Value::Array(values) => Ok(Value::Array(\n            values\n                .into_iter()\n                .map(sanitize_tool_arguments)\n                .collect::<anyhow::Result<_>>()?,\n        )),\n        Value::Object(values) => {\n            let mut sanitized = serde_json::Map::new();\n            for (key, value) in values {\n                let key = strip_unicode_tags(&key);\n                if sanitized.contains_key(&key) {\n                    return Err(anyhow!(\n                        \"Responses tool arguments contain duplicate key after Unicode tag sanitization\"\n                    ));\n                }\n                sanitized.insert(key, sanitize_tool_arguments(value)?);\n            }\n            Ok(Value::Object(sanitized))\n        }\n        value => Ok(value),\n    }\n}\n\nfn parse_tool_arguments(arguments: &str) -> anyhow::Result<Value> {\n    if arguments.is_empty() {\n        Ok(json!({}))\n    } else {\n        match serde_json::from_str(arguments) {\n            Ok(value) => sanitize_tool_arguments(value),\n            Err(_) => Ok(json!({})),","sourceCodeStart":751,"sourceCodeEnd":787,"githubUrl":"https://github.com/aaif-goose/goose/blob/3810898a7447ec3299be72e223d3570a7aabf0ab/crates/goose-provider-types/src/formats/openai_responses.rs#L751-L787","documentation":"Error \"Responses tool arguments contain duplicate key after Unicode tag sanitization\" thrown in aaif-goose/goose.","triggerScenarios":"Thrown at crates/goose-provider-types/src/formats/openai_responses.rs:769 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"3810898a7447ec3299be72e223d3570a7aabf0ab","analyzedAt":"2026-08-16T10:14:26.282Z","schemaVersion":2},"datasetVersion":"2026-08-16T13:17:31.715Z"}