Skip to content

[bug] Catalog Cloudflare app never lists tools on Cloud: AppEvaluationFailed / 502 #2290

Open

Description

@l-mbert

Executor version

Executor Cloud (executor.sh). Host framework reference apps@0.0.1-beta.91; the app is pinned to apps@0.0.1-beta.88.

How do you run Executor?

Executor Cloud

Operating system

macOS (Apple Silicon)

Integration involved

OpenAPI spec via liveOpenapiRouter: the official catalog app @executor.sh/cloudflare, installed unmodified from https://catalog.executor.sh/apps/cloudflare.json.

What happened

The Cloudflare app never lists its tools. The Tools page shows:

Tools could not be loaded. Error code: AppEvaluationFailed. Executor could not load this app's tool definitions.

From MCP:

  • search first listed the app under unavailableApps with AppDiscoveryTimedOut (10000 ms), then with AppEvaluationFailed (502).
  • executor.tools.index({ path: { app } }) returned AppProviderFailed (HTTP 502) on 4 attempts over about 20 minutes, each after 9 to 15 s. I waited at least 30 s between retries, as the recovery text asks.

The linked account is not the problem. It uses the apiToken method, its sign-in state is saved, and its health check (/user/tokens/verify) reports healthy. Other apps in the same organization (Linear, GitHub, Tailscale, PostHog, Motion) list their tools normally.

The app has a single deployment, which is active, so this is not a missing build.

Local reproduction: the definition compiles

I ran openapiToolNames locally with apps@0.0.1-beta.88 and the app's exact openapi.ts options (Node 26, macOS arm64):

Measure Result
Source cloudflare/api-schemas main/openapi.json, 27,316,387 bytes, OpenAPI 3.0.3, 2,339 paths
Tools 2,399
Skipped 1,344: 1,331 api_email/api_key, 3 pages_upload_token, 1 assets_jwt, 9 R2 origin outside allowedOrigin (all expected, and matching the app README)
Wall time about 24 s, mostly download; about 1.2 s CPU
Peak RSS about 390 MB

So the definition is valid and the app code compiles it. The failure seems specific to the hosted evaluation.

Likely cause

I can't see Cloud logs, so this is a guess. Compiling a 27 MB definition probably exceeds the evaluation's time or memory budget on Cloud, even though integrations.md allows source.url definitions up to 40 MB. #2174 shows the same pattern (cold-cache AppDiscoveryTimedOut, then AppEvaluationFailed 502) for a large Microsoft Graph slice on self-host, where the logs showed RangeError: Invalid string length. Serialising the compiled revision for a document this size may hit the same limit.

Another possible factor: upstream openapi.json is republished several times a day (three commits on 2026-10-14 alone), so a per-revision cache would often be cold.

What you expected

The catalog Cloudflare app lists its tools (about 2,399) once an account is connected. If the definition is too large for hosted evaluation, the error should say so, for example a timeout or memory limit, instead of a generic AppEvaluationFailed / HTTP 502.

Steps to reproduce

  1. On Executor Cloud, install Cloudflare from the catalog.
  2. Connect a Cloudflare user API token. The health check passes.
  3. Open the app's Tools page, or call executor.tools.index for the app over MCP.
  4. Discovery times out, then fails with AppEvaluationFailed / HTTP 502.

Diagnostics / logs

None available on Executor Cloud. I can share the app and deployment IDs privately if you want to look them up in server logs. I also sent the same report through the in-app feedback.submit tool.

Before you submit

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions