# How to Find the Source Repository for a Claude Plugin: A Complete Guide

> Discover how to easily find the source repository for any Claude plugin. Learn to locate the repository field within the plugin.json file for quick access to plugin code.

- Repository: [Anthropic/claude-plugins-community](https://github.com/anthropics/claude-plugins-community)
- Tags: how-to-guide
- Published: 2026-09-06

---

**The source repository for any Claude plugin is stored in the `"repository"` field of the [`plugin.json`](https://github.com/anthropics/claude-plugins-community/blob/main/plugin.json) file located inside the hidden `.claude-plugin` directory of each plugin folder.**

Every plugin in the `anthropics/claude-plugins-community` monorepo follows a standardized structure that makes tracing upstream sources straightforward. Whether you're auditing dependencies, contributing fixes, or simply curious about a plugin's origins, the metadata you need is consistently located in one place.

## Where Plugin Metadata Is Stored

Each Claude plugin contains a hidden directory named `.claude-plugin` at its root. Inside this directory, the [`plugin.json`](https://github.com/anthropics/claude-plugins-community/blob/main/plugin.json) file serves as the authoritative source of plugin metadata, including the upstream **source repository URL**.

For example, in the `tres-finance-plugin`, the metadata file is located at:

```

tres-finance-plugin/.claude-plugin/plugin.json

```

The `"repository"` field in this JSON file points directly to the original codebase:

```json
{
  "repository": "https://github.com/Tres-Finance-Public/tres-claude-plugin"
}

```

This pattern is identical across all plugins in the repository. Other examples include:

- [`quickdesign/.claude-plugin/plugin.json`](https://github.com/anthropics/claude-plugins-community/blob/main/quickdesign/.claude-plugin/plugin.json) → points to its upstream repo
- [`testdino/.claude-plugin/plugin.json`](https://github.com/anthropics/claude-plugins-community/blob/main/testdino/.claude-plugin/plugin.json) → points to its upstream repo
- [`eli5/.claude-plugin/plugin.json`](https://github.com/anthropics/claude-plugins-community/blob/main/eli5/.claude-plugin/plugin.json) → points to its upstream repo

## Step-by-Step: Finding a Source Repository Manually

Follow these steps to locate the source repository for any Claude plugin:

1. **Navigate to the plugin folder** in the `anthropics/claude-plugins-community` repository (e.g., `tres-finance-plugin/`).

2. **Open the hidden `.claude-plugin` directory.**

3. **Read the [`plugin.json`](https://github.com/anthropics/claude-plugins-community/blob/main/plugin.json) file** and extract the value of the `"repository"` key.

The URL you find is the definitive source repository maintained by the plugin's original authors.

## Programmatic Methods to Extract Repository URLs

For automation or bulk analysis, you can retrieve source repository information programmatically.

### Python: Get Repository URL for a Single Plugin

This function reads the [`plugin.json`](https://github.com/anthropics/claude-plugins-community/blob/main/plugin.json) file and returns the repository URL:

```python
import json
from pathlib import Path

def get_plugin_repo(plugin_name: str) -> str | None:
    """Return the upstream repository URL for a Claude plugin."""
    plugin_json = Path("..") / plugin_name / ".claude-plugin" / "plugin.json"
    if not plugin_json.is_file():
        raise FileNotFoundError(f"{plugin_json} does not exist")
    with plugin_json.open() as f:
        data = json.load(f)
    return data.get("repository")

# Example usage

repo_url = get_plugin_repo("tres-finance-plugin")
print(f"Source repository: {repo_url}")

```

### Shell: List All Plugins with Their Source Repositories

Use this one-liner to discover every plugin and its upstream source in one command:

```bash
#!/usr/bin/env bash

# Find every plugin.json and print the plugin name + repository URL

find . -path "*/.claude-plugin/plugin.json" -exec sh -c '
  dir=$(dirname "$1")
  name=$(basename "$dir")
  repo=$(jq -r .repository "$1")
  echo "- $name → $repo"
' {} \;

```

This script leverages the consistent [`.claude-plugin/plugin.json`](https://github.com/anthropics/claude-plugins-community/blob/main/.claude-plugin/plugin.json) path pattern to traverse the entire monorepo efficiently.

## Key Metadata Files in the Claude Plugins Community Repository

| Plugin | Metadata File Location | Source Repository Field |
|--------|------------------------|------------------------|
| tres-finance-plugin | [`tres-finance-plugin/.claude-plugin/plugin.json`](https://github.com/anthropics/claude-plugins-community/blob/main/tres-finance-plugin/.claude-plugin/plugin.json) | `"repository": "https://github.com/Tres-Finance-Public/tres-claude-plugin"` |
| quickdesign | [`quickdesign/.claude-plugin/plugin.json`](https://github.com/anthropics/claude-plugins-community/blob/main/quickdesign/.claude-plugin/plugin.json) | `"repository"` key |
| testdino | [`testdino/.claude-plugin/plugin.json`](https://github.com/anthropics/claude-plugins-community/blob/main/testdino/.claude-plugin/plugin.json) | `"repository"` key |
| eli5 | [`eli5/.claude-plugin/plugin.json`](https://github.com/anthropics/claude-plugins-community/blob/main/eli5/.claude-plugin/plugin.json) | `"repository"` key |

All files are available in the `anthropics/claude-plugins-community` repository under their respective plugin directories.

## Why This Structure Matters

The standardized [`.claude-plugin/plugin.json`](https://github.com/anthropics/claude-plugins-community/blob/main/.claude-plugin/plugin.json) convention in the `claude-plugins-community` monorepo provides several benefits:

- **Traceability** — Every plugin can be traced back to its original maintainers.
- **Transparency** — Users can inspect source code before installation.
- **Automation** — Tools can bulk-process plugin metadata without custom parsing logic.

When you need to find the source repository for a Claude plugin, this consistent structure eliminates guesswork. The `"repository"` field in [`plugin.json`](https://github.com/anthropics/claude-plugins-community/blob/main/plugin.json) is always the authoritative reference.

## Summary

- Claude plugins store source repository URLs in [`.claude-plugin/plugin.json`](https://github.com/anthropics/claude-plugins-community/blob/main/.claude-plugin/plugin.json) under the `"repository"` key.
- The `tres-finance-plugin` example shows `"repository": "https://github.com/Tres-Finance-Public/tres-claude-plugin"`.
- Python and shell scripts can automate extraction of repository URLs across the entire monorepo.
- All plugins in `anthropics/claude-plugins-community` follow this identical metadata structure.

## Frequently Asked Questions

### What if a plugin doesn't have a `.claude-plugin` directory?

Every plugin in the `anthropics/claude-plugins-community` repository is required to include this directory as part of the standardized plugin format. If you encounter a plugin without it, the plugin may be malformed or incomplete. Check the repository's contribution guidelines for validation requirements.

### Can the repository URL point to platforms other than GitHub?

Yes. While the examples in `claude-plugins-community` primarily use GitHub URLs, the `"repository"` field accepts any valid URL. The plugin.json schema does not restrict the hosting platform, so GitLab, Bitbucket, or self-hosted Git instances are all valid.

### How do I verify that a source repository is authentic?

Compare the `"repository"` URL in [`plugin.json`](https://github.com/anthropics/claude-plugins-community/blob/main/plugin.json) against the plugin's documentation and the publisher's official channels. The `anthropics/claude-plugins-community` repository itself provides a curation layer, but you should still verify upstream sources independently for security-sensitive applications.

### Is the repository field ever empty or omitted?

The field should always be present in valid plugins. If `"repository"` is missing or null, the plugin metadata is incomplete. You can report such issues through the `anthropics/claude-plugins-community` repository's issue tracker.