Skip to content
Latchkey

Safari converter "xcrun: error: unable to find utility" in CI

safari-web-extension-converter is part of full Xcode, not the standalone Command Line Tools. On a macOS runner where xcode-select points at the CLT, xcrun cannot find the converter.

What this error means

The xcrun call fails with "unable to find utility \"safari-web-extension-converter\", not a developer tool or in PATH" on a macOS runner.

xcrun
xcrun: error: unable to find utility "safari-web-extension-converter",
not a developer tool or in PATH

Common causes

xcode-select points at Command Line Tools

The active developer directory is the standalone CLT, which does not include the Safari converter.

No full Xcode on the runner

A minimal macOS image without Xcode installed has no converter to run.

How to fix it

Select a full Xcode developer directory

  1. Confirm Xcode is installed on the macOS runner.
  2. Point xcode-select at the Xcode app, not the CLT.
  3. Re-run the converter.
Terminal
sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
xcrun safari-web-extension-converter ./dist

Pin the Xcode version in CI

On hosted macOS runners, select a known Xcode so the converter is present and stable.

.github/workflows/ci.yml
- run: sudo xcode-select -s /Applications/Xcode_15.4.app/Contents/Developer

How to prevent it

  • Use a macOS runner image with full Xcode for Safari conversion.
  • Select the Xcode developer directory before calling xcrun.
  • Pin the Xcode version so the toolchain is reproducible.

Frequently asked questions

What causes ""unable to find utility safari-web-extension-converter""?
The active developer directory is the standalone CLT, which does not include the Safari converter.
How do I fix "unable to find utility safari-web-extension-converter"?
Select a full Xcode developer directory

Related guides

References

Latchkey auto-heals failures like this one - detected, fixed, and retried without you. Start free → 30-day trial · No credit card