Skip to content

Grok marketplace scanner rejects single-plugin root sources ("./" / ".") #166

Description

@p-clements

Context

Grok Build’s marketplace scanner lives in xai-org/grok-build (xai_grok_plugin_marketplace). That repo disables issues and does not accept external PRs, so filing here like #123.

Bug

Local marketplace plugin entries whose source is the marketplace root are dropped silently:

"source": "./"
// or
"source": { "type": "local", "path": "." }

This is the standard Claude Code shape for single-plugin repositories (the whole repo is the plugin). Examples: DietrichGebert/ponytail (and many third-party Claude marketplaces).

Repro

grok plugin marketplace add DietrichGebert/ponytail
grok plugin list --available --json   # no entry for ponytail from this marketplace
grok plugin install ponytail
# Error: No marketplace plugin named "ponytail" in any registered marketplace.

With --debug-file, expect a WARN along the lines of invalid/empty source path (same class as #123’s missing source path).

Direct install still works:

grok plugin install DietrichGebert/ponytail --trust

Source

In MarketplaceRelativePath::parse (crates/.../xai-grok-plugin-marketplace/src/types.rs):

  • "./" → strip ./emptyMarketplacePathError::Empty
  • "."CurrentComponent → rejected

So root-local plugins never enter the catalog.

Expected

  1. Treat . / ./ / empty-after-strip as marketplace root when the directory is a valid plugin (skills/commands/hooks/plugin.json convention).
  2. Or, if intentionally unsupported, surface a user-visible warning on marketplace add instead of an empty plugin list (today the WARN is debug-only; Marketplace scanner drops root-repo plugins ({"source":"github","repo":"..."}) with no path #123 already asked for this).

Related

Environment

  • grok 0.2.117 (and earlier)
  • macOS

Metadata

Metadata

Assignees

No one assigned

    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