Skip to content

fix: Claude plugin icon and a Desktop extension that starts - #3

Merged
f merged 1 commit into
mainfrom
claude/plugin-marketplace-icon-connect-2a6902
Oct 22, 2026
Merged

f merged 1 commit into
mainfrom
claude/plugin-marketplace-icon-connect-2a6902

Conversation

@f

@f f commented Oct 22, 2026 •

Copy link
Copy Markdown
Contributor

What changed

Plugin icon

  • Added claude-code/assets/logo.png (the 512×512 green spark from claude-desktop/assets/logo.png) and "icon": "./assets/logo.png" in claude-code/.claude-plugin/plugin.json.
  • Did the same for the root plugin: assets/logo.png and "icon" in .claude-plugin/plugin.json.

Claude Desktop extension (.mcpb)

  • claude-desktop/server/launch-spec.js now runs spacefast@0.5.0 instead of spacefast@0.8.1.
  • Rebuilt spacefast.mcpb and claude-desktop/spacefast.mcpb.
  • Rebuilt claude-desktop.tgz, claude-code.tgz, spacefast-plugins.tgz and spacefast-plugins.zip, and updated their checksums in release-manifest.json.

Why

Icon. When spacefast/plugins is added as a marketplace on claude.ai, Spacefast shows no icon. The marketplace entry points at ./claude-code, which had none. claude plugin validate ./claude-code (Claude Code 2.1.308) reports ICON_MISSING: the directory wants icon in plugin.json, or a square PNG of 512–2048 px at a path such as assets/logo.png. SVG and WebP aren't accepted. The root plugin.json is the one the Anthropic directory submission points at, and it only had an SVG and a 400 px PNG.

Extension. The bundle is a launcher for npx -y spacefast@<version> mcp. spacefast@0.8.1 was never published to npm; the latest is 0.5.0. So the shipped extension failed at start:

npm error code ETARGET
npm error notarget No matching version found for spacefast@0.8.1.

0.5.0 has the mcp command and the SPACEFAST_TOKEN option the manifest passes. The monorepo's release notes already call for SPACEFAST_PLUGIN_CLI_VERSION to be "a verified published npm CLI version"; the v0.8.1 sync left it at the default.

How the artifacts were rebuilt

  • The .mcpb was built with the monorepo's packages/cli/scripts/build-mcpb.mjs (@anthropic-ai/mcpb 2.1.2) and the release timestamp (2026-10-21T09:56:48Z).
  • The per-platform .tgz files use the createDeterministicTar settings from package-plugins.mjs. The full .tgz/.zip use rebuildFullArchives from scripts/marketplaces/package.mjs.
  • Before changing anything, each method reproduced the shipped spacefast.mcpb, claude-desktop.tgz, claude-code.tgz, spacefast-plugins.tgz and spacefast-plugins.zip byte for byte.
  • Compared with the shipped archives, the only entries that changed are the launcher, the bundles, the icon files and plugin.jsons, and the two catalog entries from ae35146. Those catalog entries were edited after the 0.8.1 sync and had never made it into the archives.

Verified

  • The rebuilt .mcpb passes mcpb validate. Run over stdio, it answers initialize as spacefast 0.5.0 and lists 7 tools (execute, resume_execution, search, publish, show_space, operation_status, cli_login).
  • Every checksum in release-manifest.json matches its file.
  • claude plugin validate --strict passes for ./claude-code and the repo root on Claude Code 2.1.308. Versions before 2.1.281 warn that icon is an unknown field and still load the plugin.

