SafeDisk AI

libtool Can't Write To Output File: No Space Left On Device On macOS Runner

When a GitHub Actions macOS job fails during libtool, xcodebuild, archive, or link steps with No space left on device, the failing command is usually the messenger. The real fix is to separate runner temp files, workspace artifacts, Xcode caches, simulator runtimes, and required toolchain state before adding cleanup.

Free browser cleanup

Find the biggest storage culprit first.

Run the Chrome or Edge web scan, delete one approved low-risk item free, then use the $29 Deep Cleanup only if meaningful space remains.

Start free cleanup $29 Deep Cleanup

First Split The Failure

Minimal Evidence Step

- name: Capture macOS runner storage evidence
  if: runner.os == 'macOS'
  shell: bash
  run: |
    df -h
    xcodebuild -version
    xcrun simctl list runtimes | sed -n '1,100p'
    du -sh "$PWD" "$RUNNER_TEMP" "$HOME/Library/Developer/Xcode/DerivedData" "$HOME/Library/Developer/CoreSimulator" "$HOME/Library/Caches" 2>/dev/null || true

Safe Cleanup Order

  1. Capture disk usage before cleanup so the next failure can be compared.
  2. Delete current-job temp files only after they are no longer needed.
  3. Clean DerivedData and package caches at a predictable boundary.
  4. Delete unavailable simulators before touching required runtimes.
  5. Keep archives, dSYMs, result bundles, and required platform runtimes behind review.
  6. Print disk usage after cleanup and keep enough headroom for the largest archive/link step.

Run the read-only CI scan

The scan captures runner storage, Xcode, simulator, workspace, temp, and cache evidence, then lets you preview the first policy locally in the browser.

Deep Cleanup

Still full after the free cleanup?

Send your email once. We reply with the $29 payment link, one clarification, or a no-pay answer if the free cleanup is enough.

Start free cleanup first