Skip to content

fix(plugins): route plugin and marketplace aliases through local handler#2993

Merged
code-yeongyu merged 1 commit intomainfrom
fix/bypass-list-missing-aliases
May 4, 2026
Merged

fix(plugins): route plugin and marketplace aliases through local handler#2993
code-yeongyu merged 1 commit intomainfrom
fix/bypass-list-missing-aliases

Conversation

@code-yeongyu
Copy link
Copy Markdown
Collaborator

Problem

claw plugin list and claw marketplace / claw marketplace list fell through to the prompt/LLM path, creating sessions and hitting auth errors. Only claw plugins (the primary name) was wired in parse_subcommand.

Root Cause

parse_subcommand matched "plugins" but not "plugin" (singular) or "marketplace" (the canonical spec aliases from SlashCommandSpec.aliases).

Fix

Extend the plugins arm in parse_subcommand to also match "plugin" | "marketplace". All three forms now route to CliAction::Plugins without any network call or session creation.

Verification

Tested all 6 invocation forms (bare + list subcommand for each alias):

claw plugins       → kind:plugin, exit:0 ✅
claw plugin        → guidance (resume_supported:false), exit:1 ✅ 
claw marketplace   → kind:plugin, exit:0 ✅
claw plugins list  → kind:plugin, exit:0 ✅
claw plugin list   → kind:plugin, exit:0 ✅
claw marketplace list → kind:plugin, exit:0 ✅

Session delta: 0 across all invocations.

Closes partial ROADMAP #55 (plugins/marketplace bypass list gap).

claw plugin list / claw marketplace / claw marketplace list all fell
through to the prompt/LLM path because parse_subcommand only matched
"plugins" (the primary name) while the canonical spec aliases
"plugin" and "marketplace" were unhandled.

This manifested as auth errors and session creation on direct
invocation — dogfood confirmed Gaebal's binary created one session
via plugin prompt fallback.

Fix: extend the plugins arm in parse_subcommand to also match
"plugin" | "marketplace" so all three forms route to the same
CliAction::Plugins without network calls or session creation.

Verified: all six forms (bare + list subcommand for each name) return
kind:plugin JSON, exit 0, and create zero sessions.

Closes ROADMAP #55 partial (plugins/marketplace bypass complete).
@code-yeongyu code-yeongyu merged commit 85435ad into main May 4, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant