# Ollama MLX runner becomes the default on Apple silicon, and Ollama pauses its background model upgrades URL: https://onticpost.com/ollama-mlx-default-apple-silicon/ Published: 2026-10-15 Updated: 2026-10-15 By: Hill, Onticpost > Ollama MLX is now the default on Apple silicon for supported models in the 0.40 series. Older downloads get upgraded with backups, and the notes give no speeds. Ollama published version 0.40.4 of its local model runner on 12 October 2026, the fifth stable release in a series that makes the Ollama MLX runner the default on Apple silicon for every model architecture it supports. The series began with 0.40.0, which the GitHub release page dates to 25 September, and a release candidate for 0.40.5 followed on 14 October. Along the way, version 0.40.2 began upgrading models downloaded with earlier versions in the background, keeping the old copies as backups, and version 0.40.3 paused those background upgrades three days later. The release notes give no speed figure for any of it. **Takeaway points** - Ollama 0.40.0 runs models on MLX by default on Apple silicon where the architecture is supported, and its notes name the qwen3.8, gemma4, qwen3.6 and qwen3.5 models, four decision models and one embedding model. - Version 0.40.2 upgrades older downloads in the background the first time they are run and keeps the original files as a backup on disk, and version 0.40.3 paused that background upgrade because of per-request overhead. - None of the six release notes from 0.40.0 to 0.40.5-rc0 gives a speed or memory figure, and we have not run any 0.40 release. ## What did Ollama change in version 0.40? Ollama 0.40.0 made MLX, Apple’s machine learning framework, the engine that runs models by default on Apple silicon Macs, for the model architectures MLX supports. The release note puts it in one sentence: “model architectures supported by the MLX runtime will automatically run on MLX.” Before this, Ollama ran two engines side by side. Its blog post of 30 March 2026 introduced MLX on Apple silicon as a preview in Ollama 0.19, and its post of 5 June said Ollama 0.30 added GGUF model compatibility through llama.cpp, which “augments Ollama’s MLX engine on Apple silicon”. Version 0.40 settles which of the two a Mac uses when both could run a model: MLX, where the architecture is supported. The series so far, by the dates on Ollama’s GitHub release pages: | Version | Published | What the notes say about MLX or model files | | --- | --- | --- | | 0.40.0 | 25 September 2026 | Models on supported architectures run on MLX by default on Apple silicon | | 0.40.1 | 7 October 2026 | Drops a Metal residency patch Ollama had carried, “now that it is upstream” | | 0.40.2 | 8 October 2026 | Older downloads are upgraded in the background, with the original kept as a backup | | 0.40.3 | 11 October 2026 | Background model upgrade paused | | 0.40.4 | 12 October 2026 | More decision models on the MLX runner, and MLX runner fixes | | 0.40.5-rc0 | 14 October 2026 | Release candidate: Metal custom kernels ported to CUDA, and an MLX version bump | LM Studio, another app for running models locally, also offers MLX; our explainer is [What is MLX in LM Studio?](https://onticpost.com/what-is-mlx-in-lm-studio/) ## Which models run on the Ollama MLX runner by default? The 0.40.0 notes name models, not architectures. They use qwen3.8 as the worked example and list gemma4, qwen3.6 and qwen3.5 as “Additional models”. They add four decision models, Nimble, tev1, clef and clef-flash, and one embedding model, embeddinggemma-2, saying “MLX now has support for an embedding model”. The note ends: “We will continue testing and enabling additional models.” | Kind | Names in the 0.40.0 notes | | --- | --- | | Chat models | qwen3.8, gemma4, qwen3.6, qwen3.5 | | Decision models | Nimble, tev1, clef, clef-flash | | Embedding model | embeddinggemma-2 | Later releases add to the list without naming a full set. Version 0.40.4 says “Kev decision models are now supported by the MLX runner on Apple silicon”, but does not say which models those are. Decision models are a new kind of model in Ollama that return choices and scores instead of text, and they arrived in version 0.35.0 on 28 September; our story on [Ollama adding decision models](https://onticpost.com/ollama-decision-models-systemone/) covers them. The notes do not give a list of architectures, and they do not say what happens to a model whose architecture MLX does not support. Our reading of “supported by the MLX runtime” is that everything else stays on llama.cpp, but no 0.40 note says so in those words. We also checked three pages of Ollama’s own documentation at the 0.40.4 tag, the macOS page, the FAQ and the GPU page. None of them mentions MLX, and none describes a setting to switch the default off. ## What changed for models downloaded before Ollama 0.40? Models downloaded with versions before 0.40 are converted on disk the first time they are run, and the original copy is kept. The 0.40.2 note of 8 October says older models “are upgraded in the background the first time you run them, for better performance and compatibility when running on llama.cpp.” The upgrade, in other words, is for llama.cpp. Nothing in the notes says an older download is moved to MLX. The pull request behind a related 0.40.2 fix, number 18874, merged on 8 October, explains the mechanism. When a “legacy GGUF which requires our llama.cpp patch set” is loaded, Ollama does “a lazy conversion on disk to make it llama.cpp compatible”. To make it safe to go back to an older version, Ollama holds the new and the old file together and creates what the pull request calls “a shadow v1 manifest tag” so that an older server does not delete the new files. Those extra entries had been showing up as duplicates in `ollama list`, which is what that pull request hid. The cost is disk space, and the note says so directly. The original is kept “as a backup, so upgraded models are temporarily kept on disk,” it reads, and “A future release will remove these backups automatically.” Until then, the note gives a shell command that removes the backups by hand. It needs the `jq` tool, and it works by finding each model with a llamacpp runner entry and deleting the older entry marked ggml. The note warns that a person who later goes back to a version older than 0.40 will have to download those models again. It gives no figure for how much space the backups take. Our guide to [importing a local GGUF file into Ollama with a Modelfile](https://onticpost.com/import-gguf-ollama-modelfile-gemma-4/) describes one way a model gets into Ollama’s store in the first place. The 0.40.2 note does not say whether a model imported that way is treated differently from one pulled from Ollama’s library. ## Why did Ollama pause the background model upgrades? Ollama paused the background upgrade because it slowed down ordinary requests. The 0.40.3 note of 11 October lists “Paused background model upgrade for embedding and other request performance”. Pull request 18908, merged on 9 October, gives the reason in more detail: it “Temporarily removes the background model migration until a future release as it created overhead per-request and GC pressure for high-volume use cases (e.g. embedding models).” The change touched 2 files, with 12 lines added and 11 removed. The upgrade note was live for about three days before the pause was published. The notes leave three things open. They do not say whether models already converted under 0.40.2 stay converted, whether their backups stay on disk after the pause, or when the background upgrade will return. “Until a future release” is the only timing given. ## Is MLX in Ollama only for Apple silicon? No. The default is set for Apple silicon, but the MLX runner itself now appears in notes about Nvidia hardware. Version 0.40.4 lists “Improved Gemma 4 prefill performance on NVIDIA GPUs with the MLX runner”, and the 0.40.5 release candidate of 14 October carries a change titled “mlx: port the Metal custom kernels to CUDA”. The notes do not say whether MLX will become a default anywhere other than on Apple silicon. The March blog post had already credited Nvidia contributors with “MLX CUDA support”. We compared the two apps on a Mac in an earlier piece, [Ollama vs LM Studio on an M4 Pro: the same Gemma 4 file runs at the same speed](https://onticpost.com/ollama-vs-lm-studio-speed-m4-pro-gemma-4/). ## What do the Ollama 0.40 release notes not say? The notes give no speed figure. Not one of the six releases from 0.40.0 to 0.40.5-rc0 says how much faster a model runs on MLX than on llama.cpp, on any Mac. Version 0.40.4 says it “Improved inference performance by reusing verified manifests and already loaded models”, with no number. The only figures Ollama has published for MLX on a Mac are in its 30 March post, which gave prefill and decode rates for one model, Qwen3.5-35B-A3B, tested on 29 March with Ollama 0.19. Those are Ollama’s own claims, for an earlier version, and they do not describe 0.40. The notes give no memory requirement either. The March preview post asked for “a Mac with more than 32GB of unified memory”. The 0.40.0 note does not repeat that line or replace it with another. Ollama’s blog has no post on the 0.40 series. Its two most recent posts, dated 13 October and 29 September, cover running agents with Fly.io and decision models. The dates on the record also do not line up. The 0.40.0 release page shows a publication date of 25 September 2026. The commit that the 0.40.0 tag points to was created on 6 October, according to the same page. The 0.40.0 changelog link compares the release with version 0.35.1, which GitHub shows as published on 29 September, four days after the date given for 0.40.0. We report the dates as GitHub shows them and cannot say which reflects when 0.40.0 first reached users. Our test machine is an Apple M4 Pro with 48 GB of unified memory, and we have not run any Ollama 0.40 release on it, so this piece has no speed, memory or disk figure of our own. ## Sources - [Ollama release notes, v0.40.0](https://github.com/ollama/ollama/releases/tag/v0.40.0) - [Ollama release notes, v0.40.2](https://github.com/ollama/ollama/releases/tag/v0.40.2)