diff --git a/agentscope-core/src/main/java/io/agentscope/core/tool/ToolValidator.java b/agentscope-core/src/main/java/io/agentscope/core/tool/ToolValidator.java index 8f0d0fe81..c997becaa 100644 --- a/agentscope-core/src/main/java/io/agentscope/core/tool/ToolValidator.java +++ b/agentscope-core/src/main/java/io/agentscope/core/tool/ToolValidator.java @@ -79,6 +79,13 @@ public static String validateInput(String input, Map schema) { return null; // No schema, validation passes } + // Defensive: treat null/blank input as empty JSON object so that + // networknt-schema does not throw NPE ("argument 'content' is null") + // when a ToolUseBlock carries parsed arguments but no raw content string. + if (input == null || input.isBlank()) { + input = "{}"; + } + try { // Convert schema to JSON string String schemaJson = JsonUtils.getJsonCodec().toJson(schema);