Skip to content
Latchkey

Safari converter "Could not find a manifest" in CI

safari-web-extension-converter expects a directory whose root holds manifest.json. If you point it at a parent folder, a zip, or a build that nested the manifest, it cannot find the manifest and stops.

What this error means

The xcrun converter step fails reporting it could not find a manifest.json in the supplied extension directory.

xcrun
xcrun safari-web-extension-converter dist
Error: Could not find a manifest.json file in the specified extension directory.

Common causes

The path does not have manifest.json at its root

A parent directory or a build that placed manifest.json in a subfolder leaves the converter with no manifest at the path it was given.

A zip instead of an unpacked directory

The converter wants an unpacked extension directory, not a packaged zip.

How to fix it

Point the converter at the directory holding manifest.json

  1. Build the extension to an unpacked directory.
  2. Confirm manifest.json sits at the root of that directory.
  3. Pass that exact directory to the converter.
Terminal
xcrun safari-web-extension-converter ./dist --project-location ./safari

Unpack before converting

If you have a zip, extract it first and run the converter against the extracted directory.

Terminal
unzip -o extension.zip -d dist
xcrun safari-web-extension-converter ./dist

How to prevent it

  • Build to an unpacked directory with manifest.json at the root.
  • Convert the directory, not a zip.
  • List the directory in CI to confirm the manifest is present.

Related guides

Tired of flaky CI? Latchkey auto-heals failed jobs and retries them for you. Start free →