Repository navigation
WEB UI Evals is not working #6336
Description
🔴 Required Information
Please ensure all items in this section are completed to allow for efficient
triaging. Requests without complete information may be rejected / deprioritized.
If an item is not applicable to you - please mark it as N/A
Describe the Bug:
When I try to update an eval case in the Web UI I get this error in the logs
INFO: 127.0.0.1:49878 - "PUT /dev/apps/app/eval_sets/eval_set_3/evals/sacreation HTTP/1.1" 422 Unprocessable Entity
Steps to Reproduce:
Please provide a numbered list of steps to reproduce the behavior:
- I run this command
uv run adk web . --host 127.0.0.1 --port 8186 --allow_origins '*' --reload_agents
- Go to the Web UI and start a new session
- Create a conversation with the agent
- Go to evals tab and create a new Eval Set
- Create a new eval case using current session
- Edit eval case data and try to save
- Error is reaised
Expected Behavior:
The eval case is saved succesfully and I can run the eval set to validate results
Observed Behavior:
What actually happened? Include error messages or crash stack traces here.
When I try to update an eval case in the Web UI I get this error in the logs
INFO: 127.0.0.1:49878 - "PUT /dev/apps/app/eval_sets/eval_set_3/evals/sacreation HTTP/1.1" 422 Unprocessable Entity
Environment Details:
- ADK Library Version: 2.0.0, 2.1.0, 2.2.0, 2.3.0
- Desktop OS: Linux
- Python Version (python -V): 3.12.3
Model Information:
- Are you using LiteLLM: No
- Which model is being used: gemini-2.5-flash
🟡 Optional Information
Providing this information greatly speeds up the resolution process.
Regression:
Did this work in a previous version of ADK? If so, which one?
No, It didn't. I tried from version 2.0.0 and ahead
How often has this issue occurred?:
- Always (100%)
Activity
surajksharma07 commentedon Jul 8, 2026
@erick-saenz — dug into this and it looks like a schema quirk, not something on your end.
When the eval case gets loaded into the edit dialog, an optional content field gets dropped since it's empty, then rejected as required the moment you save — which lines up exactly with that 422.
As a workaround, try adding a = None default to content on InvocationEvent in eval_case.py and restart adk web.
Could you confirm that clears it ?
erick-saenz commentedon Jul 8, 2026
Hi @surajksharma07
I don't use any eval_case.py file. I suppose it is the schema file in ADK source code. Is that the case?
surajksharma07 commentedon Jul 9, 2026
Yes, exactly that — eval_case.py is part of the ADK library itself (google/adk/evaluation/eval_case.py), not anything in your project.
You can find it under your venv's site-packages/google/adk/evaluation/eval_case.py, or run python -c "import google.adk.evaluation.eval_case as m; print(m.file)" to get the exact path.
It's just a local patch to confirm the root cause, not something you'd need to maintain — once you add the = None default to content on InvocationEvent there and restart adk web, try the edit and save again and let me know if the 422 is gone!
fix: make InvocationEvent.content optional so the Web UI can save eva…
fix: make InvocationEvent.content optional so the Web UI can save eva…
shivammathur33 commentedon Sep 4, 2026
I see this change in release 2.6.0 (#6515) commit: b549ab4.
But, I still see the same error
HTTP/1.1" 422 Unprocessable Entityupon trying to edit and then save an eval case. I have tried on 2.6.0, 2.7.0 and 2.8.0. Could anyone please help?I have created a separate issue as well #7019