Ollama vs LM Studio on Mac: 0.40 Runs MLX

Ollama vs LM Studio on Mac: 0.40 Runs MLX


Last updated on

Running AI locally on a Mac means the prompt stays on the machine. Ollama and LM Studio are still the two runners people compare. Both run on Apple Silicon. Both serve an OpenAI-compatible local API. The Mac-specific split in October 2026 is which engine the weight uses, not whether a GUI exists.

Old posts said Ollama had no GUI and no MLX. That is stale. Ollama’s preferred Mac install is a DMG app (macOS 14+, menubar, chat). 0.40.0 (2026-09-25) runs supported architectures on MLX by default on Apple Silicon. Development docs still say the MLX engine is enabled by default on macOS arm64 (re-checked 2026-10-10). GitHub Latest is 0.40.2, published 2026-10-08. LM Studio still has the better model browser. The app changelog is 0.4.26 (October 8, 2026). Splash, from 0.4.25, is still the experimental engine for two Qwen models on M3 or newer. 0.4.26 does not replace it.

The remaining decision is workflow, plus the engine. 0.40.2 upgrades models from earlier versions in the background the first time they run on llama.cpp, and keeps the original as a backup. A downgrade below 0.40 needs a re-pull. The notes publish no Apple Silicon tok/s. 0.40.1 (2026-10-07) drops Ollama’s carried Metal residency patch because it is upstream. That is not a speed table. LM Studio 0.4.24 could already run the LLM server on login, or you install llmster and lms daemon up (headless docs checked 2026-09-15; we did not re-test the login checkbox on 2026-09-24). Ollama still wins as the default login item. We still have a same-file GGUF bench from July 2026 (below). That bench is llama.cpp vs llama.cpp. It is not an MLX vs Splash speed claim. We did not re-run the file. Editor autocomplete that can point at a local runner is a different page: AI autocomplete for Mac.

On macOS, Ollama Apps connects Claude Desktop or ChatGPT Desktop (Codex mode) to local models (quickstart, 2026-09-15). 0.40.2 makes ollama launch claude use the model’s full context length. The hook is still a chat window. It is not Finder control.

Setup walkthrough: run local AI models on your Mac. When to stay local vs escalate to cloud: local AI vs cloud AI on Mac. Which machine: best Mac for AI in 2026 (buy unified memory first). If you want the local model to drive Finder, Mail, and calendar, that is Dottie, not a chat runner. The product split against Claude Desktop is Dottie vs Claude on Mac. Computer use is still beta on Pro and Max (help center, 2026-10-08) and does not call Finder. Architecture: What Is Dottie Desktop. Why the local path has no client fee: Why I Made My Mac AI Assistant Free Forever. Wake-word voice that actually finishes the job: Siri alternative for Mac. If the job was a keyboard launcher rather than a local runner, that is Raycast vs Alfred on Mac. Cumulative downloads are 1,574 as of 2026-10-10 (api.dottie.ai). Latest desktop 2026.9.14.

TL;DR

Need on Apple SiliconPick
Always-on local API for scripts, editors, agentsOllama (login item by default)
Browse HuggingFace, compare quants, switch MLX/GGUF in a GUILM Studio
Feed Claude or ChatGPT Desktop a local modelOllama Apps on macOS
Headless daemon, no GUIEither (Ollama login item, or LM Studio llmster)
Two specific Qwen models on M3+, macOS 26.4+, 36 GBLM Studio Splash (experimental; Inco’s tok/s, not ours)
Basic chat without a second frontendEither (Ollama now ships an app)
Open source you can auditOllama (MIT)
Local model that also controls macOSDottie on Ollama or MLX

Quick Comparison

