Failed to parse response from plugin daemon to PluginDaemonBasicResponse [list], url: plugin/2f2423d5-5b94-4883-9311-f7ff225bc76b/management/triggers Traceback (most recent call last) #20679

Closed
opened 2026-02-21 20:08:26 -05:00 by yindo · 4 comments
Owner

Originally created by @hekf2010 on GitHub (Nov 28, 2025).

Originally assigned to: @RockChinQ on GitHub.

Self Checks

  • I have read the Contributing Guide and Language Policy.
  • This is only for bug report, if you would like to ask a question, please head to Discussions.
  • I have searched for existing issues search for existing issues, including closed ones.
  • I confirm that I am using English to submit this report, otherwise it will be closed.
  • 【中文用户 & Non English User】请使用英语提交,否则会被关闭 :)
  • Please do not modify this template :) and fill in all the required fields.

Dify version

1.10.0 and 1.10.1

Cloud or Self Hosted

Self Hosted (Docker)

Steps to reproduce

I deleted all workflows and then recreated a workflow (with no other workflows on the panel), and the following bug is reported. Please fix it.

2025-11-28 14:31:04.439 INFO [Dummy-70] [_client.py:1038] - HTTP Request: GET http://plugin_daemon:5002/plugin/2f2423d5-5b94-4883-9311-f7ff225bc76b/management/triggers?page=1&page_size=256 "HTTP/1.1 200 OK"
2025-11-28 14:31:04.443 ERROR [Dummy-70] [base.py:227] - Failed to parse response from plugin daemon to PluginDaemonBasicResponse [list], url: plugin/2f2423d5-5b94-4883-9311-f7ff225bc76b/management/triggers
Traceback (most recent call last):
File "/app/api/core/plugin/impl/base.py", line 221, in request_with_plugin_daemon_response
rep = PluginDaemonBasicResponse[type
].model_validate(json_response) # type: ignore
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/app/api/.venv/lib/python3.12/site-packages/pydantic/main.py", line 705, in model_validate
return cls.pydantic_validator.validate_python(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
pydantic_core._pydantic_core.ValidationError: 1 validation error for PluginDaemonBasicResponse[list[PluginTriggerProviderEntity]]
data.0.declaration.identity.tags
Input should be a valid list [type=list_type, input_value=None, input_type=NoneType]

✔️ Expected Behavior

I deleted all workflows and then recreated a workflow (with no other workflows on the panel), and the following bug is reported. Please fix it.

Actual Behavior

No response

Originally created by @hekf2010 on GitHub (Nov 28, 2025). Originally assigned to: @RockChinQ on GitHub. ### Self Checks - [x] I have read the [Contributing Guide](https://github.com/langgenius/dify/blob/main/CONTRIBUTING.md) and [Language Policy](https://github.com/langgenius/dify/issues/1542). - [x] This is only for bug report, if you would like to ask a question, please head to [Discussions](https://github.com/langgenius/dify/discussions/categories/general). - [x] I have searched for existing issues [search for existing issues](https://github.com/langgenius/dify/issues), including closed ones. - [x] I confirm that I am using English to submit this report, otherwise it will be closed. - [x] 【中文用户 & Non English User】请使用英语提交,否则会被关闭 :) - [x] Please do not modify this template :) and fill in all the required fields. ### Dify version 1.10.0 and 1.10.1 ### Cloud or Self Hosted Self Hosted (Docker) ### Steps to reproduce **I deleted all workflows and then recreated a workflow (with no other workflows on the panel), and the following bug is reported. Please fix it.** 2025-11-28 14:31:04.439 INFO [Dummy-70] [_client.py:1038] - HTTP Request: GET http://plugin_daemon:5002/plugin/2f2423d5-5b94-4883-9311-f7ff225bc76b/management/triggers?page=1&page_size=256 "HTTP/1.1 200 OK" 2025-11-28 14:31:04.443 ERROR [Dummy-70] [base.py:227] - Failed to parse response from plugin daemon to PluginDaemonBasicResponse [list], url: plugin/2f2423d5-5b94-4883-9311-f7ff225bc76b/management/triggers Traceback (most recent call last): File "/app/api/core/plugin/impl/base.py", line 221, in _request_with_plugin_daemon_response rep = PluginDaemonBasicResponse[type_].model_validate(json_response) # type: ignore ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/app/api/.venv/lib/python3.12/site-packages/pydantic/main.py", line 705, in model_validate return cls.__pydantic_validator__.validate_python( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ pydantic_core._pydantic_core.ValidationError: 1 validation error for PluginDaemonBasicResponse[list[PluginTriggerProviderEntity]] data.0.declaration.identity.tags Input should be a valid list [type=list_type, input_value=None, input_type=NoneType] ### ✔️ Expected Behavior I deleted all workflows and then recreated a workflow (with no other workflows on the panel), and the following bug is reported. Please fix it. ### ❌ Actual Behavior _No response_
yindo added the 🐞 bug label 2026-02-21 20:08:26 -05:00
yindo closed this issue 2026-02-21 20:08:26 -05:00
Author
Owner

@dosubot[bot] commented on GitHub (Nov 28, 2025):

Hi @hekf2010! I'm Dosu and I’m helping the dify team.

The error happens because the plugin daemon sometimes returns "tags": null for a trigger provider, but the Dify backend expects tags to always be a list (even if empty). Pydantic tries to coerce null to a list before running the field validator, so the validator that would convert None to [] never gets a chance to run, resulting in the validation failure you see. This is a known schema mismatch issue in Dify's plugin trigger handling [source].

No official fix has landed after the recent trigger-related changes, and recent PRs focus on UI and workflow validation, not backend schema handling. As a workaround, you can patch your plugin daemon or any middleware that processes its responses to ensure tags is always an array (never null or omitted). For example, before returning the trigger provider metadata, set tags = tags or [].

For plugin developers: always return an array for tags in your trigger provider metadata, even if it's empty, to avoid this error.

If you need a quick patch, you can preprocess the plugin daemon's JSON response and replace any null tags with [] before passing it to Pydantic for validation. This will prevent the validation error until an upstream fix is released.

To reply, just mention @dosu.


How did I do? Good | Irrelevant | Incorrect | Verbose | Hallucination | Report 🐛 | Other

Chat with Dosu Open in Cursor Join Discord Share on X

@dosubot[bot] commented on GitHub (Nov 28, 2025): <!-- Greeting --> Hi @hekf2010! I'm [Dosu](https://go.dosu.dev/dosubot) and I’m helping the dify team. <!-- Answer --> The error happens because the plugin daemon sometimes returns `"tags": null` for a trigger provider, but the Dify backend expects `tags` to always be a list (even if empty). Pydantic tries to coerce `null` to a list before running the field validator, so the validator that would convert `None` to `[]` never gets a chance to run, resulting in the validation failure you see. This is a known schema mismatch issue in Dify's plugin trigger handling [[source](https://github.com/langgenius/dify/blob/ddad2460f3ee4906df6819c48babaeab62221b43/api/core/trigger/entities/entities.py#L72-L77)]. No official fix has landed after the recent trigger-related changes, and recent PRs focus on UI and workflow validation, not backend schema handling. As a workaround, you can patch your plugin daemon or any middleware that processes its responses to ensure `tags` is always an array (never `null` or omitted). For example, before returning the trigger provider metadata, set `tags = tags or []`. For plugin developers: always return an array for `tags` in your trigger provider metadata, even if it's empty, to avoid this error. If you need a quick patch, you can preprocess the plugin daemon's JSON response and replace any `null` `tags` with `[]` before passing it to Pydantic for validation. This will prevent the validation error until an upstream fix is released. <!-- Dosu Comment Footer --> *To reply, just mention [@dosu](https://go.dosu.dev/dosubot).* --- <sup>How did I do? [Good](https://app.dosu.dev/response-feedback/fd61bd98-2695-4a59-a613-fc011ea37dec?feedback_type=great_response) | [Irrelevant](https://app.dosu.dev/response-feedback/fd61bd98-2695-4a59-a613-fc011ea37dec?feedback_type=irrelevant_answer) | [Incorrect](https://app.dosu.dev/response-feedback/fd61bd98-2695-4a59-a613-fc011ea37dec?feedback_type=incorrect_sources) | [Verbose](https://app.dosu.dev/response-feedback/fd61bd98-2695-4a59-a613-fc011ea37dec?feedback_type=too_verbose) | [Hallucination](https://app.dosu.dev/response-feedback/fd61bd98-2695-4a59-a613-fc011ea37dec?feedback_type=hallucination) | [Report 🐛](https://app.dosu.dev/response-feedback/fd61bd98-2695-4a59-a613-fc011ea37dec?feedback_type=bug_report) | [Other](https://app.dosu.dev/response-feedback/fd61bd98-2695-4a59-a613-fc011ea37dec?feedback_type=other)</sup> [![Chat with Dosu](https://dosu.dev/dosu-chat-badge.svg)](https://app.dosu.dev/6088a4f4-073a-43f3-b3d4-4f06fb0c05a0/ask?utm_source=github)&nbsp;[![Open in Cursor](https://dosu.dev/dosu-in-cursor.svg)](https://cursor.com/link/prompt?text=The%20error%20happens%20because%20the%20plugin%20daemon%20sometimes%20returns%20%60%22tags%22%3A%20null%60%20for%20a%20trigger%20provider%2C%20but%20the%20Dify%20backend%20expects%20%60tags%60%20to%20always%20be%20a%20list%20%28even%20if%20empty%29.%20Pydantic%20tries%20to%20coerce%20%60null%60%20to%20a%20list%20before%20running%20the%20field%20validator%2C%20so%20the%20validator%20that%20would%20convert%20%60None%60%20to%20%60%5B%5D%60%20never%20gets%20a%20chance%20to%20run%2C%20resulting%20in%20the%20validation%20failure%20you%20see.%20This%20is%20a%20known%20schema%20mismatch%20issue%20in%20Dify%27s%20plugin%20trigger%20handling%20%5B%5Bsource%5D%28https%3A//github.com/langgenius/dify/blob/ddad2460f3ee4906df6819c48babaeab62221b43/api/core/trigger/entities/entities.py%23L72-L77%29%5D.%0A%0ANo%20official%20fix%20has%20landed%20after%20the%20recent%20trigger-related%20changes%2C%20and%20recent%20PRs%20focus%20on%20UI%20and%20workflow%20validation%2C%20not%20backend%20schema%20handling.%20As%20a%20workaround%2C%20you%20can%20patch%20your%20plugin%20daemon%20or%20any%20middleware%20that%20processes%20its%20responses%20to%20ensure%20%60tags%60%20is%20always%20an%20array%20%28never%20%60null%60%20or%20omitted%29.%20For%20example%2C%20before%20returning%20the%20trigger%20provider%20metadata%2C%20set%20%60tags%20%3D%20tags%20or%20%5B%5D%60.%0A%0AFor%20plugin%20developers%3A%20always%20return%20an%20array%20for%20%60tags%60%20in%20your%20trigger%20provider%20metadata%2C%20even%20if%20it%27s%20empty%2C%20to%20avoid%20this%20error.%0A%0AIf%20you%20need%20a%20quick%20patch%2C%20you%20can%20preprocess%20the%20plugin%20daemon%27s%20JSON%20response%20and%20replace%20any%20%60null%60%20%60tags%60%20with%20%60%5B%5D%60%20before%20passing%20it%20to%20Pydantic%20for%20validation.%20This%20will%20prevent%20the%20validation%20error%20until%20an%20upstream%20fix%20is%20released.)&nbsp;[![Join Discord](https://img.shields.io/badge/join-5865F2?logo=discord&logoColor=white&label=)](https://go.dosu.dev/discord-bot)&nbsp;[![Share on X](https://img.shields.io/badge/X-share-black)](https://twitter.com/intent/tweet?text=%40dosu_ai%20helped%20me%20solve%20this%20issue!&url=https%3A//github.com/langgenius/dify/issues/28921)
Author
Owner

@RockChinQ commented on GitHub (Nov 29, 2025):

May I have your version of dify-plugin-daemon? You can check it by docker ps -a or from your Dify deployment docker-compose.yaml

@RockChinQ commented on GitHub (Nov 29, 2025): May I have your version of dify-plugin-daemon? You can check it by `docker ps -a` or from your Dify deployment docker-compose.yaml
Author
Owner

@hekf2010 commented on GitHub (Nov 29, 2025):

dify version is 1.10.0

RockChinQ left a comment (langgenius/dify#28921)

May I have your version of dify-plugin-daemon? You can check it by docker ps -a of from your Dify deployment's docker-compose.yaml


Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: @.***>

@hekf2010 commented on GitHub (Nov 29, 2025): dify version is 1.10.0 RockChinQ left a comment (langgenius/dify#28921) May I have your version of dify-plugin-daemon? You can check it by docker ps -a of from your Dify deployment's docker-compose.yaml — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.Message ID: ***@***.***&gt;
Author
Owner

@RockChinQ commented on GitHub (Dec 3, 2025):

I uploaded a 0.1.0 version of the langbot_trigger plugin, there is no error now.

@RockChinQ commented on GitHub (Dec 3, 2025): I uploaded a 0.1.0 version of the langbot_trigger plugin, there is no error now.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: langgenius/dify#20679