Custom tool shows warning status in UI, but executes successfully #21044

Open
opened 2026-02-21 20:10:25 -05:00 by yindo · 2 comments
Owner

Originally created by @ryhkml on GitHub (Dec 15, 2025).

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.11.1

Cloud or Self Hosted

Self Hosted (Docker)

Steps to reproduce

  1. Have a custom tool configured in an older version of Dify
  2. Delete a different local tool mem0ai
  3. Upgrade Dify to the latest version
  4. Navigate to the Tools tab
  5. Observe that the custom tool has a warning icon
  6. Run a workflow or chat that uses this tool
  7. Observe that the tool returns a successful response and data.
Image Image

✔️ Expected Behavior

If the tool configuration is valid and the tool executes correctly, the UI should not display a warning icon, and the status should reflect that it is active/healthy.

Actual Behavior

After removing the mem0ai, the remaining custom tool ("SLIMS TOOLS") displays a yellow warning icon in the Tools management UI. When hovering over this warning icon, the tooltip displays the text: "Tool Removed". However, this status is incorrect because the "SLIMS TOOLS" is clearly present and executes successfully when triggered in a conversation. The tool works perfectly despite the system flagging it as removed.

Originally created by @ryhkml on GitHub (Dec 15, 2025). ### 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.11.1 ### Cloud or Self Hosted Self Hosted (Docker) ### Steps to reproduce 1. Have a custom tool configured in an older version of Dify 2. Delete a different local tool [mem0ai](https://marketplace.dify.ai/plugins/beersoccer/mem0ai?&language=en-US&theme=system) 3. Upgrade Dify to the latest version 4. Navigate to the Tools tab 5. Observe that the custom tool has a warning icon 6. Run a workflow or chat that uses this tool 7. Observe that the tool returns a successful response and data. <img width="873" height="170" alt="Image" src="https://github.com/user-attachments/assets/072afc17-b37c-460a-a11c-000de02de94c" /> <img width="441" height="101" alt="Image" src="https://github.com/user-attachments/assets/1959883e-1ce9-4d9d-ae83-81b7c0794823" /> ### ✔️ Expected Behavior If the tool configuration is valid and the tool executes correctly, the UI should not display a warning icon, and the status should reflect that it is active/healthy. ### ❌ Actual Behavior After removing the [mem0ai](https://marketplace.dify.ai/plugins/beersoccer/mem0ai?&language=en-US&theme=system), the remaining custom tool ("SLIMS TOOLS") displays a yellow warning icon in the Tools management UI. When hovering over this warning icon, the tooltip displays the text: "Tool Removed". However, this status is incorrect because the "SLIMS TOOLS" is clearly present and executes successfully when triggered in a conversation. The tool works perfectly despite the system flagging it as removed.
yindo added the 🐞 bug label 2026-02-21 20:10:25 -05:00
Author
Owner

@dosubot[bot] commented on GitHub (Dec 15, 2025):

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

This warning icon ("Tool Removed") in the UI is usually caused by a mismatch between the backend tool state and the frontend cache after plugin removal or an upgrade. The backend uses a caching layer to store tool provider status, and if the cache is stale, the UI may incorrectly show a warning even though the tool executes successfully. The frontend infers a "removed" status when it can't find the provider/tool in the backend response, often due to cache or sync issues after changes like plugin deletion or upgrades.

