Since typescript-eslint-language-service relies on internal APIs of typescript-estree, it is effectively locked to particular versions of @typescript-eslint/parser. So putting "@typescript-eslint/parser": ">= 5.0.0” in peerDependencies doesn’t make sense: new installs of typescript-eslint-language-service get recent versions of @typescript-eslint/typescript-estree that no longer work with it. It should be pinned to 5.26.0 as in devDependencies.