Reviewer notes

  • Older MCP surface. The extension now runs the 0.5.0 MCP, without the 0.6–0.8.1 changes or the Oct 21 claim-link fix (spacefast/monorepo#4353). The bundled README still mentions search_connector_tools, which 0.5.0 doesn't list. Once a newer CLI is on npm, bump the pin and rebuild.
  • Same version number. The extension version stays 0.8.1. Anyone who installed the broken bundle may need to remove it and install the new one.
  • Users download from GitHub Releases. The README's download link is releases/latest/download/claude-desktop.mcpb. This PR doesn't publish a release, so that download is unchanged until one is cut.
  • Monorepo. These files are generated from spacefast/monorepo. The next sync will undo both fixes unless the generator emits the icon (scripts/generate-brand-assets.ts, packages/cli/scripts/generate-plugin-docs.mjs, package-plugins.mjs) and pins a published CLI.
  • The "Connects in sessions" label. This isn't fixable in the manifest. claude.ai only gives a plugin's MCP server an Add/Connect button when its URL matches a Connectors Directory listing or a connector already on the account. Spacefast isn't listed yet. It appears once the connector is listed at exactly https://mcp.spacefast.com, or a user adds a custom connector at that URL.
  • Not yet checked in the UI. After merge, use "Check for updates" on the marketplace and confirm the icon shows.

🤖 Generated with Claude Code

The Claude marketplace entry points at ./claude-code, which had no
icon, so a marketplace added on claude.ai listed Spacefast without one.
Claude's plugin checks report it as ICON_MISSING: they want `icon` in
plugin.json, or a square PNG of 512 to 2048 px at a conventional path.

Ship the 512 px green spark already used by the desktop extension at
claude-code/assets/logo.png and name it in that plugin.json. The root
plugin.json, which the directory submission points at, only had an SVG
and a 400 px PNG, which listings do not accept, so it gets the same
icon at assets/logo.png.

Claude Code before 2.1.281 warns that `icon` is an unknown field and
loads the plugin anyway.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Copilot AI balanced review requested due to automatic review settings October 22, 2026 21:34
@indent

indent Bot commented Oct 22, 2026 •

Copy link
Copy Markdown

Issues

Looking for issues…

Review agents

Select any unchecked box below to run or rerun that agent.

Pending (1)
  • Indent Review Agent · Review in progress; no result yet.
Full results

Indent Review Agent

  • Summary: Review in progress; no result yet.
  • Latest resultNo result yet — review in progress.

@coderabbitai

coderabbitai Bot commented Oct 22, 2026

Copy link
Copy Markdown

Review in Change Stack →

Note

Currently processing new changes in this PR. This may take a few minutes, please wait...

⚙️ Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: d5633536-c382-4b0e-92d4-c7f102070641
📥 Commits

Reviewing files that changed from the base of the PR and between 6471b45 and 5a7b9c4.

⛔ Files ignored due to path filters: 2
  • assets/logo.png is excluded by !**/*.png
  • claude-code/assets/logo.png is excluded by !**/*.png
📒 Files selected for processing: 2
  • .claude-plugin/plugin.json
  • claude-code/.claude-plugin/plugin.json
+-----------------------------------------------+
| Finding your faults 10 times faster than Mom. |
+-----------------------------------------------+
  \
   \   (\__/)
       (•ㅅ•)
       /   づ
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@f
f merged commit d026a33 into main Oct 22, 2026
3 of 5 checks passed

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

Both icon references resolve to valid, correctly sized assets, and no blocking issues remain in these narrowly scoped changes.

No open issues 🎉

What changed in this PR

Adds listing-icon references to both Claude plugin manifests so the marketplace plugin and root directory submission can display the Spacefast logo.

Changes:

  • Points both manifests to ./assets/logo.png, using the existing 512×512 logo.
  • Leaves connector configuration and release archives unchanged.
File Description
claude-code/​.claude-plugin/​plugin.json Adds the marketplace plugin’s icon reference.
.claude-plugin/​plugin.json Adds the root plugin’s icon reference for the directory submission.

Review effort: Balanced

@f f changed the title fix: give the Claude plugin a listing icon fix: Claude plugin icon and a Desktop extension that starts Oct 23, 2026
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.

2 participants