atxtechbro / atxtechbro/dotfiles

Plugin marketplace commands not discoverable despite proper installation

Open
#1,363 0 comments 0 reactions 0 assignees View on GitHub
bug documentation
Dominant language
Shell
Stars
27
Forks
2
PR merge metrics
No merged PRs in 30d

Description

## Problem

Plugin commands from the dotfiles-marketplace are not being discovered by Claude Code, despite the plugin being installed and enabled.

## Symptoms

1. Plugin shows as "Enabled" in `/plugin` UI
2. Debug logs show: `Total plugin commands loaded: 0`
3. Commands like `/close-issue`, `/retro` don't appear in autocomplete
4. No errors in debug logs initially, but schema validation error appeared

## Root Causes Discovered

This issue had **THREE** separate problems that all needed to be fixed:

### Issue 1: Missing `commands` field in plugin.json
**Problem:** plugin.json didn't specify where to find command files
**Fix:** Added `"commands": ["./commands/"]` to plugin.json
**PR:** #1360

### Issue 2: plugin.json in wrong location
**Problem:** marketplace.json said `source: "."` (repo root) but plugin.json was in `.claude-plugin/` subdirectory
**Fix:** Moved plugin.json from `.claude-plugin/plugin.json` to repo root `./plugin.json`
**PR:** #1361

### Issue 3: Schema validation error
**Problem:** Source path used `"."` instead of `"./"`
**Error:** `Invalid schema: plugins.0.source: Invalid input: must start with "./"`
**Fix:** Changed source from `"."` to `"./"` in marketplace.json
**PR:** #1362

## Final Working Structure

```
dotfiles/ (repo root)
├── .claude-plugin/
│ └── marketplace.json (source: "./")
├── plugin.json (commands: ["./commands/"])
└── commands/
├── close-issue.md (symlink)
├── create-issue.md (symlink)
├── retro.md (symlink)
└── extract-best-frame.md (symlink)
```

## Key Learnings

1. **Symlinks work fine** - they weren't the issue
2. **Schema is strict** - relative paths MUST start with `"./"` not `"."`
3. **Path resolution** - plugin.json location must match marketplace source
4. **Debug logs are essential** - `~/.claude/debug/*.txt` shows "Total plugin commands loaded: 0"

## Test Plan

After all three fixes:
1. Run `/plugin` → No schema errors
2. Plugin shows in list as enabled
3. Type `/close` → `/close-issue` appears in autocomplete
4. All 4 commands are available

## Related Documentation

- [Plugin Marketplaces](https://docs.claude.com/en/docs/claude-code/plugin-marketplaces)
- [Slash Commands](https://docs.claude.com/en/docs/claude-code/slash-commands)

Contributor guide

No contributing guide indexed for this repository

Research direction

Check the final plugin.json at the repository root and .claude-plugin/marketplace.json, then inspect the commands/ directory and the referenced debug logs. Verify that the marketplace source is "./", plugin.json declares "./commands/", no schema error appears, and all four commands are available in autocomplete.

Written by the indexing model from the issue text.

Assessment

Tech stack
shell
Domain
cli, tooling
Issue type
Bug
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.