diff --git a/backend/open_webui/tools/builtin.py b/backend/open_webui/tools/builtin.py index dcbdfe5201..dd1c38fdd7 100644 --- a/backend/open_webui/tools/builtin.py +++ b/backend/open_webui/tools/builtin.py @@ -539,7 +539,9 @@ async def ask_user( :return: JSON with status and answers keyed by question id """ try: - if not isinstance(questions, list) or not 1 <= len(questions) <= 3: + if not isinstance(questions, list): + raise ValueError('ask_user questions must be an array of question objects.') + if not 1 <= len(questions) <= 3: raise ValueError('ask_user requires 1-3 questions.') normalized_questions = [] diff --git a/backend/open_webui/utils/ask_user.py b/backend/open_webui/utils/ask_user.py index 14f5da6ad0..94bc648ef2 100644 --- a/backend/open_webui/utils/ask_user.py +++ b/backend/open_webui/utils/ask_user.py @@ -24,7 +24,9 @@ def get_ask_user_tool_calls(tool_calls: list[dict]) -> tuple[list[dict], str | N def normalize_ask_user_request(arguments: dict) -> dict: questions = arguments.get('questions') - if not isinstance(questions, list) or not 1 <= len(questions) <= 3: + if not isinstance(questions, list): + raise ValueError('ask_user questions must be an array of question objects.') + if not 1 <= len(questions) <= 3: raise ValueError('ask_user requires 1-3 questions.') normalized_questions = []