zai-org / zai-org/feedback

[Feature] Desktop: expose /hooks, /mcp, /plugins slash-commands (or equivalents) for power users

Open
#164 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

priority: P2
Dominant language
No language data
Stars
22
Forks
1
PR merge metrics
No merged PRs in 30d

Description

Problem

In ZCode desktop, several slash-commands documented for Claude Code are not available. Most notably:

  • /hooks — read-only browser for configured hooks (would let users verify their config without restarting).
  • /mcp — MCP server status, connection check, reconnect.
  • /plugins — browse/install/manage plugins.

Currently the only way to manage these is through Settings → MCP / Plugins GUI, which works for enable/disable but doesn't show runtime status (connection state, hook execution log, hook config validation errors).

Why this matters

I just spent ~3 hours debugging why my UserPromptSubmit hook wasn't firing. Root cause turned out to be an invalid args field in config.json that silently disabled the entire hooks section (see issue #32, where I left a detailed comment). A /hooks command showing:

  • Which hooks are registered.
  • Their matchers.
  • The last execution result (success/failed/not-triggered).

would have caught this in 30 seconds instead of 3 hours.

Similarly, /mcp showing live connection state would help diagnose the MCP subprocess leak (#104) — users could see "5 desktop-commander processes running" without leaving the chat.

What exists today (verified on ZCode 3.3.6, Windows 11 Pro)

  • Settings → MCP Servers (GUI): add/edit/delete/enable/disable.
    No runtime status, no "test connection" button.
  • Settings → Plugins (GUI): enable/disable, marketplace browse.
    No hook viewer.
  • ~/.zcode/cli/log/zcode-YYYY-MM-DD.jsonl: contains config.file.invalid, hook.run.failed, mcp.configured_servers.connect.completed events with detailed diagnostics. But this is a JSONL file users have to grep manually — not friendly.

Proposal

Add slash-commands (or in-chat UI) that surface the runtime state already being logged:

  • /hooks — list registered hooks with last-execution status.
  • /mcp — list MCP servers with connection state and process count.
  • /plugins — list installed plugins with enabled state and last error.

These are read-only views over data ZCode already collects. Would significantly improve power-user debuggability without changing the underlying engine.

Related

  • Issue #32 — my comment about args field regression.
  • Issue #104 — MCP subprocess leak (users want to see process count).
  • Issue #108 — slash-command menu accessibility (related UX).
  • Skills zcode-guide:diagnosing-hooks, diagnosing-mcp, diagnosing-plugins — already document the intended commands.

Environment

  • ZCode 3.3.6, Windows 11 Pro.
  • 6 MCP servers, 3 custom hooks, 4 plugins.

Thanks!

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the existing Settings → MCP Servers and Settings → Plugins views, the documented slash-command skills, and the JSONL events in ~/.zcode/cli/log/zcode-YYYY-MM-DD.jsonl. The issue does not name source files or tests; the work would need a decided scope for the /hooks, /mcp, and /plugins views and a way to verify their displayed runtime state.

Written by the indexing model from the issue text.

Assessment

Domain
desktop
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.