[BUG] Plugin skills not loaded despite correct directory structure (new telegram plugin)
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
Bug: Plugin skills not loaded despite correct directory structure
Claude Code version: 2.1.80
OS: macOS
Install path: /Users/cosjef
What's wrong
After installing the telegram@claude-plugins-official plugin, /reload-plugins reports 0 skills even though the SKILL.md files exist in the correct cache location with valid frontmatter.
Reloaded: 0 plugins · 0 skills · 5 agents · 0 hooks · 0 plugin MCP servers · 0 plugin LSP servers
Steps to reproduce
claude(standard session, no --channels flag)/plugin install telegram@claude-plugins-official/reload-plugins/skills→ shows "No skills found"
What exists on disk
Skill files are present and readable:
~/.claude/plugins/cache/claude-plugins-official/telegram/0.0.1/skills/access/SKILL.md
~/.claude/plugins/cache/claude-plugins-official/telegram/0.0.1/skills/configure/SKILL.md
Frontmatter in access/SKILL.md is valid:
---
name: access
description: Manage Telegram channel access — approve pairings, edit allowlists, set DM/group policy. Use when the user asks to pair, approve someone, check who's allowed, or change policy for the Telegram channel.
user-invocable: true
allowed-tools:
- Read
- Write
- Bash(ls *)
- Bash(mkdir *)
---
installed_plugins.json
{
"version": 2,
"plugins": {
"telegram@claude-plugins-official": [
{
"scope": "project",
"installPath": "/Users/cosjef/.claude/plugins/cache/claude-plugins-official/telegram/0.0.1",
"version": "0.0.1",
"installedAt": "2026-03-20T13:13:19.128Z",
"lastUpdated": "2026-03-20T13:13:19.128Z",
"gitCommitSha": "b664e152af5742dd11b6a6e5d7a65848a8c5a261",
"projectPath": "/Users/cosjef"
}
]
}
}
plugin.json (manifest)
{
"name": "telegram",
"description": "Telegram channel for Claude Code — messaging bridge with built-in access control.",
"version": "0.0.1",
"keywords": ["telegram", "messaging", "channel", "mcp"]
}
Note: manifest does not explicitly declare skills, but neither does the discord plugin which has the same structure — so this appears to be by design for channel plugins.
Additional observations
- 5 agents DO load successfully (source unknown — no agents/ directory exists in either the cache or marketplace copy)
- The discord plugin has an identical structure and presumably has the same issue
- Manually copying SKILL.md files to ~/.claude/skills/ works as a workaround
- Reproduces in both standard sessions and --channels sessions
- Confirmed against debug logs:
Total plugin skills loaded: 0
What Should Happen?
After installing a plugin via /plugin install, its skills should be loaded and visible in /skills. Running /reload-plugins should report the correct skill count.
Error Messages/Logs
/skills shows: "No skills found. Create skills in .claude/skills/ or ~/.claude/skills/"
Steps to Reproduce
- Install the telegram plugin: /plugin install telegram@claude-plugins-official
- Run /reload-plugins
- Run /skills
- Observe: 0 skills reported despite SKILL.md files existing at:
~/.claude/plugins/cache/claude-plugins-official/telegram/0.0.1/skills/access/SKILL.md
~/.claude/plugins/cache/claude-plugins-official/telegram/0.0.1/skills/configure/SKILL.md
Both SKILL.md files have valid frontmatter (name, description, user-invocable, allowed-tools).
The plugin.json manifest does not explicitly declare skills — identical to the discord plugin which has the same structure, so this appears intentional.
Reproduces in both standard sessions (claude) and channel sessions (claude --channels plugin:telegram@claude-plugins-official).
Workaround: manually copying SKILL.md files to ~/.claude/skills/ makes them visible.
Claude Model
Sonnet (default)
Is this a regression?
No, this never worked
Last Working Version
_No response_
Claude Code Version
2.1.80 (Claude Code)
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
iTerm2
Additional Information
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