{
  "generated_at": "2026-09-23T22:35:01.468Z",
  "queues_synced_at": "2026-09-23T22:30:05.472Z",
  "window_days": 180,
  "method": "typical_wait_days = Kaplan-Meier median days to a decision; waiting submissions are censored at their last known date.",
  "stores": [
    {
      "slug": "chatgpt",
      "name": "ChatGPT Plugins",
      "vendor": "OpenAI",
      "url": "https://reviewtimes.fyi/chatgpt",
      "verdict": "Half get a decision within 9 days.",
      "typical_wait_days": 9,
      "typical_wait_is_lower_bound": false,
      "longest_seen_days": 78,
      "range_days": null,
      "median_to_approval_days": 8,
      "median_to_rejection_days": 3,
      "decided_within_30_days": 0.538,
      "pace": "stalled",
      "counts": {
        "total": 13,
        "approved": 1,
        "rejected": 6,
        "waiting": 3,
        "withdrawn": 1
      },
      "oldest_waiting_days": 91,
      "last_decision": "2026-08-26",
      "last_approval": "2026-06-08",
      "basis": "developer reports",
      "sources": {
        "crowd": 7,
        "public": 6,
        "github": 0
      },
      "how_review_works": "Formerly ChatGPT Apps; the Apps SDK submission flow now lives under Plugins. Drafted in the OpenAI Platform with a verified developer identity. One version can be in review at a time. OpenAI publishes no timeline. Rejections tend to arrive in days; approvals can take months.",
      "submit_url": "https://platform.openai.com/plugins",
      "docs_url": "https://developers.openai.com/plugins/deploy/submission"
    },
    {
      "slug": "claude-connectors",
      "name": "Claude Connectors",
      "vendor": "Anthropic",
      "url": "https://reviewtimes.fyi/claude-connectors",
      "verdict": "Only 1 report so far, not enough to call.",
      "typical_wait_days": null,
      "typical_wait_is_lower_bound": false,
      "longest_seen_days": 0,
      "range_days": null,
      "median_to_approval_days": 0,
      "median_to_rejection_days": null,
      "decided_within_30_days": null,
      "pace": "unknown",
      "counts": {
        "total": 1,
        "approved": 1,
        "rejected": 0,
        "waiting": 0,
        "withdrawn": 0
      },
      "oldest_waiting_days": null,
      "last_decision": "2026-09-08",
      "last_approval": "2026-09-08",
      "basis": "developer reports",
      "sources": {
        "crowd": 0,
        "public": 1,
        "github": 0
      },
      "how_review_works": "Submitted by an Owner of a Claude Team or Enterprise org from admin settings. An automated policy scan lists it as a community connector; Anthropic may later pick it for a slower verified review.",
      "submit_url": "https://claude.ai/admin-settings/directory/submissions",
      "docs_url": "https://claude.com/docs/connectors/building/submission"
    },
    {
      "slug": "claude-plugins",
      "name": "Claude Plugins",
      "vendor": "Anthropic",
      "url": "https://reviewtimes.fyi/claude-plugins",
      "verdict": "Half get a decision within 43 days.",
      "typical_wait_days": 43,
      "typical_wait_is_lower_bound": false,
      "longest_seen_days": 62,
      "range_days": null,
      "median_to_approval_days": 10,
      "median_to_rejection_days": null,
      "decided_within_30_days": 0.316,
      "pace": "moving",
      "counts": {
        "total": 13,
        "approved": 4,
        "rejected": 0,
        "waiting": 3,
        "withdrawn": 0
      },
      "oldest_waiting_days": 28,
      "last_decision": "2026-09-17",
      "last_approval": "2026-09-17",
      "basis": "developer reports",
      "sources": {
        "crowd": 1,
        "public": 12,
        "github": 0
      },
      "how_review_works": "Submitted through the Console form or claude.ai admin settings. Automated security screening, then approval. \"Passed review\" is not the same as listed: the public catalog syncs nightly and has lagged by days.",
      "submit_url": "https://platform.claude.com/plugins/submit",
      "docs_url": "https://code.claude.com/docs/en/discover-plugins"
    },
    {
      "slug": "muse",
      "name": "Muse Connectors",
      "vendor": "Meta",
      "url": "https://reviewtimes.fyi/muse",
      "verdict": "Most submissions are still waiting after 4 days.",
      "typical_wait_days": null,
      "typical_wait_is_lower_bound": true,
      "longest_seen_days": 4,
      "range_days": null,
      "median_to_approval_days": null,
      "median_to_rejection_days": null,
      "decided_within_30_days": 0,
      "pace": "early",
      "counts": {
        "total": 3,
        "approved": 0,
        "rejected": 0,
        "waiting": 3,
        "withdrawn": 0
      },
      "oldest_waiting_days": 4,
      "last_decision": null,
      "last_approval": null,
      "basis": "developer reports",
      "sources": {
        "crowd": 1,
        "public": 2,
        "github": 0
      },
      "how_review_works": "Opened to developers on 18 Sep 2026. Three steps: describe the product, Meta reviews functional, security and legal requirements with end-to-end testing, then it appears in the directory. No stated timeline yet.",
      "submit_url": "https://muse.ai/platform",
      "docs_url": null
    },
    {
      "slug": "grok",
      "name": "Grok Plugins",
      "vendor": "xAI",
      "url": "https://reviewtimes.fyi/grok",
      "verdict": "Most submissions are still waiting after 104 days.",
      "typical_wait_days": null,
      "typical_wait_is_lower_bound": true,
      "longest_seen_days": 104,
      "range_days": null,
      "median_to_approval_days": 11.5,
      "median_to_rejection_days": 42.5,
      "decided_within_30_days": 0.049,
      "pace": "moving",
      "counts": {
        "total": 564,
        "approved": 22,
        "rejected": 2,
        "waiting": 493,
        "withdrawn": 47
      },
      "oldest_waiting_days": 104,
      "last_decision": "2026-09-16",
      "last_approval": "2026-09-16",
      "basis": "public pull requests in xai-org/plugin-marketplace",
      "sources": {
        "crowd": 0,
        "public": 0,
        "github": 564
      },
      "how_review_works": "Submitted as a pull request to xai-org/plugin-marketplace. Merged means listed. We read the queue directly, so these numbers cover every third-party submission, not just the ones people report.",
      "submit_url": "https://github.com/xai-org/plugin-marketplace",
      "docs_url": null
    },
    {
      "slug": "clawhub",
      "name": "ClawHub",
      "vendor": "OpenClaw",
      "url": "https://reviewtimes.fyi/clawhub",
      "verdict": "No reports yet.",
      "typical_wait_days": null,
      "typical_wait_is_lower_bound": false,
      "longest_seen_days": 0,
      "range_days": null,
      "median_to_approval_days": null,
      "median_to_rejection_days": null,
      "decided_within_30_days": null,
      "pace": "unknown",
      "counts": {
        "total": 0,
        "approved": 0,
        "rejected": 0,
        "waiting": 0,
        "withdrawn": 0
      },
      "oldest_waiting_days": null,
      "last_decision": null,
      "last_approval": null,
      "basis": "developer reports",
      "sources": {
        "crowd": 0,
        "public": 0,
        "github": 0
      },
      "how_review_works": "Published from the CLI, then held while an automated security scan runs.",
      "submit_url": "https://clawhub.ai",
      "docs_url": null
    },
    {
      "slug": "cursor",
      "name": "Cursor Marketplace",
      "vendor": "Cursor",
      "url": "https://reviewtimes.fyi/cursor",
      "verdict": "No reports yet.",
      "typical_wait_days": null,
      "typical_wait_is_lower_bound": false,
      "longest_seen_days": 0,
      "range_days": null,
      "median_to_approval_days": null,
      "median_to_rejection_days": null,
      "decided_within_30_days": null,
      "pace": "unknown",
      "counts": {
        "total": 0,
        "approved": 0,
        "rejected": 0,
        "waiting": 0,
        "withdrawn": 0
      },
      "oldest_waiting_days": null,
      "last_decision": null,
      "last_approval": null,
      "basis": "developer reports",
      "sources": {
        "crowd": 0,
        "public": 0,
        "github": 0
      },
      "how_review_works": "Every plugin is manually reviewed before it is listed. Submissions have moved between the marketplace form and cursor.directory, so check the current route first.",
      "submit_url": "https://cursor.com/marketplace/publish",
      "docs_url": "https://cursor.com/docs/plugins"
    },
    {
      "slug": "copilot",
      "name": "Microsoft 365 Agent Store",
      "vendor": "Microsoft",
      "url": "https://reviewtimes.fyi/copilot",
      "verdict": "No reports yet.",
      "typical_wait_days": null,
      "typical_wait_is_lower_bound": false,
      "longest_seen_days": 0,
      "range_days": null,
      "median_to_approval_days": null,
      "median_to_rejection_days": null,
      "decided_within_30_days": null,
      "pace": "unknown",
      "counts": {
        "total": 0,
        "approved": 0,
        "rejected": 0,
        "waiting": 0,
        "withdrawn": 0
      },
      "oldest_waiting_days": null,
      "last_decision": null,
      "last_approval": null,
      "basis": "developer reports",
      "sources": {
        "crowd": 0,
        "public": 0,
        "github": 0
      },
      "how_review_works": "Submitted through Partner Center, where it goes through Microsoft validation before listing. Status and feedback live in Partner Center.",
      "submit_url": "https://partner.microsoft.com/dashboard",
      "docs_url": "https://learn.microsoft.com/en-us/microsoft-365/copilot/copilot-agent-store"
    },
    {
      "slug": "gemini-cli",
      "name": "Gemini CLI Extensions",
      "vendor": "Google",
      "url": "https://reviewtimes.fyi/gemini-cli",
      "verdict": "Only 1 report so far, not enough to call.",
      "typical_wait_days": null,
      "typical_wait_is_lower_bound": false,
      "longest_seen_days": 5,
      "range_days": null,
      "median_to_approval_days": null,
      "median_to_rejection_days": null,
      "decided_within_30_days": null,
      "pace": "unknown",
      "counts": {
        "total": 1,
        "approved": 0,
        "rejected": 0,
        "waiting": 1,
        "withdrawn": 0
      },
      "oldest_waiting_days": 14,
      "last_decision": null,
      "last_approval": null,
      "basis": "developer reports",
      "sources": {
        "crowd": 0,
        "public": 1,
        "github": 0
      },
      "how_review_works": "No form. A daily crawler picks up repos with the topic. It gives no feedback when it skips one, so \"waiting\" can mean \"silently rejected\".",
      "submit_url": "https://geminicli.com/extensions",
      "docs_url": null
    },
    {
      "slug": "docker-mcp",
      "name": "Docker MCP Catalog",
      "vendor": "Docker",
      "url": "https://reviewtimes.fyi/docker-mcp",
      "verdict": "Most submissions are still waiting after 179 days.",
      "typical_wait_days": null,
      "typical_wait_is_lower_bound": true,
      "longest_seen_days": 179,
      "range_days": null,
      "median_to_approval_days": 8.5,
      "median_to_rejection_days": 0.5,
      "decided_within_30_days": 0.006,
      "pace": "stalled",
      "counts": {
        "total": 1058,
        "approved": 2,
        "rejected": 4,
        "waiting": 901,
        "withdrawn": 151
      },
      "oldest_waiting_days": 179,
      "last_decision": "2026-08-30",
      "last_approval": "2026-05-11",
      "basis": "public pull requests in docker/mcp-registry",
      "sources": {
        "crowd": 0,
        "public": 0,
        "github": 1058
      },
      "how_review_works": "Submitted as a pull request to docker/mcp-registry and reviewed by the Docker team. We read the queue directly.",
      "submit_url": "https://github.com/docker/mcp-registry",
      "docs_url": null
    }
  ]
}