RocketChat/Rocket.Chat · error · MarketplaceAppsError
Marketplace_Invalid_Apps_Engine_Version
Error message
Marketplace_Invalid_Apps_Engine_Version
What it means
Thrown by fetchMarketplaceApps when the marketplace responds with HTTP 400 AND response.code === 200. Maps to MarketplaceAppsError('Marketplace_Invalid_Apps_Engine_Version'). The code 200 here is a marketplace-internal error code (not HTTP), indicating the Apps Engine version reported by the workspace does not match what the marketplace expects for its apps.
Source
Thrown at apps/meteor/ee/server/apps/marketplace/fetchMarketplaceApps.ts:186
}
if (request.status === 200) {
const response = await request.json();
fetchMarketplaceAppsSchema.parse(response);
return response;
}
const response = await request.json();
Apps.getRocketChatLogger().error({ msg: 'Error fetching marketplace apps', 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();
}
if (request.status === 400 && response.code === 200) {
throw new MarketplaceAppsError('Marketplace_Invalid_Apps_Engine_Version');
}
const INTERNAL_MARKETPLACE_ERROR_CODES = [266, 256, 166, 221, 257, 320];
if (request.status === 500 && INTERNAL_MARKETPLACE_ERROR_CODES.includes(response.code)) {
throw new MarketplaceAppsError('Marketplace_Internal_Error');
}
throw new MarketplaceAppsError('Marketplace_Failed_To_Fetch_Apps');
}
View on GitHub (pinned to f9d3ec372b)
Solutions
- Update Rocket.Chat (and thus the bundled Apps Engine) to align with marketplace requirements.
- Verify the Apps Engine framework version in Administration > Apps and compare with marketplace-supported versions.
- Avoid forks that misreport the engine version.
- If upgrading is blocked, install apps via offline zip upload.
Defensive patterns
Strategy: try-catch
Validate before calling
async function appsEngineVersionCompatible(): Promise<boolean> {
// compare bundled Apps Engine framework version against marketplace requirements
const frameworkVersion = Apps.getRocketChatAppSdkInfo()?.frameworkVersion;
return isSupportedByMarketplace(frameworkVersion);
} Type guard
import { MarketplaceAppsError } from './marketplaceErrors';
const isInvalidAppsEngineVersion = (e: unknown): e is MarketplaceAppsError =>
e instanceof MarketplaceAppsError && e.message === 'Marketplace_Invalid_Apps_Engine_Version'; Try / catch
try {
return await fetchMarketplaceApps();
} catch (e) {
if (e instanceof MarketplaceAppsError && e.message === 'Marketplace_Invalid_Apps_Engine_Version') {
notifyAdminToUpdateAppsEngine();
return [];
}
throw e;
} Prevention
- Keep the Apps Engine framework version aligned with marketplace requirements (upgrade Rocket.Chat).
- Do not run forks that misreport the framework version.
- Surface a clear 'update required' message to the admin on this error.
- Fall back to offline app installation if upgrade is blocked.
When it happens
Trigger: Calling fetchMarketplaceApps() when the workspace's Apps Engine framework version is incompatible with the marketplace's current app catalogue requirements. The marketplace returns 400 with its internal code 200.
Common situations: Apps Engine version drift after a partial upgrade; running a fork or custom build reporting a non-standard framework version; marketplace raised the required Apps Engine version; downgrade left the engine version mismatched.
Related errors
- Marketplace_Unsupported_Version
- Marketplace_Unsupported_Version
- Invalid response from API
- App not found
- Failed to build external url
AI-assisted analysis of RocketChat/Rocket.Chat@f9d3ec372b (2026-08-12).
Data as JSON: /api/errors/95aea4cff922e62d.
Report an issue: GitHub.