RocketChat/Rocket.Chat · error · MarketplaceAppsError

Marketplace_Internal_Error

Error message

Marketplace_Internal_Error

What it means

Thrown when the Rocket.Chat Cloud marketplace endpoint returns HTTP 500 with a body whose `code` field is one of the internal marketplace error codes (189 or 266). It signals an unrecoverable server-side failure inside the marketplace service itself, distinct from connectivity or version problems. The error is a typed `MarketplaceAppsError` carrying the message key `Marketplace_Internal_Error`, surfaced from `fetchMarketplaceCategories()` after the response body is parsed and logged.

Source

Thrown at apps/meteor/ee/server/apps/marketplace/fetchMarketplaceCategories.ts:72

	if (request.status === 200) {
		const response = await request.json();
		fetchMarketplaceCategoriesSchema.parse(response);
		return response;
	}

	const response = await request.json();

	Apps.getRocketChatLogger().error({ msg: 'Error fetching marketplace categories', status: request.status, response });

	// TODO: Refactor cloud to return a proper error code on unsupported version
	if (request.status === 426 && 'errorMsg' in response && response.errorMsg === 'unsupported version') {
		throw new MarketplaceUnsupportedVersionError();
	}

	const INTERNAL_MARKETPLACE_ERROR_CODES = [189, 266];

	if (request.status === 500 && INTERNAL_MARKETPLACE_ERROR_CODES.includes(response.code)) {
		throw new MarketplaceAppsError('Marketplace_Internal_Error');
	}

	throw new MarketplaceAppsError('Marketplace_Failed_To_Fetch_Categories');
}

View on GitHub (pinned to f9d3ec372b)

Solutions

  1. Retry the marketplace/categories request after a short delay — 500 with these codes is typically a transient cloud-side fault.
  2. Check Rocket.Chat Cloud status pages / announcements for an active marketplace incident.
  3. Inspect the server log entry `Error fetching marketplace categories` (it records status and full response body) to confirm `response.code` is 189/266 and capture the cloud-side trace if reporting a bug.
  4. Upgrade the workspace to a supported version if the cloud has deprecated the request shape for your build.
Defensive patterns

Strategy: retry

Type guard

import { MarketplaceAppsError } from './marketplaceErrors';

function isMarketplaceInternalError(e: unknown): boolean {
	return e instanceof MarketplaceAppsError && e.message === 'Marketplace_Internal_Error';
}

Try / catch

try {
	const categories = await fetchMarketplaceCategories();
} catch (e) {
	if (e instanceof MarketplaceAppsError && e.message === 'Marketplace_Internal_Error') {
		// transient cloud-side 500 (codes 189/266) — retry with backoff
	}
	throw e;
}

Prevention

When it happens

Trigger: Calling `fetchMarketplaceCategories()` (which hits `GET v1/categories` on the marketplace client) when the cloud responds with status 500 AND `response.code` equals 189 or 266. Any other 500 body falls through to the generic categories-fetch error.

Common situations: A transient outage or bug on the Rocket.Chat Cloud marketplace backend; a workspace whose cached access token triggers a server-side fault; during a cloud-side deployment window where the categories service is degraded.

Related errors


AI-assisted analysis of RocketChat/Rocket.Chat@f9d3ec372b (2026-08-12). Data as JSON: /api/errors/17e1eca987274c6c. Report an issue: GitHub.