Skip to content

Installer does not configure Claude Desktop (MCP + skill) #50

@aniongithub

Description

@aniongithub

Summary

The installer (install.sh and install.ps1) does not configure Claude Desktop at all. Users on macOS and Windows who expect mind-map to register with Claude Desktop after install get nothing.

What the installer actually does (and why it's confusing)

  • Writes MCP config to ~/.claude.json (install.sh:370, install.ps1:314) — this is Claude Code (the CLI), not Claude Desktop.
  • Drops SKILL.md into ~/.claude/skills/mind-map/SKILL.md (install.sh:143, install.ps1:166) — also Claude Code's skills directory, not Claude Desktop's.

Neither of Claude Desktop's actual config paths is ever written:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\\Claude\\claude_desktop_config.json
  • Linux: no official Claude Desktop build — skip.

A grep across the repo (shell + Go) for claude_desktop_config, Application Support/Claude, APPDATA.*Claude returns zero hits.

Skill caveat

Claude Desktop has no documented filesystem-based skill-discovery mechanism analogous to Claude Code's ~/.claude/skills/. For Claude Desktop the realistic path is:

  • Register the MCP server in claude_desktop_config.json.
  • Expose the skill content through MCP (resource/tool) rather than dropping a SKILL.md file the desktop app won't read.

Proposed fix

  1. Add Claude Desktop MCP registration to both installers, reusing the existing mcpServers shape from configure_mcp_client (sh) / Set-McpConfig (ps1).
    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%\\Claude\\claude_desktop_config.json
    • Gate each on the parent Claude directory existing (don't create config for users who don't have Claude Desktop installed).
  2. Do not attempt to install a SKILL.md file for Claude Desktop. Document that skill content is surfaced via MCP for that client.

Related minor bugs found while investigating

  • install.sh:370 writes ~/.claude.json unconditionally (no [ -d ~/.claude ] guard), unlike Copilot/Cursor. Creates the file even when Claude Code isn't installed.
  • SKILL.md is fetched from raw.githubusercontent.com at install time with || true swallowing failures (install.sh:140-152, install.ps1:163-174). If raw is unreachable, skills silently don't install. Should be bundled with the release artifact instead. (Out of scope for this bug; tracking separately if needed.)

Verification plan

  • macOS: maintainer
  • Windows: reporter

Branch: fix/installer-claude-desktop

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions