Local LLM troubleshooting on Mac, iPhone and iPad
Macs swap instead of refusing, Gatekeeper calls unsigned tools damaged, and iPhones kill the app outright. The Apple-specific fixes for local LLMs, verified.
ollama psApple hardware fails at local AI along one axis above all others: memory. There is no separate VRAM to run out of, so nothing tells you that you have asked for too much. On a Mac the request succeeds and macOS starts swapping a multi-gigabyte working set to SSD, which looks exactly like a hang. On an iPhone there is no swap at all, so iOS terminates the app the instant it crosses its limit — and because that is a jetsam kill rather than a crash, you get no dialog, just the home screen.
The second Apple-specific problem is code signing. Most local-AI tooling is small open-source projects without an expensive certificate, so Gatekeeper reports them as damaged when they are merely unsigned. The fixes are safe if you verify the download first and reckless if you do not, and every page here that touches xattr says so plainly.
The rest are narrower but expensive to guess at: the Metal working-set ceiling that reserves a third of your memory away from the GPU, an x86 Python running under Rosetta that makes MLX refuse to install, and sustained-load throttling that halves your tokens per second ten minutes into a long job. Two pages at the end cover iPhone and iPad specifically.
- Ollama: "model requires more system memory than is available"Error: model requires more system memory (9.2 GiB) than is available (7.6 GiB)
- LM Studio: "Failed to load model" (insufficient memory)Failed to load model. Error loading model: unable to allocate backend buffer
- Apple Silicon: model won't use the GPU / Metal not engagedggml_metal_init: failed to allocate buffer
- Out of memory at long context (the KV cache, not the weights)llama_new_context_with_model: failed to allocate KV cache
- Out of disk space / failed GGUF download for large modelsError: write /root/.ollama/models/blobs/sha256-...: no space left on device
- Ollama "connection refused"curl: (7) Failed to connect to localhost port 11434: Connection refused
- Ollama /v1/systemone errors: 400, 404, 413 explained{"error": "request body must not exceed 64 KiB without images"}
- Ollama /v1/systemone image errors: 400, 413, HEIC and sideways photosHTTP 400 or 413 from POST /v1/systemone as soon as the request has an "images" array, or a 200 whose answers ignore the picture
- Raising the Metal VRAM ceiling on Apple Siliconggml_metal_init: recommendedMaxWorkingSetSize = 98304.00 MB
- "App is damaged and can't be opened""LM Studio" is damaged and can't be opened. You should move it to the Bin.
- Running local LLMs on an Intel MacLM Studio system requirements: Apple Silicon Mac (M1/M2/M3/M4), macOS 14.0 or newer.
- MLX won't install, or runs on the CPUERROR: Could not find a version that satisfies the requirement mlx (from versions: none)
- The model crashes your iPhone app, or drops to a smaller oneThe app disappears to the home screen with no dialog, no crash report, and no error.
- iPhone model downloads that fail, fill your storage, or stopDownload interrupted. Please try again.
- Which GGUF quant should I download? (Q4 vs Q5 vs Q8)Which GGUF quant should I download?
- Local LLM repeating itself or stuck in a loopThe same sentence again. The same sentence again. The same sentence again. The same sentence ag
- Local LLM outputs gibberish? Wrong chat template<|im_start|>assistant<|im_end|> <|im_start|>user I I I the the of of<|endoftext|>assistantassistant