withastro/astro · info · Error
No problem! Find our official integrations at https://astro.
Error message
No problem! Find our official integrations at https://astro.build/integrations
What it means
Inside `astro add`, when a package is not found under @astrojs (so it is not official), the CLI prompts the user to continue with a third-party install. If the user declines (askToContinue returns false, or --yes was not set and they answered No), it throws this Error whose message is the friendly redirect to the integrations page. It is a user-initiated abort, not a real failure.
Source
Thrown at packages/astro/src/cli/add/index.ts:872
const parsed = parseIntegrationName(integration);
if (!parsed) {
throw new Error(`${bold(integration)} does not appear to be a valid package name!`);
}
let { scope, name, tag } = parsed;
let pkgJson;
let pkgType: 'first-party' | 'third-party';
if (scope && scope !== '@astrojs') {
pkgType = 'third-party';
} else {
const firstPartyPkgCheck = await fetchPackageJson('@astrojs', name, tag);
if (firstPartyPkgCheck instanceof Error) {
if (firstPartyPkgCheck.message) {
spinner.message(yellow(firstPartyPkgCheck.message));
}
spinner.message(yellow(`${bold(integration)} is not an official Astro package.`));
if (!(await askToContinue({ flags, logger }))) {
throw new Error(
`No problem! Find our official integrations at ${cyan(
'https://astro.build/integrations',
)}`,
);
}
spinner.message('Resolving with third party packages...');
pkgType = 'third-party';
} else {
pkgType = 'first-party';
pkgJson = firstPartyPkgCheck as any;
}
}
if (pkgType === 'third-party') {
const thirdPartyPkgCheck = await fetchPackageJson(scope, name, tag);
if (thirdPartyPkgCheck instanceof Error) {
if (thirdPartyPkgCheck.message) {
spinner.message(yellow(thirdPartyPkgCheck.message));
}View on GitHub (pinned to d081033d5f)
Solutions
- Check the spelling of the integration against https://astro.build/integrations and retry.
- If you really want the third-party package, re-run and answer Yes (or pass --yes / -y).
- For non-interactive installs, install the package manually with your package manager and wire it up in astro.config.
Example fix
# before astro add tailwimd # typo, prompt appears, you say No # after astro add tailwind # correct name, no prompt # or proceed anyway: astro add tailwimd --yes
Defensive patterns
Strategy: try-catch
Prevention
- Verify integration spelling against the official list before running `astro add`.
- Pass --yes only when you genuinely accept a third-party install.
- Run `astro add` interactively for unknown packages to see prompts.
When it happens
Trigger: Running `astro add <some-non-astrojs-pkg>` (or a typo that is not an official integration) in interactive mode and answering 'No' to the 'Continue?' prompt; or the same in a non-TTY context where the prompt resolves to false.
Common situations: Misspelled official integration name (e.g. `astro add tailwimd`); trying an unknown community package and deciding not to proceed; running `astro add` in CI without --yes where the prompt cannot be answered.
Related errors
- Unknown error parsing tsconfig.json or jsconfig.json. Could
- ${integration} does not appear to be a valid package name!
- Unable to fetch ${integration}. Does the package exist?
- ${packageName} doesn't appear to be an integration or an ada
- `--ignore-lock` cannot be used together with `--background`.
AI-assisted analysis of withastro/astro@d081033d5f (2026-08-12).
Data as JSON: /api/errors/8a0188b024957eda.
Report an issue: GitHub.