You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
"Failed to load API definition" error when using docs api from adk web server #3526
get error Failed to load API definition.
First few lines of the error trace
ERROR: Exception in ASGI application
Traceback (most recent call last):
File "/home/envision/Documents/Test3/.venv/lib/python3.10/site-packages/pydantic/type_adapter.py", line 287, in _init_core_attrs
self.core_schema = _getattr_no_parents(self._type, '__pydantic_core_schema__')
File "/home/envision/Documents/Test3/.venv/lib/python3.10/site-packages/pydantic/type_adapter.py", line 56, in _getattr_no_parents
raise AttributeError(attribute)
AttributeError: __pydantic_core_schema__
During handling of the above exception, another exception occurred:
Last few lines of error trace
pydantic.errors.PydanticSchemaGenerationError: Unable to generate pydantic-core schema for <class 'mcp.client.session.ClientSession'>. Set `arbitrary_types_allowed=True` in the model_config to ignore this error or implement `__get_pydantic_core_schema__` on your type to fully support it.
If you got this error by calling handler(<some type>) within `__get_pydantic_core_schema__` then you likely need to call `handler.generate_schema(<some type>)` since we do not call `__get_pydantic_core_schema__` on `<some type>` otherwise to avoid infinite recursion.
For further information visit https://errors.pydantic.dev/2.12/u/schema-for-unknown-type
Expected behavior
I can confirm it works in 1.17, but not in i.18
Screenshots
Desktop (please complete the following information):
OS: linux
Python version(python -V): 3.10
ADK version(pip show google-adk): 1.18
Model Information:
Are you using LiteLLM: No
Which model is being used(e.g. gemini-2.5-pro): gemini-2.5-flash
Hi! it seems there is something wrong with adk api_server. I have the same problem and it's not just related to docs.
there is a bigger problem you can see these two issues. however, their solution didn't work for me. #3164 #3173
INFO: Started server process [15680]
INFO: Waiting for application startup.
+-----------------------------------------------------------------------------+
| ADK Web Server started |
| |
| For local testing, access at http://127.0.0.1:8000. |
+-----------------------------------------------------------------------------+
INFO: Application startup complete.
INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
INFO: 127.0.0.1:56087 - "GET /docs HTTP/1.1" 200 OK
INFO: 127.0.0.1:56087 - "GET /openapi.json HTTP/1.1" 500 Internal Server Error
ERROR: Exception in ASGI application
Traceback (most recent call last):
File "D:\uv\venvs\adks\Lib\site-packages\uvicorn\protocols\http\h11_impl.py", line 403, in run_asgi
result = await app( # type: ignore[func-returns-value]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
self.scope, self.receive, self.send
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "D:\uv\venvs\adks\Lib\site-packages\uvicorn\middleware\proxy_headers.py", line 60, in call
return await self.app(scope, receive, send)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\fastapi\applications.py", line 1133, in call
await super().call(scope, receive, send)
File "D:\uv\venvs\adks\Lib\site-packages\starlette\applications.py", line 113, in call
await self.middleware_stack(scope, receive, send)
File "D:\uv\venvs\adks\Lib\site-packages\starlette\middleware\errors.py", line 186, in call
raise exc
File "D:\uv\venvs\adks\Lib\site-packages\starlette\middleware\errors.py", line 164, in call
await self.app(scope, receive, _send)
File "D:\uv\venvs\adks\Lib\site-packages\starlette\middleware\exceptions.py", line 63, in call
await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
File "D:\uv\venvs\adks\Lib\site-packages\starlette_exception_handler.py", line 53, in wrapped_app
raise exc
File "D:\uv\venvs\adks\Lib\site-packages\starlette_exception_handler.py", line 42, in wrapped_app
await app(scope, receive, sender)
File "D:\uv\venvs\adks\Lib\site-packages\fastapi\middleware\asyncexitstack.py", line 18, in call
await self.app(scope, receive, send)
File "D:\uv\venvs\adks\Lib\site-packages\starlette\routing.py", line 716, in call
await self.middleware_stack(scope, receive, send)
File "D:\uv\venvs\adks\Lib\site-packages\starlette\routing.py", line 736, in app
await route.handle(scope, receive, send)
File "D:\uv\venvs\adks\Lib\site-packages\starlette\routing.py", line 290, in handle
await self.app(scope, receive, send)
File "D:\uv\venvs\adks\Lib\site-packages\starlette\routing.py", line 78, in app
await wrap_app_handling_exceptions(app, request)(scope, receive, send)
File "D:\uv\venvs\adks\Lib\site-packages\starlette_exception_handler.py", line 53, in wrapped_app
raise exc
File "D:\uv\venvs\adks\Lib\site-packages\starlette_exception_handler.py", line 42, in wrapped_app
await app(scope, receive, sender)
File "D:\uv\venvs\adks\Lib\site-packages\starlette\routing.py", line 75, in app
response = await f(request)
^^^^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\fastapi\applications.py", line 1088, in openapi
return JSONResponse(self.openapi())
~~~~~~~~~~~~^^
File "D:\uv\venvs\adks\Lib\site-packages\fastapi\applications.py", line 1059, in openapi
self.openapi_schema = get_openapi(
~~~~~~~~~~~^
title=self.title,
^^^^^^^^^^^^^^^^^
...<12 lines>...
external_docs=self.openapi_external_docs,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "D:\uv\venvs\adks\Lib\site-packages\fastapi\openapi\utils.py", line 514, in get_openapi
field_mapping, definitions = get_definitions(
~~~~~~~~~~~~~~~^
fields=all_fields,
^^^^^^^^^^^^^^^^^^
...<2 lines>...
separate_input_output_schemas=separate_input_output_schemas,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "D:\uv\venvs\adks\Lib\site-packages\fastapi_compat.py", line 244, in get_definitions
field_mapping, definitions = schema_generator.generate_definitions(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
inputs=inputs
^^^^^^^^^^^^^
)
^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 379, in generate_definitions
self.generate_inner(schema)
~~~~~~~~~~~~~~~~~~~^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 578, in generate_inner
json_schema = current_handler(schema)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic_internal_schema_generation_shared.py", line 37, in call
return self.handler(core_schema)
~~~~~~~~~~~~^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 511, in handler_func
json_schema = generate_for_schema_type(schema_or_field)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 2088, in definitions_schema
return self.generate_inner(schema['schema'])
~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 578, in generate_inner
json_schema = current_handler(schema)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic_internal_schema_generation_shared.py", line 37, in call
return self.handler(core_schema)
~~~~~~~~~~~~^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 511, in handler_func
json_schema = generate_for_schema_type(schema_or_field)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 959, in list_schema
items_schema = {} if 'items_schema' not in schema else self.generate_inner(schema['items_schema'])
~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 578, in generate_inner
json_schema = current_handler(schema)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic_internal_schema_generation_shared.py", line 37, in call
return self.handler(core_schema)
~~~~~~~~~~~~^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 556, in new_handler_func
json_schema = js_modify_function(schema_or_field, current_handler)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\main.py", line 852, in get_pydantic_json_schema
return handler(core_schema)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic_internal_schema_generation_shared.py", line 37, in call
return self.handler(core_schema)
~~~~~~~~~~~~^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 511, in handler_func
json_schema = generate_for_schema_type(schema_or_field)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 1604, in model_schema
json_schema = self.generate_inner(schema['schema'])
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 578, in generate_inner
json_schema = current_handler(schema)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic_internal_schema_generation_shared.py", line 37, in call
return self.handler(core_schema)
~~~~~~~~~~~~^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 511, in handler_func
json_schema = generate_for_schema_type(schema_or_field)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 1717, in model_fields_schema
json_schema = self._named_required_fields_schema(named_required_fields)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 1508, in _named_required_fields_schema
field_json_schema = self.generate_inner(field).copy()
~~~~~~~~~~~~~~~~~~~^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 578, in generate_inner
json_schema = current_handler(schema)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic_internal_schema_generation_shared.py", line 37, in call
return self.handler(core_schema)
~~~~~~~~~~~~^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 528, in js_updates_handler_func
json_schema = {**current_handler(schema_or_field), **js_updates}
~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic_internal_schema_generation_shared.py", line 37, in call
return self.handler(core_schema)
~~~~~~~~~~~~^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 511, in handler_func
json_schema = generate_for_schema_type(schema_or_field)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 1576, in model_field_schema
return self.generate_inner(schema['schema'])
~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 578, in generate_inner
json_schema = current_handler(schema)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic_internal_schema_generation_shared.py", line 37, in call
return self.handler(core_schema)
~~~~~~~~~~~~^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 511, in handler_func
json_schema = generate_for_schema_type(schema_or_field)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 1175, in default_schema
json_schema = self.generate_inner(schema['schema'])
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 578, in generate_inner
json_schema = current_handler(schema)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic_internal_schema_generation_shared.py", line 37, in call
return self.handler(core_schema)
~~~~~~~~~~~~^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 511, in handler_func
json_schema = generate_for_schema_type(schema_or_field)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 959, in list_schema
items_schema = {} if 'items_schema' not in schema else self.generate_inner(schema['items_schema'])
~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 578, in generate_inner
json_schema = current_handler(schema)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic_internal_schema_generation_shared.py", line 37, in call
return self.handler(core_schema)
~~~~~~~~~~~~^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 511, in handler_func
json_schema = generate_for_schema_type(schema_or_field)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 1013, in tuple_schema
prefixItems = [self.generate_inner(item) for item in schema['items_schema']]
~~~~~~~~~~~~~~~~~~~^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 578, in generate_inner
json_schema = current_handler(schema)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic_internal_schema_generation_shared.py", line 37, in call
return self.handler(core_schema)
~~~~~~~~~~~~^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 556, in new_handler_func
json_schema = js_modify_function(schema_or_field, current_handler)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\main.py", line 852, in get_pydantic_json_schema
return handler(core_schema)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic_internal_schema_generation_shared.py", line 37, in call
return self.handler(core_schema)
~~~~~~~~~~~~^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 511, in handler_func
json_schema = generate_for_schema_type(schema_or_field)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 1604, in model_schema
json_schema = self.generate_inner(schema['schema'])
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 578, in generate_inner
json_schema = current_handler(schema)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic_internal_schema_generation_shared.py", line 37, in call
return self.handler(core_schema)
~~~~~~~~~~~~^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 511, in handler_func
json_schema = generate_for_schema_type(schema_or_field)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 1717, in model_fields_schema
json_schema = self._named_required_fields_schema(named_required_fields)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 1508, in _named_required_fields_schema
field_json_schema = self.generate_inner(field).copy()
~~~~~~~~~~~~~~~~~~~^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 578, in generate_inner
json_schema = current_handler(schema)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic_internal_schema_generation_shared.py", line 37, in call
return self.handler(core_schema)
~~~~~~~~~~~~^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 528, in js_updates_handler_func
json_schema = {**current_handler(schema_or_field), **js_updates}
~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic_internal_schema_generation_shared.py", line 37, in call
return self.handler(core_schema)
~~~~~~~~~~~~^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 511, in handler_func
json_schema = generate_for_schema_type(schema_or_field)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 1576, in model_field_schema
return self.generate_inner(schema['schema'])
~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 578, in generate_inner
json_schema = current_handler(schema)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic_internal_schema_generation_shared.py", line 37, in call
return self.handler(core_schema)
~~~~~~~~~~~~^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 511, in handler_func
json_schema = generate_for_schema_type(schema_or_field)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 1175, in default_schema
json_schema = self.generate_inner(schema['schema'])
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 578, in generate_inner
json_schema = current_handler(schema)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic_internal_schema_generation_shared.py", line 37, in call
return self.handler(core_schema)
~~~~~~~~~~~~^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 511, in handler_func
json_schema = generate_for_schema_type(schema_or_field)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 1245, in nullable_schema
inner_json_schema = self.generate_inner(schema['schema'])
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 578, in generate_inner
json_schema = current_handler(schema)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic_internal_schema_generation_shared.py", line 37, in call
return self.handler(core_schema)
~~~~~~~~~~~~^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 556, in new_handler_func
json_schema = js_modify_function(schema_or_field, current_handler)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\main.py", line 852, in get_pydantic_json_schema
return handler(core_schema)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic_internal_schema_generation_shared.py", line 37, in call
return self.handler(core_schema)
~~~~~~~~~~~~^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 511, in handler_func
json_schema = generate_for_schema_type(schema_or_field)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 1604, in model_schema
json_schema = self.generate_inner(schema['schema'])
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 578, in generate_inner
json_schema = current_handler(schema)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic_internal_schema_generation_shared.py", line 37, in call
return self.handler(core_schema)
~~~~~~~~~~~~^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 511, in handler_func
json_schema = generate_for_schema_type(schema_or_field)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 1717, in model_fields_schema
json_schema = self._named_required_fields_schema(named_required_fields)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 1508, in _named_required_fields_schema
field_json_schema = self.generate_inner(field).copy()
~~~~~~~~~~~~~~~~~~~^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 578, in generate_inner
json_schema = current_handler(schema)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic_internal_schema_generation_shared.py", line 37, in call
return self.handler(core_schema)
~~~~~~~~~~~~^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 528, in js_updates_handler_func
json_schema = {**current_handler(schema_or_field), **js_updates}
~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic_internal_schema_generation_shared.py", line 37, in call
return self.handler(core_schema)
~~~~~~~~~~~~^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 511, in handler_func
json_schema = generate_for_schema_type(schema_or_field)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 1576, in model_field_schema
return self.generate_inner(schema['schema'])
~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 578, in generate_inner
json_schema = current_handler(schema)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic_internal_schema_generation_shared.py", line 37, in call
return self.handler(core_schema)
~~~~~~~~~~~~^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 511, in handler_func
json_schema = generate_for_schema_type(schema_or_field)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 1175, in default_schema
json_schema = self.generate_inner(schema['schema'])
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 578, in generate_inner
json_schema = current_handler(schema)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic_internal_schema_generation_shared.py", line 37, in call
return self.handler(core_schema)
~~~~~~~~~~~~^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 511, in handler_func
json_schema = generate_for_schema_type(schema_or_field)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 1245, in nullable_schema
inner_json_schema = self.generate_inner(schema['schema'])
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 578, in generate_inner
json_schema = current_handler(schema)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic_internal_schema_generation_shared.py", line 37, in call
return self.handler(core_schema)
~~~~~~~~~~~~^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 556, in new_handler_func
json_schema = js_modify_function(schema_or_field, current_handler)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\main.py", line 852, in get_pydantic_json_schema
return handler(core_schema)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic_internal_schema_generation_shared.py", line 37, in call
return self.handler(core_schema)
~~~~~~~~~~~~^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 511, in handler_func
json_schema = generate_for_schema_type(schema_or_field)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 1604, in model_schema
json_schema = self.generate_inner(schema['schema'])
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 578, in generate_inner
json_schema = current_handler(schema)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic_internal_schema_generation_shared.py", line 37, in call
return self.handler(core_schema)
~~~~~~~~~~~~^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 511, in handler_func
json_schema = generate_for_schema_type(schema_or_field)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 1123, in function_before_schema
return self.generate_inner(schema['schema'])
~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 578, in generate_inner
json_schema = current_handler(schema)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic_internal_schema_generation_shared.py", line 37, in call
return self.handler(core_schema)
~~~~~~~~~~~~^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 511, in handler_func
json_schema = generate_for_schema_type(schema_or_field)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 1717, in model_fields_schema
json_schema = self._named_required_fields_schema(named_required_fields)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 1508, in _named_required_fields_schema
field_json_schema = self.generate_inner(field).copy()
~~~~~~~~~~~~~~~~~~~^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 578, in generate_inner
json_schema = current_handler(schema)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic_internal_schema_generation_shared.py", line 37, in call
return self.handler(core_schema)
~~~~~~~~~~~~^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 528, in js_updates_handler_func
json_schema = {**current_handler(schema_or_field), **js_updates}
~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic_internal_schema_generation_shared.py", line 37, in call
return self.handler(core_schema)
~~~~~~~~~~~~^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 511, in handler_func
json_schema = generate_for_schema_type(schema_or_field)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 1576, in model_field_schema
return self.generate_inner(schema['schema'])
~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 578, in generate_inner
json_schema = current_handler(schema)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic_internal_schema_generation_shared.py", line 37, in call
return self.handler(core_schema)
~~~~~~~~~~~~^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 511, in handler_func
json_schema = generate_for_schema_type(schema_or_field)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 1175, in default_schema
json_schema = self.generate_inner(schema['schema'])
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 578, in generate_inner
json_schema = current_handler(schema)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic_internal_schema_generation_shared.py", line 37, in call
return self.handler(core_schema)
~~~~~~~~~~~~^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 511, in handler_func
json_schema = generate_for_schema_type(schema_or_field)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 1245, in nullable_schema
inner_json_schema = self.generate_inner(schema['schema'])
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 578, in generate_inner
json_schema = current_handler(schema)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic_internal_schema_generation_shared.py", line 37, in call
return self.handler(core_schema)
~~~~~~~~~~~~^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 556, in new_handler_func
json_schema = js_modify_function(schema_or_field, current_handler)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\main.py", line 852, in get_pydantic_json_schema
return handler(core_schema)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic_internal_schema_generation_shared.py", line 37, in call
return self.handler(core_schema)
~~~~~~~~~~~~^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 511, in handler_func
json_schema = generate_for_schema_type(schema_or_field)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 1604, in model_schema
json_schema = self.generate_inner(schema['schema'])
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 578, in generate_inner
json_schema = current_handler(schema)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic_internal_schema_generation_shared.py", line 37, in call
return self.handler(core_schema)
~~~~~~~~~~~~^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 511, in handler_func
json_schema = generate_for_schema_type(schema_or_field)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 1123, in function_before_schema
return self.generate_inner(schema['schema'])
~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 578, in generate_inner
json_schema = current_handler(schema)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic_internal_schema_generation_shared.py", line 37, in call
return self.handler(core_schema)
~~~~~~~~~~~~^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 511, in handler_func
json_schema = generate_for_schema_type(schema_or_field)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 1717, in model_fields_schema
json_schema = self._named_required_fields_schema(named_required_fields)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 1508, in _named_required_fields_schema
field_json_schema = self.generate_inner(field).copy()
~~~~~~~~~~~~~~~~~~~^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 578, in generate_inner
json_schema = current_handler(schema)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic_internal_schema_generation_shared.py", line 37, in call
return self.handler(core_schema)
~~~~~~~~~~~~^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 528, in js_updates_handler_func
json_schema = {**current_handler(schema_or_field), **js_updates}
~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic_internal_schema_generation_shared.py", line 37, in call
return self.handler(core_schema)
~~~~~~~~~~~~^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 511, in handler_func
json_schema = generate_for_schema_type(schema_or_field)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 1576, in model_field_schema
return self.generate_inner(schema['schema'])
~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 578, in generate_inner
json_schema = current_handler(schema)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic_internal_schema_generation_shared.py", line 37, in call
return self.handler(core_schema)
~~~~~~~~~~~~^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 511, in handler_func
json_schema = generate_for_schema_type(schema_or_field)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 1175, in default_schema
json_schema = self.generate_inner(schema['schema'])
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 578, in generate_inner
json_schema = current_handler(schema)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic_internal_schema_generation_shared.py", line 37, in call
return self.handler(core_schema)
~~~~~~~~~~~~^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 511, in handler_func
json_schema = generate_for_schema_type(schema_or_field)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 1245, in nullable_schema
inner_json_schema = self.generate_inner(schema['schema'])
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 578, in generate_inner
json_schema = current_handler(schema)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic_internal_schema_generation_shared.py", line 37, in call
return self.handler(core_schema)
~~~~~~~~~~~~^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 511, in handler_func
json_schema = generate_for_schema_type(schema_or_field)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 921, in is_instance_schema
return self.handle_invalid_for_json_schema(schema, f'core_schema.IsInstanceSchema ({schema["cls"]})')
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 2442, in handle_invalid_for_json_schema
raise PydanticInvalidForJsonSchema(f'Cannot generate a JsonSchema for {error_info}')
pydantic.errors.PydanticInvalidForJsonSchema: Cannot generate a JsonSchema for core_schema.IsInstanceSchema (<class 'httpx.Client'>)
@chiragpatil-lp yes, though swagger isn’t working, but all APIs are, hit {base-url}/list-apps and you can see all apps, we don’t really need swagger, we just need all apis working!
@zmy1116 This is a Pydantic v2 compatibility issue where FastAPI can't generate JSON schemas for certain types (httpx.Client, mcp.client.session.ClientSession) exposed in ADK routes.
Hi, @ManuelSLemos
Could you elaborate more on where should we put this code?
like imagine I start with a raw project that only has agent.py, .env, init.py
Update:this issue is still present in ADK v1.21.0. PR #3521 with the fix has not been merged yet.
@alirezahekmati For the workaround, if you're using adk web or adk api_server commands directly, you'll need to create a custom FastAPI app instead. Here's how:
fromgoogle.adk.cli.fast_apiimportget_fast_api_appfrompydantic_v2_compatibilityimportcreate_robust_openapi_functionimportuvicornapp=get_fast_api_app(agents_dir="./agents") # Point to your agents directoryapp.openapi=create_robust_openapi_function(app)
if__name__=="__main__":
uvicorn.run(app, host="127.0.0.1", port=8000)
Run: python server.py
Alternatively, downgrade to ADK v1.17 where this works: pip install google-adk==1.17.0
The core APIs work fine in v1.18-v1.21.0 (you can use /list-apps and other endpoints) - only the /docs Swagger UI is broken.
Activity
alirezahekmati commentedon Nov 15, 2025
Hi! it seems there is something wrong with adk api_server. I have the same problem and it's not just related to docs.
there is a bigger problem you can see these two issues. however, their solution didn't work for me.
#3164
#3173
hcchengithub commentedon Nov 25, 2025
both 'adk api_server' and 'adk web' run into “Failed to load API definition” at the moment when try to visit http://localhost:8000/docs
Note: Roll back to 1.5.0 <-- OK!!
google-adk 1.19.0 , Windows 11 <--- problem! error message shown below:
INFO: Started server process [15680]
INFO: Waiting for application startup.
+-----------------------------------------------------------------------------+
| ADK Web Server started |
| |
| For local testing, access at http://127.0.0.1:8000. |
+-----------------------------------------------------------------------------+
INFO: Application startup complete.
INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
INFO: 127.0.0.1:56087 - "GET /docs HTTP/1.1" 200 OK
INFO: 127.0.0.1:56087 - "GET /openapi.json HTTP/1.1" 500 Internal Server Error
ERROR: Exception in ASGI application
Traceback (most recent call last):
File "D:\uv\venvs\adks\Lib\site-packages\uvicorn\protocols\http\h11_impl.py", line 403, in run_asgi
result = await app( # type: ignore[func-returns-value]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
self.scope, self.receive, self.send
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "D:\uv\venvs\adks\Lib\site-packages\uvicorn\middleware\proxy_headers.py", line 60, in call
return await self.app(scope, receive, send)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\fastapi\applications.py", line 1133, in call
await super().call(scope, receive, send)
File "D:\uv\venvs\adks\Lib\site-packages\starlette\applications.py", line 113, in call
await self.middleware_stack(scope, receive, send)
File "D:\uv\venvs\adks\Lib\site-packages\starlette\middleware\errors.py", line 186, in call
raise exc
File "D:\uv\venvs\adks\Lib\site-packages\starlette\middleware\errors.py", line 164, in call
await self.app(scope, receive, _send)
File "D:\uv\venvs\adks\Lib\site-packages\starlette\middleware\exceptions.py", line 63, in call
await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
File "D:\uv\venvs\adks\Lib\site-packages\starlette_exception_handler.py", line 53, in wrapped_app
raise exc
File "D:\uv\venvs\adks\Lib\site-packages\starlette_exception_handler.py", line 42, in wrapped_app
await app(scope, receive, sender)
File "D:\uv\venvs\adks\Lib\site-packages\fastapi\middleware\asyncexitstack.py", line 18, in call
await self.app(scope, receive, send)
File "D:\uv\venvs\adks\Lib\site-packages\starlette\routing.py", line 716, in call
await self.middleware_stack(scope, receive, send)
File "D:\uv\venvs\adks\Lib\site-packages\starlette\routing.py", line 736, in app
await route.handle(scope, receive, send)
File "D:\uv\venvs\adks\Lib\site-packages\starlette\routing.py", line 290, in handle
await self.app(scope, receive, send)
File "D:\uv\venvs\adks\Lib\site-packages\starlette\routing.py", line 78, in app
await wrap_app_handling_exceptions(app, request)(scope, receive, send)
File "D:\uv\venvs\adks\Lib\site-packages\starlette_exception_handler.py", line 53, in wrapped_app
raise exc
File "D:\uv\venvs\adks\Lib\site-packages\starlette_exception_handler.py", line 42, in wrapped_app
await app(scope, receive, sender)
File "D:\uv\venvs\adks\Lib\site-packages\starlette\routing.py", line 75, in app
response = await f(request)
^^^^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\fastapi\applications.py", line 1088, in openapi
return JSONResponse(self.openapi())
~~~~~~~~~~~~^^
File "D:\uv\venvs\adks\Lib\site-packages\fastapi\applications.py", line 1059, in openapi
self.openapi_schema = get_openapi(
~~~~~~~~~~~^
title=self.title,
^^^^^^^^^^^^^^^^^
...<12 lines>...
external_docs=self.openapi_external_docs,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "D:\uv\venvs\adks\Lib\site-packages\fastapi\openapi\utils.py", line 514, in get_openapi
field_mapping, definitions = get_definitions(
~~~~~~~~~~~~~~~^
fields=all_fields,
^^^^^^^^^^^^^^^^^^
...<2 lines>...
separate_input_output_schemas=separate_input_output_schemas,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "D:\uv\venvs\adks\Lib\site-packages\fastapi_compat.py", line 244, in get_definitions
field_mapping, definitions = schema_generator.generate_definitions(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
inputs=inputs
^^^^^^^^^^^^^
)
^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 379, in generate_definitions
self.generate_inner(schema)
~~~~~~~~~~~~~~~~~~~^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 578, in generate_inner
json_schema = current_handler(schema)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic_internal_schema_generation_shared.py", line 37, in call
return self.handler(core_schema)
~~~~~~~~~~~~^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 511, in handler_func
json_schema = generate_for_schema_type(schema_or_field)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 2088, in definitions_schema
return self.generate_inner(schema['schema'])
~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 578, in generate_inner
json_schema = current_handler(schema)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic_internal_schema_generation_shared.py", line 37, in call
return self.handler(core_schema)
~~~~~~~~~~~~^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 511, in handler_func
json_schema = generate_for_schema_type(schema_or_field)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 959, in list_schema
items_schema = {} if 'items_schema' not in schema else self.generate_inner(schema['items_schema'])
~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 578, in generate_inner
json_schema = current_handler(schema)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic_internal_schema_generation_shared.py", line 37, in call
return self.handler(core_schema)
~~~~~~~~~~~~^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 556, in new_handler_func
json_schema = js_modify_function(schema_or_field, current_handler)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\main.py", line 852, in get_pydantic_json_schema
return handler(core_schema)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic_internal_schema_generation_shared.py", line 37, in call
return self.handler(core_schema)
~~~~~~~~~~~~^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 511, in handler_func
json_schema = generate_for_schema_type(schema_or_field)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 1604, in model_schema
json_schema = self.generate_inner(schema['schema'])
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 578, in generate_inner
json_schema = current_handler(schema)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic_internal_schema_generation_shared.py", line 37, in call
return self.handler(core_schema)
~~~~~~~~~~~~^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 511, in handler_func
json_schema = generate_for_schema_type(schema_or_field)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 1717, in model_fields_schema
json_schema = self._named_required_fields_schema(named_required_fields)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 1508, in _named_required_fields_schema
field_json_schema = self.generate_inner(field).copy()
~~~~~~~~~~~~~~~~~~~^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 578, in generate_inner
json_schema = current_handler(schema)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic_internal_schema_generation_shared.py", line 37, in call
return self.handler(core_schema)
~~~~~~~~~~~~^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 528, in js_updates_handler_func
json_schema = {**current_handler(schema_or_field), **js_updates}
~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic_internal_schema_generation_shared.py", line 37, in call
return self.handler(core_schema)
~~~~~~~~~~~~^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 511, in handler_func
json_schema = generate_for_schema_type(schema_or_field)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 1576, in model_field_schema
return self.generate_inner(schema['schema'])
~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 578, in generate_inner
json_schema = current_handler(schema)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic_internal_schema_generation_shared.py", line 37, in call
return self.handler(core_schema)
~~~~~~~~~~~~^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 511, in handler_func
json_schema = generate_for_schema_type(schema_or_field)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 1175, in default_schema
json_schema = self.generate_inner(schema['schema'])
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 578, in generate_inner
json_schema = current_handler(schema)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic_internal_schema_generation_shared.py", line 37, in call
return self.handler(core_schema)
~~~~~~~~~~~~^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 511, in handler_func
json_schema = generate_for_schema_type(schema_or_field)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 959, in list_schema
items_schema = {} if 'items_schema' not in schema else self.generate_inner(schema['items_schema'])
~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 578, in generate_inner
json_schema = current_handler(schema)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic_internal_schema_generation_shared.py", line 37, in call
return self.handler(core_schema)
~~~~~~~~~~~~^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 511, in handler_func
json_schema = generate_for_schema_type(schema_or_field)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 1013, in tuple_schema
prefixItems = [self.generate_inner(item) for item in schema['items_schema']]
~~~~~~~~~~~~~~~~~~~^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 578, in generate_inner
json_schema = current_handler(schema)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic_internal_schema_generation_shared.py", line 37, in call
return self.handler(core_schema)
~~~~~~~~~~~~^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 556, in new_handler_func
json_schema = js_modify_function(schema_or_field, current_handler)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\main.py", line 852, in get_pydantic_json_schema
return handler(core_schema)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic_internal_schema_generation_shared.py", line 37, in call
return self.handler(core_schema)
~~~~~~~~~~~~^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 511, in handler_func
json_schema = generate_for_schema_type(schema_or_field)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 1604, in model_schema
json_schema = self.generate_inner(schema['schema'])
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 578, in generate_inner
json_schema = current_handler(schema)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic_internal_schema_generation_shared.py", line 37, in call
return self.handler(core_schema)
~~~~~~~~~~~~^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 511, in handler_func
json_schema = generate_for_schema_type(schema_or_field)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 1717, in model_fields_schema
json_schema = self._named_required_fields_schema(named_required_fields)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 1508, in _named_required_fields_schema
field_json_schema = self.generate_inner(field).copy()
~~~~~~~~~~~~~~~~~~~^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 578, in generate_inner
json_schema = current_handler(schema)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic_internal_schema_generation_shared.py", line 37, in call
return self.handler(core_schema)
~~~~~~~~~~~~^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 528, in js_updates_handler_func
json_schema = {**current_handler(schema_or_field), **js_updates}
~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic_internal_schema_generation_shared.py", line 37, in call
return self.handler(core_schema)
~~~~~~~~~~~~^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 511, in handler_func
json_schema = generate_for_schema_type(schema_or_field)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 1576, in model_field_schema
return self.generate_inner(schema['schema'])
~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 578, in generate_inner
json_schema = current_handler(schema)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic_internal_schema_generation_shared.py", line 37, in call
return self.handler(core_schema)
~~~~~~~~~~~~^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 511, in handler_func
json_schema = generate_for_schema_type(schema_or_field)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 1175, in default_schema
json_schema = self.generate_inner(schema['schema'])
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 578, in generate_inner
json_schema = current_handler(schema)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic_internal_schema_generation_shared.py", line 37, in call
return self.handler(core_schema)
~~~~~~~~~~~~^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 511, in handler_func
json_schema = generate_for_schema_type(schema_or_field)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 1245, in nullable_schema
inner_json_schema = self.generate_inner(schema['schema'])
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 578, in generate_inner
json_schema = current_handler(schema)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic_internal_schema_generation_shared.py", line 37, in call
return self.handler(core_schema)
~~~~~~~~~~~~^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 556, in new_handler_func
json_schema = js_modify_function(schema_or_field, current_handler)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\main.py", line 852, in get_pydantic_json_schema
return handler(core_schema)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic_internal_schema_generation_shared.py", line 37, in call
return self.handler(core_schema)
~~~~~~~~~~~~^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 511, in handler_func
json_schema = generate_for_schema_type(schema_or_field)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 1604, in model_schema
json_schema = self.generate_inner(schema['schema'])
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 578, in generate_inner
json_schema = current_handler(schema)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic_internal_schema_generation_shared.py", line 37, in call
return self.handler(core_schema)
~~~~~~~~~~~~^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 511, in handler_func
json_schema = generate_for_schema_type(schema_or_field)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 1717, in model_fields_schema
json_schema = self._named_required_fields_schema(named_required_fields)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 1508, in _named_required_fields_schema
field_json_schema = self.generate_inner(field).copy()
~~~~~~~~~~~~~~~~~~~^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 578, in generate_inner
json_schema = current_handler(schema)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic_internal_schema_generation_shared.py", line 37, in call
return self.handler(core_schema)
~~~~~~~~~~~~^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 528, in js_updates_handler_func
json_schema = {**current_handler(schema_or_field), **js_updates}
~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic_internal_schema_generation_shared.py", line 37, in call
return self.handler(core_schema)
~~~~~~~~~~~~^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 511, in handler_func
json_schema = generate_for_schema_type(schema_or_field)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 1576, in model_field_schema
return self.generate_inner(schema['schema'])
~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 578, in generate_inner
json_schema = current_handler(schema)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic_internal_schema_generation_shared.py", line 37, in call
return self.handler(core_schema)
~~~~~~~~~~~~^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 511, in handler_func
json_schema = generate_for_schema_type(schema_or_field)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 1175, in default_schema
json_schema = self.generate_inner(schema['schema'])
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 578, in generate_inner
json_schema = current_handler(schema)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic_internal_schema_generation_shared.py", line 37, in call
return self.handler(core_schema)
~~~~~~~~~~~~^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 511, in handler_func
json_schema = generate_for_schema_type(schema_or_field)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 1245, in nullable_schema
inner_json_schema = self.generate_inner(schema['schema'])
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 578, in generate_inner
json_schema = current_handler(schema)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic_internal_schema_generation_shared.py", line 37, in call
return self.handler(core_schema)
~~~~~~~~~~~~^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 556, in new_handler_func
json_schema = js_modify_function(schema_or_field, current_handler)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\main.py", line 852, in get_pydantic_json_schema
return handler(core_schema)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic_internal_schema_generation_shared.py", line 37, in call
return self.handler(core_schema)
~~~~~~~~~~~~^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 511, in handler_func
json_schema = generate_for_schema_type(schema_or_field)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 1604, in model_schema
json_schema = self.generate_inner(schema['schema'])
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 578, in generate_inner
json_schema = current_handler(schema)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic_internal_schema_generation_shared.py", line 37, in call
return self.handler(core_schema)
~~~~~~~~~~~~^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 511, in handler_func
json_schema = generate_for_schema_type(schema_or_field)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 1123, in function_before_schema
return self.generate_inner(schema['schema'])
~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 578, in generate_inner
json_schema = current_handler(schema)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic_internal_schema_generation_shared.py", line 37, in call
return self.handler(core_schema)
~~~~~~~~~~~~^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 511, in handler_func
json_schema = generate_for_schema_type(schema_or_field)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 1717, in model_fields_schema
json_schema = self._named_required_fields_schema(named_required_fields)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 1508, in _named_required_fields_schema
field_json_schema = self.generate_inner(field).copy()
~~~~~~~~~~~~~~~~~~~^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 578, in generate_inner
json_schema = current_handler(schema)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic_internal_schema_generation_shared.py", line 37, in call
return self.handler(core_schema)
~~~~~~~~~~~~^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 528, in js_updates_handler_func
json_schema = {**current_handler(schema_or_field), **js_updates}
~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic_internal_schema_generation_shared.py", line 37, in call
return self.handler(core_schema)
~~~~~~~~~~~~^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 511, in handler_func
json_schema = generate_for_schema_type(schema_or_field)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 1576, in model_field_schema
return self.generate_inner(schema['schema'])
~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 578, in generate_inner
json_schema = current_handler(schema)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic_internal_schema_generation_shared.py", line 37, in call
return self.handler(core_schema)
~~~~~~~~~~~~^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 511, in handler_func
json_schema = generate_for_schema_type(schema_or_field)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 1175, in default_schema
json_schema = self.generate_inner(schema['schema'])
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 578, in generate_inner
json_schema = current_handler(schema)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic_internal_schema_generation_shared.py", line 37, in call
return self.handler(core_schema)
~~~~~~~~~~~~^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 511, in handler_func
json_schema = generate_for_schema_type(schema_or_field)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 1245, in nullable_schema
inner_json_schema = self.generate_inner(schema['schema'])
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 578, in generate_inner
json_schema = current_handler(schema)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic_internal_schema_generation_shared.py", line 37, in call
return self.handler(core_schema)
~~~~~~~~~~~~^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 556, in new_handler_func
json_schema = js_modify_function(schema_or_field, current_handler)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\main.py", line 852, in get_pydantic_json_schema
return handler(core_schema)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic_internal_schema_generation_shared.py", line 37, in call
return self.handler(core_schema)
~~~~~~~~~~~~^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 511, in handler_func
json_schema = generate_for_schema_type(schema_or_field)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 1604, in model_schema
json_schema = self.generate_inner(schema['schema'])
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 578, in generate_inner
json_schema = current_handler(schema)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic_internal_schema_generation_shared.py", line 37, in call
return self.handler(core_schema)
~~~~~~~~~~~~^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 511, in handler_func
json_schema = generate_for_schema_type(schema_or_field)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 1123, in function_before_schema
return self.generate_inner(schema['schema'])
~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 578, in generate_inner
json_schema = current_handler(schema)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic_internal_schema_generation_shared.py", line 37, in call
return self.handler(core_schema)
~~~~~~~~~~~~^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 511, in handler_func
json_schema = generate_for_schema_type(schema_or_field)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 1717, in model_fields_schema
json_schema = self._named_required_fields_schema(named_required_fields)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 1508, in _named_required_fields_schema
field_json_schema = self.generate_inner(field).copy()
~~~~~~~~~~~~~~~~~~~^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 578, in generate_inner
json_schema = current_handler(schema)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic_internal_schema_generation_shared.py", line 37, in call
return self.handler(core_schema)
~~~~~~~~~~~~^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 528, in js_updates_handler_func
json_schema = {**current_handler(schema_or_field), **js_updates}
~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic_internal_schema_generation_shared.py", line 37, in call
return self.handler(core_schema)
~~~~~~~~~~~~^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 511, in handler_func
json_schema = generate_for_schema_type(schema_or_field)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 1576, in model_field_schema
return self.generate_inner(schema['schema'])
~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 578, in generate_inner
json_schema = current_handler(schema)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic_internal_schema_generation_shared.py", line 37, in call
return self.handler(core_schema)
~~~~~~~~~~~~^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 511, in handler_func
json_schema = generate_for_schema_type(schema_or_field)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 1175, in default_schema
json_schema = self.generate_inner(schema['schema'])
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 578, in generate_inner
json_schema = current_handler(schema)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic_internal_schema_generation_shared.py", line 37, in call
return self.handler(core_schema)
~~~~~~~~~~~~^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 511, in handler_func
json_schema = generate_for_schema_type(schema_or_field)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 1245, in nullable_schema
inner_json_schema = self.generate_inner(schema['schema'])
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 578, in generate_inner
json_schema = current_handler(schema)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic_internal_schema_generation_shared.py", line 37, in call
return self.handler(core_schema)
~~~~~~~~~~~~^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 511, in handler_func
json_schema = generate_for_schema_type(schema_or_field)
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 921, in is_instance_schema
return self.handle_invalid_for_json_schema(schema, f'core_schema.IsInstanceSchema ({schema["cls"]})')
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\uv\venvs\adks\Lib\site-packages\pydantic\json_schema.py", line 2442, in handle_invalid_for_json_schema
raise PydanticInvalidForJsonSchema(f'Cannot generate a JsonSchema for {error_info}')
pydantic.errors.PydanticInvalidForJsonSchema: Cannot generate a JsonSchema for core_schema.IsInstanceSchema (<class 'httpx.Client'>)
For further information visit https://errors.pydantic.dev/2.12/u/invalid-for-json-schema
bldev2473 commentedon Nov 25, 2025
Any updates?
Same problem in adk 1.19.0
pfrantz commentedon Nov 27, 2025
yep same adk 1.19.0 still has this problem
ManuelSLemos commentedon Nov 28, 2025
Hi, @zmy1116, @bldev2473 , @pfrantz
There is already a PR solving the issue, I guess it will be applied in the next version.
In the meantime, I have solved it by copying this file into my project (https://github.com/google/adk-python/blob/349aae4f3a92d24f2c544366b05b6813632085f7/src/google/adk/utils/pydantic_v2_compatibility.py)
and applying it this way.
bhattronak commentedon Dec 10, 2025
same in adk 1.20.0
chiragpatil-lp commentedon Dec 11, 2025
@bhattronak I have just upgraded to 1.20.0 but get the same error, is this this case with you too?
bhattronak commentedon Dec 11, 2025
@chiragpatil-lp yes, though swagger isn’t working, but all APIs are, hit {base-url}/list-apps and you can see all apps, we don’t really need swagger, we just need all apis working!
surajksharma07 commentedon Dec 12, 2025
@zmy1116 This is a Pydantic v2 compatibility issue where FastAPI can't generate JSON schemas for certain types (httpx.Client, mcp.client.session.ClientSession) exposed in ADK routes.
PR #3521 has the fix - you can apply it now by downloading pydantic_v2_compatibility.py from https://github.com/google/adk-python/blob/349aae4f3a92d24f2c544366b05b6813632085f7/src/google/adk/utils/pydantic_v2_compatibility.py and adding
app.openapi = create_robust_openapi_function(app)after getting your FastAPI app.Alternatively, rolling back to ADK v1.17 works (confirmed by multiple users in this thread).
Thanks!
aechiara commentedon Dec 15, 2025
i was only able to run
api_serverwith these versions:pydantic==2.11.5pydantic-settings==2.9.1pydantic_core==2.33.2google-adk==1.15.1alirezahekmati commentedon Dec 17, 2025
Hi, @ManuelSLemos
Could you elaborate more on where should we put this code?
like imagine I start with a raw project that only has agent.py, .env, init.py
surajksharma07 commentedon Dec 17, 2025
Update:this issue is still present in ADK v1.21.0. PR #3521 with the fix has not been merged yet.
@alirezahekmati For the workaround, if you're using
adk weboradk api_servercommands directly, you'll need to create a custom FastAPI app instead. Here's how:pydantic_v2_compatibility.pyfrom https://github.com/google/adk-python/blob/349aae4f3a92d24f2c544366b05b6813632085f7/src/google/adk/utils/pydantic_v2_compatibility.py and save it in your project directoryserver.py):python server.pyAlternatively, downgrade to ADK v1.17 where this works:
pip install google-adk==1.17.0The core APIs work fine in v1.18-v1.21.0 (you can use
/list-appsand other endpoints) - only the/docsSwagger UI is broken.llalitkumarrr commentedon Feb 4, 2026
Closing this issue as there has been no recent activity.