[Bug] Conflicting guidance on slash command vs skill installation format

Resolved 💬 4 comments Opened Feb 12, 2026 by rymalia Closed Mar 13, 2026

Bug Description
My Claude Code Opus 4.6 agent confidently giving me conflicting information related to "slash commands" and skills installed in the project workfolder in this session. Initially suggesting we install skill named "compare" which would be invoked by "/compare"
quote: You can type /compare bookmarks directly at the Claude Code prompt — it works like a slash command
-- and then it installed as ~/projects/tweets/.claude/skills/compare/SKILL.md and the attempts to run that failed with an error so then Claude Code removed that and said it was supposed to be a command and installed it like this: ~/projects/tweets/.claude/commands/compare.md
quote:

The skill wasn't picked up — that's because project-level custom commands in Claude Code use .claude/commands/, not .claude/skills/. Let me fix that.
★ Insight ───────────────────────────────────── Claude Code has two different concepts:
Skills (.claude/skills/) are a plugin-based feature — they're registered by installed plugins and show up in the system prompt's skill list
Custom slash commands (.claude/commands/) are the project-level mechanism for user-defined commands. You create {name}.md files and they become available as /{name}. Use $ARGUMENTS as a placeholder for user-provided arguments. ─────────────────────────────────────────────────
Let me convert both skills to the commands format.

Incidentally, I also received the same confused guidance from the Claude webchat after I asked it for clarification. There is something amiss in the commands and skills functionality.

Environment Info

  • Platform: darwin
  • Terminal: Apple_Terminal
  • Version: 2.1.39
  • Feedback ID: dce7fcd1-88bb-4deb-8607-cb7828ba17ce

Errors

[{"error":"Error: LSP server plugin:typescript-lsp:typescript failed to start: Executable not found in $PATH: \"typescript-language-server\"\n    at start (/$bunfs/root/claude:2115:22315)\n    at async H (/$bunfs/root/claude:2115:24763)\n    at processTicksAndRejections (native:7:39)","timestamp":"2026-02-12T02:03:46.043Z"},{"error":"Error: LSP server plugin:pyright-lsp:pyright failed to start: Executable not found in $PATH: \"pyright-langserver\"\n    at start (/$bunfs/root/claude:2115:22315)\n    at async H (/$bunfs/root/claude:2115:24763)\n    at processTicksAndRejections (native:7:39)","timestamp":"2026-02-12T02:03:46.044Z"},{"error":"Error: Executable not found in $PATH: \"typescript-language-server\"\n    at spawn (unknown)\n    at spawn (node:child_process:667:35)\n    at spawn (node:child_process:14:39)\n    at start (/$bunfs/root/claude:2115:20845)\n    at H (/$bunfs/root/claude:2115:24763)\n    at _ (/$bunfs/root/claude:2115:32525)\n    at processTicksAndRejections (native:7:39)","timestamp":"2026-02-12T02:03:46.044Z"},{"error":"Error: Executable not found in $PATH: \"pyright-langserver\"\n    at spawn (unknown)\n    at spawn (node:child_process:667:35)\n    at spawn (node:child_process:14:39)\n    at start (/$bunfs/root/claude:2115:20845)\n    at H (/$bunfs/root/claude:2115:24763)\n    at _ (/$bunfs/root/claude:2115:32525)\n    at processTicksAndRejections (native:7:39)","timestamp":"2026-02-12T02:03:46.044Z"},{"error":"Error: Failed to start LSP server plugin:typescript-lsp:typescript: Executable not found in $PATH: \"typescript-language-server\"\n    at <anonymous> (/$bunfs/root/claude:2115:32547)\n    at processTicksAndRejections (native:7:39)","timestamp":"2026-02-12T02:03:46.044Z"},{"error":"Error: Failed to start LSP server plugin:pyright-lsp:pyright: Executable not found in $PATH: \"pyright-langserver\"\n    at <anonymous> (/$bunfs/root/claude:2115:32547)\n    at processTicksAndRejections (native:7:39)","timestamp":"2026-02-12T02:03:46.044Z"}]

View original on GitHub ↗

This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