FeatureOllamaLM Studio
Mac installDMG app or brew install ollama (0.40.2)DMG from lmstudio.ai (0.4.26) or llmster
InterfaceMenubar app + CLI + REST API + Apps (Claude / ChatGPT Desktop)Full desktop studio + REST API + lms CLI
Model formatGGUF (llama.cpp) + safetensors / MLXGGUF + MLX
Model discoveryollama.com libraryHuggingFace browser in the app
Custom modelsModelfileDrag-and-drop GGUF / runtime pick
API compatibilityOpenAI-compatibleOpenAI-compatible
Default port114341234
GPU accelerationMetal; MLX by default on Apple Silicon since 0.40.0Metal llama.cpp + MLX + Splash (M3+, macOS 26.4+, two Qwen models). App is 0.4.26
Multi-modelYes (concurrent, RAM permitting)Yes (load/unload)
Memory managementAuto-unload after timeoutManual or auto
Chat UIBuilt-in app (basic)Built-in studio (full)
Server modeLogin item by defaultSettings: run LLM server on login, or lms daemon up
Open sourceYes (MIT)No (free, proprietary)
PriceFreeFree
PlatformmacOS, Linux, WindowsmacOS, Linux, Windows
Vision / embeddingsYesYes

Both are free. The differences are workflow, not “can it run a 7B.” For a Mac agent on top of local weights, see Getting Started with Dottie on Mac.

Ollama: daemon first, app second

Ollama still follows the Unix idea: download, serve, get out of the way. The Mac story is no longer “CLI only.”

Installation on macOS

Official path is the Ollama.dmg: drag to Applications. Requires macOS 14 Sonoma or later. Apple Silicon gets GPU; Intel is CPU only (docs). Homebrew still works:

brew install ollama
ollama run gemma4:e2b

ollama run downloads the model and opens a terminal chat. The app also chats. Official local starter is Gemma 4 E2B. On 2026-10-10 the library lists an MLX blob at 7.5 GB (45d11505b91d) and a llama.cpp blob at 4.6 GB (b37049369adf). Both headers say updated about a week ago. The old single 7.2 GB line does not match either blob. The daemon is the product.

On macOS, open Ollama → Apps to hook Claude Desktop or ChatGPT Desktop (Codex mode). Regular ChatGPT chat and voice still use your ChatGPT connection. Coding agents: ollama launch claude, ollama launch codex, ollama launch opencode. 0.40.2 says ollama launch claude uses the model’s full context length.

How it works

Ollama runs as a background service on macOS. It listens on http://localhost:11434. The FAQ treats it as a login item: menubar, “Restart to update,” Settings → Login Items to stop auto-start. Any local tool can hit the API without you opening a window.

Idle models unload after five minutes (OLLAMA_KEEP_ALIVE to change it). That is the RAM story on a 16 GB Mac.

Model management

ollama pull gemma4:e2b
ollama list
ollama show gemma4:e2b
ollama rm gemma4:e2b
ollama cp gemma4:e2b my-custom-model

The library at ollama.com/library is curated and fast. New architectures tend to show up there quickly. It is smaller than HuggingFace.

Custom models with Modelfiles

FROM gemma4:e2b

PARAMETER temperature 0.7
PARAMETER num_ctx 4096

SYSTEM """
You are a senior software engineer. Respond with concise, production-ready code. Always explain trade-offs. Never use placeholder comments.
"""

Save as Modelfile, run ollama create code-assistant -f Modelfile. LoRA adapters and sampling knobs (top_k, top_p, repeat_penalty, mirostat) live here too.

API

curl http://localhost:11434/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gemma4:e2b",
    "messages": [{"role": "user", "content": "Explain RAFT consensus"}]
  }'

Same shape as OpenAI. Switching a tool from cloud to local is often a base URL and a model name.

Concurrent serving

Ollama can keep more than one model loaded if RAM allows. Route cheap jobs to a small model and hard jobs to a larger one without restarting.

Where Ollama still falls short

The Mac app is a chat window and a menubar, not a studio. You do not get a HuggingFace catalog with RAM estimates and side-by-side quants. For that, LM Studio is still better. Homebrew installs can miss bundled native libraries (GitHub issues about libmlxc.dylib); the DMG is the path the docs recommend.

LM Studio: GUI-first studio

LM Studio’s pitch is the opposite: make local models usable without a terminal.

Installation and first run

Download the DMG from lmstudio.ai, drag to Applications, launch. The model browser talks to HuggingFace. Search, filter by size and quantization, see a compatibility hint for your Mac, download.

