How Often Is the marketplace.json File Synced in Claude Plugins Community?
The marketplace.json file in the anthropics/claude-plugins-community repository is synced nightly from Anthropic's internal review pipeline, serving as a read-only mirror of the community plugin marketplace that refreshes every 24 hours.
This repository maintains the canonical list of Claude community plugins, automated through continuous integration workflows that depend on a consistently updated registry. Understanding the sync schedule is essential for contributors and consumers who rely on accurate plugin metadata for validation and deployment processes.
Understanding the Nightly Sync Schedule
The marketplace.json file located at .claude-plugin/marketplace.json represents a read-only mirror of the community plugin marketplace. According to the repository's README.md (line 7), this file is explicitly described as a mirror that updates on a nightly basis, ensuring the community plugin list stays current while providing a stable snapshot for downstream consumers.
This 24-hour sync cycle strikes a balance between currency and stability. The nightly generation allows Anthropic's internal review pipeline to process plugin submissions, validate metadata, and propagate changes to the public repository without overwhelming the git history with constant commits.
Repository Architecture and Key Files
The nightly sync permeates the repository's CI/CD architecture, with multiple workflows consuming the generated file as a source of truth.
The Canonical Registry File
The .claude-plugin/marketplace.json file functions as the generated source of truth for all plugin entries. Because it is populated automatically from the internal pipeline, contributors must treat it as read-only and avoid manual edits. The file contains the assembled metadata for all validated community plugins available to Claude users.
CI Workflows That Consume the Marketplace
Two primary workflows depend on the nightly-generated file:
.github/workflows/validate-plugins.yml— Runs on each pull request and push, using the latestmarketplace.jsonto validate plugin entries against the schema and ensure metadata integrity..github/workflows/bump-plugin-shas.yml— Operates on the nightly-generated file to update SHA references, keeping plugin entries current with their respective repository commits.
Reusable GitHub Action
The validation logic is encapsulated in .github/actions/validate-plugins/action.yml, a reusable GitHub Action that accepts a marketplace-path input (defaulting to .claude-plugin/marketplace.json). This abstraction ensures consistent validation logic across different workflow triggers while respecting the nightly sync boundary.
Working with the marketplace.json File
When building tools that interact with the Claude plugin ecosystem, you can read and validate the marketplace.json file using standard utilities.
Reading the Marketplace in Node.js
import { readFile } from 'fs/promises';
const marketplacePath = '.claude-plugin/marketplace.json';
async function loadMarketplace() {
const data = await readFile(marketplacePath, 'utf-8');
return JSON.parse(data);
}
// Example usage
loadMarketplace().then(m => {
console.log(`Found ${m.entries.length} plugins`);
});
Validating the Marketplace via CLI
# Validate the full marketplace against the schema
claude plugin validate .claude-plugin/marketplace.json
Checking the Last Sync Timestamp
Because the file regenerates nightly, its git commit timestamp reflects the sync timing:
git log -1 --format="%ci" -- .claude-plugin/marketplace.json
Important Considerations for Contributors
Since marketplace.json is auto-generated, direct modifications via pull requests will be overwritten by the next nightly sync. Instead of editing the file manually, contributors should interact with the repository through the proper submission channels that feed into Anthropic's internal review pipeline. The validation workflows will then automatically reflect approved changes in the subsequent nightly build.
Summary
- The
marketplace.jsonfile syncs nightly (every 24 hours) from Anthropic's internal review pipeline. - The file resides at
.claude-plugin/marketplace.jsonand serves as a read-only mirror. .github/workflows/validate-plugins.ymland.github/workflows/bump-plugin-shas.ymlconsume this file for CI operations.- Contributors should never edit the file directly, as it is treated as generated source code.
- The last sync timestamp can be verified using
git logon the file path.
Frequently Asked Questions
How often is the marketplace.json file synced?
The file is synced nightly (every 24 hours) from Anthropic's internal review pipeline. This schedule is documented in the repository's README.md and ensures the community plugin list remains current without requiring continuous integration updates throughout the day.
Can I edit the marketplace.json file directly?
No. Because marketplace.json is automatically generated, any manual edits made directly to .claude-plugin/marketplace.json will be overwritten during the next nightly sync. Contributors should use the official plugin submission process to propose changes to the marketplace entries.
Which workflows depend on the marketplace.json file?
The primary workflows are .github/workflows/validate-plugins.yml, which validates plugin metadata against the marketplace schema on every PR, and .github/workflows/bump-plugin-shas.yml, which updates cryptographic hash references for plugins. Both workflows assume the file reflects the latest nightly build.
How can I check when the marketplace.json file was last updated?
Run the following command from the repository root to see the timestamp of the last commit affecting the file:
git log -1 --format="%ci" -- .claude-plugin/marketplace.json
This displays the commit date and time, which corresponds to the most recent nightly sync.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →