You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[FEATURE]:desktop: slash command list does not show skills #50638
I have verified this feature I'm about to request hasn't been suggested before.
Describe the enhancement you want to request
Summary
In OpenCode Desktop, typing / opens a slash command list that shows only
commands. Installed skills never appear in that list, even when a skill sets slash: true in its frontmatter. Skills are loaded correctly (the model's
available-skills list contains all of them and the skill tool works), so
this is a Desktop UI gap rather than a loading/configuration issue.
Environment
opencode version: 2.0.13 (Desktop sidecar CLI); global CLI 1.18.31
OS: Windows 10 (10.0.26200) win32 x64
Terminal: OpenCode Desktop (GUI, not a terminal TUI)
Install skills under ~/.config/opencode/skills/ (85 skills, all with a description frontmatter).
Open OpenCode Desktop and start a session.
Type / to open the slash command list.
The list shows built-in commands (e.g. /new) and custom commands from commands/ directories, but no skills.
A skill with slash: true in its SKILL.md frontmatter also does not appear.
Expected Behavior
Skills should appear in the / slash command list (at minimum those with slash: true), consistent with the documented slash frontmatter field:
"Set to false to hide the skill from interactive command catalogs".
Actual Behavior
No skills appear in the Desktop / list. Inspecting the Desktop renderer
bundle (app.asar) shows only command-related UI code and no skill list
rendering logic. The terminal TUI and Desktop behave differently.
Additional Context
Skills are fully usable: all 85 skills are present in the model's
available-skills list and can be loaded via the skill tool.
Workaround: wrapping each skill as a command file in ~/.config/opencode/commands/<skill-id>.md makes them appear in /, but
that is a workaround, not native support. Requesting native skills list
support in the Desktop / command palette.
Reacted by Echo3clipse, Steve Baxter, Michael Lindblom, Motoi Washida, João Silva and Yihao Gao
This issue might be a duplicate of existing issues. Please check:
Desktop skill slash commands should match TUI defaults #48022: Desktop skill slash commands should match TUI defaults — reports the same gap where Desktop hides skills from the / autocomplete list unless slash: true is set, while the TUI shows them by default.
I do not consider this a duplicate of #48022, as that issue is about a difference in handling between the TUI and the desktop app, but both TUI and desktop app (v2.0.16) show the same slash-menu behavior for skills.
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 the skill should show up.
Either way, even if the skill front matter is set to slash: true as @cgyqu described, then those skills do not show up in the slash-menu, neither for desktop nor TUI (v2.0.16). It was working fine for me in opencode v1.
I just ran into the same issue. (I am trying to migrate from claude-code.)
Adding slash: true to skill frontmatter does not make the skill show up as slash command. As should be expected reading this.
I worked around this by creating a command entry for each skill like so, but that seems hacky. E.g. in .opencode/command/commit.md:
---description: Create git commit(s) using Conventional Commits.---
Load the `commit` skill using the skill tool and follow its instructions exactly.
$ARGUMENTS
Still reproducible in 2.0.24 (Desktop, macOS) — with service-level evidence
Dug into this on 2.0.24 (Desktop sidecar CLI, latest channel), macOS 25.6.0 arm64 and confirmed it's a registry split, not a config/loading issue:
GET /api/skill?location[directory]=… → 16 skills registered, all with descriptions (better-ui, better-interface, break, …).
GET /api/command?location[directory]=… → only init, review, and 2 notion:* entries. Zero skill-sourced entries.
In the v2.0.24 source, packages/schema/src/skill.ts has no slash field, and packages/opencode/src/command/index.ts never merges skills into the command registry — so slash: true frontmatter (suggested in the comments above) cannot work in this version, and the / list — built exclusively from the command list — can never contain skills.
The TUI-only prompt.skills picker (/skills) isn't available in the Desktop chat either (see desktop: /skills skill picker missing — works only in CLI TUI #50664), so / ends up being the only discovery surface, and it shows nothing skill-related. Result: users conclude their skills failed to install.
Suggested directions
Surface registered skills in the / autocomplete, grouped/badged as skills, and/or
Give /skills a real description in the default Desktop command list ("browse N installed skills") so the picker is discoverable.
Workaround that works today: drop one thin command file per skill into ~/.config/opencode/commands/<skill-id>.md:
---description: "<skill description>"---
Load the `<skill-id>` skill with the skill tool and apply it to this request.
$ARGUMENTS
Commands are auto-discovered and appear in / immediately; running one makes the model load the exact skill by ID. All 13 of my skills are now reachable as /better-ui, /interface-review, etc. without touching the packaged app.
In OpenCode v2, skills deliberately aren't / commands. You load one yourself by mentioning it as @skill-id in the prompt, and the Desktop composer suggests skills when you type @. The slash frontmatter field you saw in the docs was removed from v2 (see #52752), so slash: true has no effect.
I've noted this as a feature request to also list skills in the / command list. Maintainers will consider it. Until then, you can use @skill-id, or keep the command-file wrappers you already set up.
Activity
github-actions commentedon Sep 22, 2026
This issue might be a duplicate of existing issues. Please check:
/autocomplete list unlessslash: trueis set, while the TUI shows them by default.Echo3clipse commentedon Sep 25, 2026
I do not consider this a duplicate of #48022, as that issue is about a difference in handling between the TUI and the desktop app, but both TUI and desktop app (v2.0.16) show the same slash-menu behavior for skills.
I wouldn't consider this request here a feature, but a bug.
The v2-documentation clearly states that the skills are only hidden from the slash-menu when the yaml front matter contains
slash: falseSee: https://opencode.ai/v2/docs/skills/#frontmatter
I interpret this as: If
slash:is not set at all or is set totrue, then the skill should show up.Either way, even if the skill front matter is set to
slash: trueas @cgyqu described, then those skills do not show up in the slash-menu, neither for desktop nor TUI (v2.0.16). It was working fine for me in opencode v1.michaelmell commentedon Sep 25, 2026
I just ran into the same issue. (I am trying to migrate from claude-code.)
Adding
slash: trueto skill frontmatter does not make the skill show up as slash command. As should be expected reading this.I worked around this by creating a command entry for each skill like so, but that seems hacky. E.g. in
.opencode/command/commit.md:psamsoon commentedon Oct 7, 2026
Still reproducible in 2.0.24 (Desktop, macOS) — with service-level evidence
Dug into this on 2.0.24 (Desktop sidecar CLI,
latestchannel), macOS 25.6.0 arm64 and confirmed it's a registry split, not a config/loading issue:GET /api/skill?location[directory]=…→ 16 skills registered, all with descriptions (better-ui,better-interface,break, …).GET /api/command?location[directory]=…→ onlyinit,review, and 2notion:*entries. Zero skill-sourced entries.v2.0.24source,packages/schema/src/skill.tshas noslashfield, andpackages/opencode/src/command/index.tsnever merges skills into the command registry — soslash: truefrontmatter (suggested in the comments above) cannot work in this version, and the/list — built exclusively from the command list — can never contain skills.prompt.skillspicker (/skills) isn't available in the Desktop chat either (see desktop: /skills skill picker missing — works only in CLI TUI #50664), so/ends up being the only discovery surface, and it shows nothing skill-related. Result: users conclude their skills failed to install.Suggested directions
/autocomplete, grouped/badged as skills, and/or/skillsa real description in the default Desktop command list ("browse N installed skills") so the picker is discoverable.Workaround that works today: drop one thin command file per skill into
~/.config/opencode/commands/<skill-id>.md:Commands are auto-discovered and appear in
/immediately; running one makes the model load the exact skill by ID. All 13 of my skills are now reachable as/better-ui,/interface-review, etc. without touching the packaged app.opencodejr commentedon Oct 28, 2026
Thanks for the detailed request!
In OpenCode v2, skills deliberately aren't
/commands. You load one yourself by mentioning it as@skill-idin the prompt, and the Desktop composer suggests skills when you type@. Theslashfrontmatter field you saw in the docs was removed from v2 (see #52752), soslash: truehas no effect.I've noted this as a feature request to also list skills in the
/command list. Maintainers will consider it. Until then, you can use@skill-id, or keep the command-file wrappers you already set up.Related issues:
slashfield had no effect; closed by the docs change in docs: remove skill slash frontmatter from v2 docs #52752slashsupport, reported on 2.0.18