-
-
Notifications
You must be signed in to change notification settings - Fork 69.7k
[Bug]: **Feishu plugin registers all tools twice** #52572
Description
Bug type
Behavior bug (incorrect output/state without crash)
Summary
Feishu plugin registers all tools twice
Running openclaw status --verbose on v2026.3.13 (61d171a) shows every Feishu sub-plugin (feishu_doc, feishu_chat, feishu_wiki, feishu_drive, feishu_bitable) registered twice.
Root cause
The feishu extension has two overlapping registration paths that both fire:
openclaw.plugin.jsondeclares"skills": ["./skills"], which triggers declarative auto-registration of all tools in theskills/directory.index.tsexports aregister()function that programmatically callsregisterFeishuDocTools(),registerFeishuChatTools(), etc.
Both paths run during plugin load, resulting in duplicate registration.
Expected behavior
Each tool should be registered exactly once.
Suggested fix
Remove the "skills" field from extensions/feishu/openclaw.plugin.json and let register() in index.ts be the sole registration entry point (it also handles setFeishuRuntime and registerChannel).
Alternatively, remove the manual registerXxxTools() calls from register() and rely on the declarative skills loading — but that would require moving the runtime/channel init elsewhere.
Repro
openclaw status --verbose
Environment
- OpenClaw 2026.3.13 (61d171a)
- macOS 15.7.4
Steps to reproduce
[09:52:24] [~/.openclaw] ❱❱❱ openclaw status --verbose
Expected behavior
[09:52:24] [~/.openclaw] ❱❱❱ openclaw status --verbose
🦞 OpenClaw 2026.3.13 (61d171a) — I'm not saying your workflow is chaotic... I'm just bringing a linter and a helmet.
09:52:28 [plugins] feishu_doc: Registered feishu_doc, feishu_app_scopes
09:52:28 [plugins] feishu_chat: Registered feishu_chat tool
09:52:28 [plugins] feishu_wiki: Registered feishu_wiki tool
09:52:28 [plugins] feishu_drive: Registered feishu_drive tool
09:52:28 [plugins] feishu_bitable: Registered bitable tools
Actual behavior
[09:52:24] [~/.openclaw] ❱❱❱ openclaw status --verbose
🦞 OpenClaw 2026.3.13 (61d171a) — I'm not saying your workflow is chaotic... I'm just bringing a linter and a helmet.
09:52:28 [plugins] feishu_doc: Registered feishu_doc, feishu_app_scopes
09:52:28 [plugins] feishu_chat: Registered feishu_chat tool
09:52:28 [plugins] feishu_wiki: Registered feishu_wiki tool
09:52:28 [plugins] feishu_drive: Registered feishu_drive tool
09:52:28 [plugins] feishu_bitable: Registered bitable tools
09:52:28 [plugins] feishu_doc: Registered feishu_doc, feishu_app_scopes
09:52:28 [plugins] feishu_chat: Registered feishu_chat tool
09:52:28 [plugins] feishu_wiki: Registered feishu_wiki tool
09:52:28 [plugins] feishu_drive: Registered feishu_drive tool
09:52:28 [plugins] feishu_bitable: Registered bitable tools
OpenClaw version
2026.3.13
Operating system
macOS 15.7.4
Install method
No response
Model
anthropic/claude-opus-4-6
Provider / routing chain
anthropic
Additional provider/model setup details
No response
Logs, screenshots, and evidence
Impact and severity
No response
Additional information
No response