No package manager required. The lms CLI exists for people who then want scripts (lms server start, lms runtime ls).

Built-in chat

Pick a model, type, watch tok/s. Sliders for temperature and context. Visible system prompt. Faster for “is this quant any good?” than Ollama’s pull-then-CLI loop.

Model discovery

This is still LM Studio’s lead:

  • Search the HuggingFace GGUF (and MLX) catalog in-app
  • Filter by size, quant (Q4_K_M, Q5_K_M, Q8_0), hardware hint
  • See estimated RAM before you download
  • Read model cards
  • Keep more than one quant of the same model

Ollama’s library is curated. LM Studio is the HuggingFace dump with a filter bar. Niche fine-tunes live here first.

Local server

LM Studio serves OpenAI-compatible HTTP on http://localhost:1234:

curl http://localhost:1234/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gemma-4-instruct",
    "messages": [{"role": "user", "content": "Explain RAFT consensus"}]
  }'

You start the server from the UI or lms server start. Older posts said you had to pick a model by hand first. On the server path, an API call to an unloaded model loads it, same as Ollama. The default GUI still dies if you quit without turning on background serving. That is no longer the only path.

Headless docs (checked 2026-09-15): Settings (Cmd+,) → run the LLM server on login. Exit then minimizes to the tray and port 1234 stays up. Or install llmster (curl -fsSL https://lmstudio.ai/install.sh | bash, then lms daemon up). llmster is the GUI-less daemon. Startup-task docs for llmster are Linux systemd; on a Mac use the desktop login checkbox or lms daemon up yourself.

Custom import

Drop a GGUF on the model folder. It appears in the list. No Modelfile.

Where LM Studio falls short

It is proprietary. You run a closed binary. Fine for most people. A blocker if policy says the inference stack must be auditable.

Automation is still GUI-first out of the box. The default DMG does not register a login item the way Ollama does. Turn on run the LLM server on login, or run llmster (lms daemon up), or port 1234 is down until you open the app. Editor plugins that expect it at boot still need that extra step.

Performance: same GGUF, Apple Silicon (26 July 2026)

MetricOllama 0.31.1LM Studio 1.104.2
Generation speed66.8 tok/s67.7 tok/s
Cold start to first token1,150 ms1,306 ms
Warm time to first token162 ms26 ms
Resident memory, model loaded3.05 GB3.11 GB

Token generation is a tie. 1.3% is noise. Both wrap llama.cpp with Metal. Anyone claiming a large GGUF speed gap on Apple Silicon is comparing different weights or different quants.

Memory is a tie. 60 MB of GUI overhead will not decide a 16 GB Mac.

Warm first-token latency is the real GGUF gap. LM Studio 26 ms vs Ollama 162 ms, about 6x. On a 256-token reply that is under 4% of wall time. It matters for many short editor requests, not for chat.

Idle RAM. Ollama unloads after five minutes. LM Studio holds until you unload. On 16 GB, that difference beats the 60 MB table gap.

We did not re-run the file on 10 October 2026. Ollama’s latest stable is 0.40.2 (v0.40.2, published 2026-10-08). LM Studio the app is 0.4.26 (changelog, October 8, 2026). Treat the table as a dated same-file result, not a live leaderboard. 0.40.2 does not publish an Apple Silicon tok/s number, and it does not replace this table.

Model compatibility is a snapshot, not a law

Each app ships its own llama.cpp (or MLX) on its own cadence. A new architecture can load in one and fail in the other for a few weeks.

On 26 July 2026 we pointed both at the same gemma-4-E4B-it-Q8_0.gguf (7.5 GB):

Ollama 0.31.1 loaded it.

LM Studio runtime 1.104.2 returned unknown model architecture: 'gemma4'. lms runtime update said everything was current.

That was a real result on that day. It is not the 20 August state. LM Studio’s Gemma 4 page now lists E2B through 31B in gguf and mlx (checked 2026-08-20). Do not pick a runner in 2026 because Gemma 4 “only works in Ollama.” Check lms runtime ls and ollama show on the file you actually have.

The durable lesson: day-one architectures still land in Ollama’s library first more often than in a bundled studio runtime. If you chase release-day weights, Ollama is the less surprising host. If you want a catalog UI, LM Studio, and you wait for the runtime.

MLX on Apple Silicon: both, not one

This was the biggest Mac-only gap. It closed.

LM Studio still ships two engines and picks per model: llama.cpp for GGUF, MLX for Apple-native weights from mlx-community. lms runtime ls shows what is installed.

Ollama is not GGUF-only anymore. Development docs (re-checked 2026-10-10): “The MLX engine enables running safetensor based models. On macOS arm64, MLX is enabled by default.” 0.40.0 (2026-09-25) says supported architectures on Apple Silicon run on MLX automatically. Named there: gemma4, qwen3.6, qwen3.5, plus decision models Nimble, tev1, clef, and clef-flash, and the embedding model embeddinggemma-2. Homebrew can miss the native dylib; use the DMG if MLX fails to load. 0.40.1 drops a carried Metal residency patch because it landed upstream. That is not a new benchmark.

We are not publishing a new MLX-vs-GGUF tok/s table here. Third-party posts disagree on the gap, and we did not measure MLX on this pass. What we will say, because it is documented: on a Mac you can run MLX from either app. You no longer need mlx-lm in Python just to try an MLX weight. You still might, if you want the raw mlx-lm CLI.

Why MLX exists: it is written for unified memory and Metal. On some models it is faster than the same weights in GGUF. llama.cpp’s Metal backend closed a lot of that. Format still matters for which fine-tunes you can load.

Splash on Apple Silicon: two Qwen models, not a new default

MLX is the general Apple Silicon path in both apps. Splash is not a third name for MLX.

LM Studio 0.4.25 (2026-09-19) adds the Splash engine on Apple Silicon M3 or newer running macOS 26.4 or newer. The Splash post (re-checked 2026-10-10) still says to turn it on from LM Studio Bionic 1.1.5+: Settings → Runtime → Experimental backends → Splash (Metal). It is tuned for two weights, Qwen3.8-27B-Splash and Qwen3.6-35B-A3B-Splash, each with a DFlash 2 draft model. Minimum 36 GB unified memory. Inco recommends 48 GB or more.

Inco’s test, as quoted by LM Studio, on a 48 GB M5 Pro: about 74 tok/s on short prompts and 54 tok/s at 32K context for Qwen3.8-27B, and 170 tok/s combined across four short concurrent requests (3.9× the next engine in that comparison). We did not run it. It is not an Ollama-versus-LM-Studio result. Our only same-file number is still the July GGUF table above.

0.4.26 (October 8, 2026) does not change those Splash requirements. Build 3 says Bionic 1.1.8 and newer can use LM Studio for local inference while both apps are open. Build 2 updates the bundled llama.cpp runtime to 2.50.0. Build 3 also adds CUDA 13 on Windows ARM, which does not change the Mac DMG. Ollama 0.40.2 does not ship Splash. A 16 GB Mac cannot load it. Stay on Ollama’s MLX or GGUF path, or LM Studio’s llama.cpp and MLX engines. Which machine can hold 36 GB: best Mac for AI in 2026.

LM Studio vs Ollama on macOS: which to pick

Choose Ollama if:

  • You want a local API that is up after login without extra settings
  • You script model pull/run/stop
  • You need the stack to be open source
  • You wire an editor, CI job, or Mac agent at localhost:11434
  • You want concurrent models without opening a window
  • You want new architectures in the first days
  • You want Claude Desktop or ChatGPT Desktop (Codex) to use a local model via Ollama Apps

Choose LM Studio if:

  • You want a real studio GUI (catalog, quants, RAM estimate, side-by-side chat)
  • You are new to local models
  • You want to switch GGUF vs MLX from the UI
  • You evaluate models more than you serve them
  • You have an M3 or newer Mac, macOS 26.4+, and 36 GB (48 GB better) and you want Splash on those two Qwen weights
  • You want a headless daemon on a box with no GUI (llmster)

Use both if:

Ollama on 11434 as the always-on server. LM Studio on 1234 as the browser. They do not fight. Do not load the same 20 GB weights twice on a 16 GB Mac.

The third option: MLX directly, or Dottie

Apple’s MLX is a framework, not a chat app. mlx-lm is the Python runner. mlx-community hosts converted weights.

Dottie is not a model runner. It is a Mac AI agent that can use local models as the brain, then call 134 tools (files, apps, calendar, Mail, Terminal, screen). Requirements: Apple Silicon, macOS 15.4+. Cumulative downloads are 1,574 as of 2026-10-10 (api.dottie.ai). Latest desktop 2026.9.14. Why that agent is free: Why I Made My Mac AI Assistant Free Forever.

Three model paths:

PathWhenCost
Local (MLX / Ollama)Nothing leaves the MacHardware time
BYOK (xAI, OpenAI, Anthropic, Cerebras)You already pay for APIsYour existing bill
Dottie Pro ($20/mo)Managed models, no key plumbingOptional. Does not unlock the 134 tools

Default on-device stack: LFM2.5-1.2B-Thinking (chat), parakeet-tdt-0.6b (STT), Kokoro-82M (TTS), all MLX. Point Dottie at localhost:11434 if you already run Ollama. First 10 minutes: Getting Started with Dottie on Mac. Chat-client vs agent: BoltAI vs Dottie.

Try Dottie on Mac (demo and requirements on the landing page). Source: dottie-desktop-releases.

Use this as RAM guidance, not a ranked benchmark. Check that the architecture loads in the runner you picked.

8 GB (base Air): Gemma 4 E2B (Ollama’s documented local starter; library on 2026-10-10 lists MLX at 7.5 GB and llama.cpp at 4.6 GB), Phi-class small, or Dottie’s 1.2B local chat. Stay Q4. The 7.5 GB MLX blob is tight on 8 GB.

16 GB (typical Pro): Gemma 4 E4B or 12B, Qwen 7B–14B class, a coding 14B. Leave headroom for the desktop.

32 GB+: 30B-class dense or MoE with a small active set. Splash’s two Qwen weights want 36 GB minimum (48 GB recommended), so 32 GB is still under that bar.

64 GB+: 70B-class GGUF or large MLX, if you can stand the load time.

Most of these exist in both apps now. Confirm with a 4-bit file before you download a 30 GB Q8.

Frequently Asked Questions

LM Studio vs Ollama on Mac: which is better?

Ollama 0.40.2 is better as an always-on local API for scripts, editors, and agents. The DMG registers a login item, and 0.40.0 runs supported architectures on MLX by default on Apple Silicon. LM Studio 0.4.26 is better as a GUI studio: HuggingFace browse, quants, and runtime switching, plus experimental Splash for two Qwen models on M3 or newer (macOS 26.4+, 36 GB). LM Studio can run the LLM server on login or via llmster (lms daemon up; headless docs checked 2026-09-15). On Apple Silicon, same GGUF file, generation speed was a tie in our 26 July 2026 M2 Max bench (66.8 vs 67.7 tok/s). Both ship a Mac app and MLX. Neither controls macOS. That is Dottie.

Is Ollama or LM Studio faster on Apple Silicon?

On the same GGUF file, neither, in the only bench we ran. July 2026, M2 Max, Qwen3-4B Q4_K_M: 66.8 tok/s (Ollama 0.31.1) vs 67.7 (LM Studio llama.cpp 1.104.2). LM Studio was faster to first token when warm (26 ms vs 162 ms). We did not re-run on 10 October 2026. Ollama's latest stable is 0.40.2 (published 2026-10-08). It does not publish an Apple Silicon tok/s. LM Studio the app is 0.4.26 (changelog October 8, 2026). Inco's Splash figures (74 tok/s short, 54 at 32K, on a 48 GB M5 Pro) are quoted by LM Studio. They are not our measurement and they are not this GGUF table.

Does Ollama support MLX on Apple Silicon?

Yes. Ollama docs say the MLX engine runs safetensor models and is enabled by default on macOS arm64 (docs.ollama.com/development, re-checked 2026-10-10). Ollama 0.40.0 (2026-09-25) runs supported architectures on MLX automatically on Apple Silicon. Use the official DMG if a Homebrew install cannot find the MLX dylib. LM Studio 0.4.26 still has a dedicated MLX runtime you pick in the UI, plus experimental Splash for two Qwen models on M3 or newer.

Does Ollama have a GUI on Mac now?

Yes. The preferred install is a macOS app (docs.ollama.com/macos): DMG, Applications, menubar, chat, login item. It is a basic chat plus daemon, not LM Studio’s catalog and quant browser. CLI commands still work.

Can Ollama and LM Studio run the same models on Mac?

Mostly. Each ships its own llama.cpp or MLX build, so a brand-new architecture can fail in one for a while. In July 2026 Gemma 4 GGUF loaded in Ollama 0.31.1 and failed in LM Studio 1.104.2. By 20 August 2026 LM Studio lists Gemma 4 in GGUF and MLX. Ollama's gemma4:e2b library page on 2026-10-10 lists an MLX blob at 7.5 GB and a llama.cpp blob at 4.6 GB. Check the file on your Mac.

Can I use Ollama and LM Studio together on a Mac?

Yes. Ollama defaults to port 11434. LM Studio defaults to 1234. A common setup is Ollama as the login daemon and LM Studio as the model browser. Loading the same large model in both doubles RAM. LM Studio can also stay up after quit: Settings, run LLM server on login, or llmster (lms daemon up).

What local AI model should I run on a Mac?

Match RAM, not a leaderboard. 8 GB: Gemma 4 E2B llama.cpp (4.6 GB on the library page, 2026-10-10) or a 1–4B Q4. The MLX blob is 7.5 GB, which is tight on 8 GB. 16 GB: Gemma 4 E4B/12B or a 7–14B. 32 GB+: 30B-class. Dottie uses LFM2.5-1.2B-Thinking by default for on-device tool choice, then you can point it at Ollama.

Do I need internet for local AI on a Mac?

Only to download the app and the weights. After that Ollama, LM Studio, and Dottie’s local path run offline. No API key required for open weights.

Can Ollama feed Claude or ChatGPT Desktop on a Mac?

Yes, on macOS. Open Ollama, select Apps, and connect Claude Desktop or ChatGPT Desktop (Codex mode). Docs: docs.ollama.com/quickstart, checked 2026-09-15. Regular ChatGPT chat and voice still use your ChatGPT connection. That hook is still a chat window, not a Mac agent.

Does LM Studio keep serving after you quit the Mac app?

Not by default. The headless docs (checked 2026-09-15; login checkbox not re-tested on 2026-09-24) say Settings (Cmd+,) → run the LLM server on login, which keeps port 1234 up after you exit to the tray. Or install llmster and run lms daemon up. The app version is now 0.4.26. Ollama's DMG still registers a login item without that extra click. 0.40.2 does not change that login behavior.

What is LM Studio Splash on a Mac?

Splash is an experimental LM Studio engine for two Qwen models on Apple Silicon. It is not a general MLX replacement and it is not in Ollama 0.40.2. LM Studio 0.4.25 (changelog 2026-09-19) supports it on M3 or newer and macOS 26.4 or newer. The Splash post, re-checked 2026-10-10, still says install it in LM Studio Bionic 1.1.5 or newer under Settings, Runtime, Experimental backends, Splash (Metal). 0.4.26 does not change that. It needs 36 GB unified memory (48 GB recommended) and the Qwen3.8-27B-Splash or Qwen3.6-35B-A3B-Splash weights. Inco's 74 tok/s figure is theirs, on a 48 GB M5 Pro. We did not reproduce it. A 16 GB Mac should ignore Splash.

Are local AI models private on a Mac?

If you stay on local weights, yes: Ollama, LM Studio, and Dottie’s MLX path process on-device. If you flip to a cloud model (Ollama Cloud, a hosted LM Studio model, or Dottie’s BYOK/Pro path), that turn leaves the Mac. Pick the path per request.

← Back to Blog

More from the blog