Installation guide

MadAppGang/magus installation guide

MIT-licensed Claude Code plugin marketplace and companion plugin suite for software development, combining commands, agents, skills, hooks, MCP runtimes, terminal control, semantic code navigation, multi-model orchestration, project provisioning, UI review, and stack-specific guidance; several features require external binaries, provider credentials, or dependent plugins.

Install Magus on macOS Tahoe (Apple silicon)

What Magus is

**Classification:** Claude Code extension.

Magus is a marketplace of Claude Code plugins. It extends Claude Code through project-enabled plugins containing slash commands, skills, specialized agents, lifecycle hooks, and MCP tool integrations. Examples include the `dev` development workflow, `code-search`, multi-model orchestration, terminal control, setup automation, and UI design. It is not a replacement for Claude Code and is not a normal standalone Mac application.

The repository is public and MIT-licensed, although the README notes that individual plugins may declare their own licenses. Its performance and productivity claims are repository claims, not independently verified results.

Before you begin

You need:

The supplied repository files do not document a supported command for installing Claude Code itself. If Claude Code is not already working, follow Anthropic’s official Claude Code installation documentation first. Do not clone this repository merely to use its marketplace; the documented installation method registers the GitHub marketplace from inside Claude Code.

Some plugins have extra runtime requirements:

Because no Bun, Go, Homebrew, or Mnemex bootstrap commands are supplied, this guide does not invent them. Install any missing foundation from its first-party documentation before enabling a plugin that requires it.

Understand where commands go

There are two different places to enter commands:

  1. **Claude Code:** commands beginning with `/`, such as `/plugin`, `/doctor`, and `/dev:help`, go into an interactive Claude Code session—not the macOS Terminal shell.
  2. **Terminal:** commands such as `npm install`, `brew install`, and `git commit` go into Terminal.

This distinction matters: pasting `/plugin marketplace add ...` into zsh will not install a Claude Code plugin.

Step 1: Register the Magus marketplace

Open Claude Code, then enter this one-time command:

/plugin marketplace add MadAppGang/magus

This registers the core Magus marketplace globally for your Claude Code installation. You do this once on your Mac; individual projects can then choose which plugins to activate.

Magus also documents a separate marketplace for image generation, image editing, and video editing. Add it only if you need those content plugins:

/plugin marketplace add MadAppGang/magus-marketing

The repository mentions a `magus-alpha` channel, but says no experimental plugins are currently published there, so there is no reason to add it for a normal installation.

Step 2: Enable plugins for one project

In Finder or your editor, open the project where you want to use Magus. At the project root, create or edit `.claude/settings.json`. The repository’s recommended configuration is:

{
  "enabledPlugins": {
    "dev@magus": true,
    "code-search@magus": true,
    "multimodel@magus": true,
    "terminal@magus": true
  }
}

Plugin names include their marketplace: for example, `dev@magus`. Content plugins from the optional marketing marketplace use `@magus-marketing` instead.

You do not have to enable every plugin. A smaller documented example is:

{
  "enabledPlugins": {
    "dev@magus": true,
    "code-search@magus": true
  }
}

Use valid JSON: keep the braces, quotation marks, colons, and commas exactly as shown. If `.claude/settings.json` already contains other settings, merge `enabledPlugins` into the existing top-level object rather than replacing unrelated configuration.

When Claude Code opens a project containing this file, it detects and activates the selected plugins. Dependencies declared by plugins are installed alongside them, but required external command-line programs still need to exist on your `PATH`.

Step 3: Install optional external runtimes

Claudish for external-model workflows

The supplied first-party file documents this Terminal command:

npm install -g claudish

Claudish also needs provider credentials. It can resolve them from its own configuration, the environment, macOS Keychain, or 1Password. To see its documented credential options, run:

claudish --help

Magus says models should be used through Claudish’s MCP tools after installation, rather than by shelling out to the CLI for normal model work.

Terminal plugin

If you enabled `terminal@magus`, install its two documented dependencies in Terminal:

brew install tmux
go install github.com/MadAppGang/tmux-mcp/v2@v2.0.0

These commands assume Homebrew and Go are already installed. The repository does not provide commands for installing those prerequisites. It also requires `tmux-mcp` to be on `PATH`; if the Go installation finishes but Claude Code cannot find it, consult the linked `tmux-mcp` dependency documentation rather than guessing a PATH change.

You can check the two terminal-integration details with the repository-documented commands:

which tmux-mcp
claude mcp list

The MCP list should include `mux` once the terminal runtime loads. Visible helper panes work when Claude Code is running inside tmux; otherwise only isolated panes are available.

Bun and Mnemex

The `dev` plugin says its hooks and scripts run on Bun. The Mnemex runtime says the `mnemex` CLI must be on `PATH` for its semantic search and AST tools. Since the supplied files provide no installation commands for either program, use their linked first-party setup documentation. Marketplace installation alone does not create these external executables.

Step 4: Restart or reopen the project, then verify

After saving `.claude/settings.json` and installing the runtimes needed by your chosen plugins, reopen the project in Claude Code. In Claude Code, run:

/doctor

Then list installed plugins:

/plugin list

Confirm that each plugin you enabled appears as loaded. Do not rely on the specific `dev` version printed in the root README’s example because another supplied plugin file reports a different version; the important verification is that your installed entry loads without an error.

For `dev@magus`, open its help page:

/dev:help

For Multimodel, a documented test-shaped invocation is:

/multimodel:team Review the auth implementation

Only use that in a suitable project, because it submits the requested task to multiple external models through configured providers.

For the terminal plugin, a simple documented invocation is:

/terminal:run npm test

That runs the project’s test command in a real TTY, so use it only when `npm test` is appropriate for the current project.

Step 5: Share the configuration with a team

The repository recommends committing `.claude/settings.json` so collaborators use the same project plugin selection. In Terminal, from the project root, run:

git add .claude/settings.json
git commit -m "Enable Magus plugins for this project"
git push

Each teammate still needs to register `MadAppGang/magus` once in their own Claude Code installation and install any required external runtimes. After that, pulling the project allows Claude Code to detect and activate its enabled plugins.

Updating Magus

To update an existing Magus marketplace installation, enter this in Claude Code:

/plugin marketplace update magus

The README says this update command works for both global and local installations; you do not need to reinstall each plugin.

Safe first use

Plugins can add hooks, MCP tools, external-model access, terminal control, and workflows that write project files. Start in a project under version control and review changes before committing them. For automated setup of an existing repository, the setup plugin specifically recommends previewing its changes first:

/setup:project --dry-run

If verification fails, first confirm that the marketplace was added, the plugin name in `.claude/settings.json` includes `@magus`, the JSON is valid, and every external runtime required by that plugin is installed and visible on `PATH`. Re-run `/doctor` and `/plugin list` after correcting the issue.