To resolve this, try restarting your backend services and refreshing the cache to force the system to resync tool status. This should update the UI to reflect the actual state of your tools. If the issue persists, clearing any persistent cache (such as Redis, if configured) and performing a hard refresh of the browser UI may help. The backend logic does not explicitly set a "removed" status; it's inferred from missing providers or exceptions during provider discovery, so keeping the cache in sync is key for consistency between backend and frontend [source].

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 (Dec 15, 2025): <!-- Greeting --> Hi @ryhkml! I'm [Dosu](https://go.dosu.dev/dosubot) and I’m helping the dify team. <!-- Answer --> This warning icon ("Tool Removed") in the UI is usually caused by a mismatch between the backend tool state and the frontend cache after plugin removal or an upgrade. The backend uses a caching layer to store tool provider status, and if the cache is stale, the UI may incorrectly show a warning even though the tool executes successfully. The frontend infers a "removed" status when it can't find the provider/tool in the backend response, often due to cache or sync issues after changes like plugin deletion or upgrades. To resolve this, try restarting your backend services and refreshing the cache to force the system to resync tool status. This should update the UI to reflect the actual state of your tools. If the issue persists, clearing any persistent cache (such as Redis, if configured) and performing a hard refresh of the browser UI may help. The backend logic does not explicitly set a "removed" status; it's inferred from missing providers or exceptions during provider discovery, so keeping the cache in sync is key for consistency between backend and frontend [[source]](https://github.com/langgenius/dify/blob/80c74cf725aeb6055b4eb03aabacf82aaec907a3/api/services/tools/tools_manage_service.py#L11-L38). <!-- 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/b1a7ed74-4d7d-42b1-b0f6-e9d88a66ee2a?feedback_type=great_response) | [Irrelevant](https://app.dosu.dev/response-feedback/b1a7ed74-4d7d-42b1-b0f6-e9d88a66ee2a?feedback_type=irrelevant_answer) | [Incorrect](https://app.dosu.dev/response-feedback/b1a7ed74-4d7d-42b1-b0f6-e9d88a66ee2a?feedback_type=incorrect_sources) | [Verbose](https://app.dosu.dev/response-feedback/b1a7ed74-4d7d-42b1-b0f6-e9d88a66ee2a?feedback_type=too_verbose) | [Hallucination](https://app.dosu.dev/response-feedback/b1a7ed74-4d7d-42b1-b0f6-e9d88a66ee2a?feedback_type=hallucination) | [Report 🐛](https://app.dosu.dev/response-feedback/b1a7ed74-4d7d-42b1-b0f6-e9d88a66ee2a?feedback_type=bug_report) | [Other](https://app.dosu.dev/response-feedback/b1a7ed74-4d7d-42b1-b0f6-e9d88a66ee2a?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=This%20warning%20icon%20%28%22Tool%20Removed%22%29%20in%20the%20UI%20is%20usually%20caused%20by%20a%20mismatch%20between%20the%20backend%20tool%20state%20and%20the%20frontend%20cache%20after%20plugin%20removal%20or%20an%20upgrade.%20The%20backend%20uses%20a%20caching%20layer%20to%20store%20tool%20provider%20status%2C%20and%20if%20the%20cache%20is%20stale%2C%20the%20UI%20may%20incorrectly%20show%20a%20warning%20even%20though%20the%20tool%20executes%20successfully.%20The%20frontend%20infers%20a%20%22removed%22%20status%20when%20it%20can%27t%20find%20the%20provider/tool%20in%20the%20backend%20response%2C%20often%20due%20to%20cache%20or%20sync%20issues%20after%20changes%20like%20plugin%20deletion%20or%20upgrades.%20%0A%0ATo%20resolve%20this%2C%20try%20restarting%20your%20backend%20services%20and%20refreshing%20the%20cache%20to%20force%20the%20system%20to%20resync%20tool%20status.%20This%20should%20update%20the%20UI%20to%20reflect%20the%20actual%20state%20of%20your%20tools.%20If%20the%20issue%20persists%2C%20clearing%20any%20persistent%20cache%20%28such%20as%20Redis%2C%20if%20configured%29%20and%20performing%20a%20hard%20refresh%20of%20the%20browser%20UI%20may%20help.%20The%20backend%20logic%20does%20not%20explicitly%20set%20a%20%22removed%22%20status%3B%20it%27s%20inferred%20from%20missing%20providers%20or%20exceptions%20during%20provider%20discovery%2C%20so%20keeping%20the%20cache%20in%20sync%20is%20key%20for%20consistency%20between%20backend%20and%20frontend%20%5B%5Bsource%5D%5D%28https%3A//github.com/langgenius/dify/blob/80c74cf725aeb6055b4eb03aabacf82aaec907a3/api/services/tools/tools_manage_service.py%23L11-L38%29.)&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/29660)
Author
Owner

@pc10101s commented on GitHub (Jan 15, 2026):

me too. And updating or hard refreshing not solved

@pc10101s commented on GitHub (Jan 15, 2026): me too. And updating or hard refreshing not solved
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: langgenius/dify#21044