facebook/flow · error · Error

Flow version doesn't support 'flow lsp'. Please upgrade…

Error message

Flow version ${version} doesn't support 'flow lsp'. Please upgrade flow to version ${FLOW_VERSION_FOR_LSP}.

What it means

The flow-for-vscode extension requires a Flow version satisfying >=0.75 to use the 'flow lsp' command; assertFlowSupportsLSP throws this error when the resolved flow binary reports an older version. It is a hard gate before the language server starts.

Solutions

  1. Upgrade flow-bin in the workspace: npm install -D flow-bin@latest (any version >=0.75 works, latest recommended).
  2. Reload the VS Code window after upgrading so the extension re-resolves the flow path.
  3. Point the extension at a specific binary via the flow path setting if PATH resolution picks an old flow.
  4. If you must stay on <0.75, install an old extension release that predates the LSP requirement.

Example fix

// before
"devDependencies": { "flow-bin": "^0.60.0" }

// after
"devDependencies": { "flow-bin": "^0.246.0" }
Defensive patterns

Strategy: validation

Validate before calling

// Check the version satisfies >=0.75 before the extension asserts
import semver from 'semver';
function flowSupportsLSP(version) {
  return semver.satisfies(semver.coerce(version), '>=0.75');
}

Prevention

When it happens

Trigger: Opening a workspace whose flow-bin (or PATH flow) is older than 0.75 with a modern vscode extension; version detection resolving to a legacy flow install; monorepos where the workspace root resolves an ancient nested flow-bin.

Common situations: Old projects pinned to pre-2018 flow versions being opened with a current extension; system PATH containing an old flow; nested node_modules shadowing a newer flow-bin.

Related errors


AI-assisted analysis of facebook/flow@f88ac94bcf (2026-08-20). Data as JSON: /api/errors/c3f4498734af9c14. Report an issue: GitHub.

Appendix: source

Thrown at packages/flow-for-vscode/src/utils/assertFlowSupportsLSP.ts:14

/**
 * Copyright (c) Meta Platforms, Inc. and affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

import checkFlowVersionSatisfies from './checkFlowVersionSatisfies';

const FLOW_VERSION_FOR_LSP = '>=0.75';

export default function assertFlowSupportsLSP(version: string): void {
  if (!checkFlowVersionSatisfies(version, FLOW_VERSION_FOR_LSP)) {
    throw new Error(
      `Flow version ${version} doesn't support 'flow lsp'.` +
        ` Please upgrade flow to version ${FLOW_VERSION_FOR_LSP}.`,
    );
  }
}

View on GitHub (pinned to f88ac94bcf)