{"version":"2.1.247","anchor":"slash-commands-that-draw-their-own-ui-now-run-in-a-dismissab","canonical_anchor":"slash-commands-that-draw-their-own-ui-now-run-in-a-dismissab","heading":"Slash commands that draw their own UI now run in a dismissable panel","tier":"notice","area":"Slash Commands","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.247\/e\/slash-commands-that-draw-their-own-ui-now-run-in-a-dismissab","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.247","markdown":"### Slash commands that draw their own UI now run in a dismissable panel\n\nSlash commands with their own interface now open in a panel you can dismiss to cancel cleanly.\n\n**What**\n\nCommands that render an interactive interface are shown through a panel host on the tool-use context instead of being pushed into a single render slot. Dismissing the panel now cleanly ends the command with no messages produced, and a command can no longer resolve twice.\n\n**Details**\n\n- The executor calls `localJsx.show(node, { commandName, immediate, hidesPrompt: !0 })` and awaits the panel's `closed` promise.\n- Two outcomes are recorded: `cmd_local_jsx_dismissed` when the panel is closed, and `cmd_local_jsx_no_panel_host` when the context has no panel host, which falls back to the same result as running the command with no interactive surface.\n- The prompt input no longer receives a separate flag saying such a command is active, and the old \"hide the prompt input\" check on the retired render slot is gone.\n- Unconditional in this build; no flag guards it.\n\n**Evidence**\n\n`cmd_local_jsx_no_panel_host`\n\n- Area: Slash Commands\n- Tier: You'll notice\n- Useful: 3\/5\n- Signal: 3\/5"}