Skip to content

Desktop skill slash commands should match TUI defaults #48022

Closed as not planned
Closed as not planned

Description

@dbpolito

Description

Desktop hides skills from slash autocomplete unless they set slash: true. The TUI includes them unless slash: false. Desktop should use the same default.

OpenCode version

V2 checkout at be58ca8

Steps to reproduce

  1. Create a skill with no slash frontmatter.
  2. Type its slash command in desktop: no matching items.
  3. The same skill is available in the TUI slash menu.

Operating System

macOS

Activity

  1. Shalin-Shah-2002 commented on Sep 12, 2026

    @Shalin-Shah-2002

    Investigated this against v2 and the premise doesn't hold: the main TUI also hides unmarked skills, same as desktop.

    Current behavior on v2:

    Surface Filter Unmarked skill (slash undefined)
    Desktop autocomplete packages/app/src/composer/model.ts slash === true hidden
    Desktop submit packages/app/src/composer/submit.ts slash === true hidden
    Main TUI autocomplete packages/tui/src/component/prompt/autocomplete.tsx slash === true hidden
    Main TUI submit packages/tui/src/component/prompt/index.tsx slash === true hidden
    Mini TUI packages/tui/src/mini/catalog.shared.ts slash !== false shown
    ACP packages/cli/src/acp/service.ts slash !== false shown

    The opt-in default is the documented one — skills.mdx: "opencode/slash: set to \"true\" to expose the skill as a /name command" — and it's how the built-ins behave: report sets slash: true while opencode deliberately doesn't (under an opt-out default, /opencode would show up in every slash menu). Desktop was also deliberately aligned to the TUI's opt-in semantics in #47247.

    So desktop already matches the TUI; I suspect the observation came from the mini UI or an ACP client, which are the two real deviants. #48023 as written would flip desktop to opt-out while the TUI stays opt-in, i.e. the surfaces would diverge in the opposite direction.

    Opened #48627 to align mini + ACP to slash === true instead — happy to close this issue as working-as-documented if maintainers agree.

  2. Echo3clipse commented on Sep 24, 2026

    @Echo3clipse

    I agree that both TUI and desktop version show the same slash-menu behavior for skills.

    But I don't agree that they follow intended behaviour. The documentation clearly states that the skills are only hidden from the slash-menu when the yaml front matter contains slash: false
    See: https://opencode.ai/v2/docs/skills/#frontmatter

    slash Set to false to hide the skill from interactive command catalogs

    I interpret this as: If slash: is not set at all or is set to true, then it should show.

    Either way, even if I set the skill front matter to slash: true, then it does not show up in the slash-menu, neither for desktop nor TUI (v2.0.16) (see also #50638)

  3. neriousy commented on Oct 20, 2026

    @neriousy
    Member

    Thanks for the report! Since 2.0.4, individual skill slash commands have been replaced by @skill mentions in both desktop and the TUI, so their slash-menu defaults no longer differ. Update with opencode upgrade or npm i -g @opencode/cli@latest (desktop: update the app). Please reopen or comment if selecting skills still behaves differently on that version or newer.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions