Step 1: Download Ollama
Ollama needs macOS 14 Sonoma or newer. It runs on every Apple Silicon Mac, M1 through M6, using the GPU; on an Intel Mac it runs on the CPU only, which is far slower (Ollama’s macOS docs). Pick one of three installs:
- The app (recommended). Download
Ollama.dmgfrom ollama.com/download/mac, open it and drag Ollama into Applications. - The install script. ollama.com now offers the same one-liner for macOS and Linux:
On a Mac it downloads the same app intocurl -fsSL https://ollama.com/install.sh | sh/Applications, links theollamacommand into/usr/local/bin(asking for your password if that folder needs it) and starts Ollama. - Homebrew.
brew install --cask ollama-appinstalls the app.brew install ollamainstalls a separate command-line build of the server that uses Homebrew’s own MLX library; if MLX models fail on it, see the MLX fix.
Step 2: Install and verify
Launch Ollama from Applications. On first start the app checks that the ollama command is on your PATH and offers to link it if it is not. Then open Terminal (Cmd + Space, type Terminal) and check the version:
ollama --version
You want 0.40 or later: on 24 October 2026 the current release is 0.40.11; the newest library models arrived only days ago (Recursive Flint in 0.40.8, NVIDIA’s Nemotron 3.5 Bolt E4B in 0.40.10), so update before pulling them. The app updates itself (click the menu-bar icon and choose Restart to update). An older copy cannot pull newer models and stops with a 412 “requires a newer version of Ollama” error.
Note: typing ollama on its own opens Ollama’s agent launcher (since v0.32.0), which can default to a cloud model. To chat with a model on your Mac, always give it a name, as in ollama run gemma4:12b.
Step 3: Pull your first model
Choose by unified memory. The tags below are on ollama.com/library, the sizes are the library’s download sizes (a range means the tag holds an MLX and a GGUF build), and the speed is what the LLMCheck index expects on a typical Mac with that much memory:
| Your Mac | Pull | Download | Index speed (Mac) |
|---|---|---|---|
| 8 GB | qwen3.5:4b | 3.3–4.0 GB | estimated~23 tok/s MacBook Air M1 8 GB |
| 16 GB | gemma4:12b | 7.7–8.0 GB | estimated~17 tok/s Mac mini M6 16 GB |
| 24 GB | gemma4:26b-a4b | 16–19 GB | community48 tok/s Mac mini M6 24 GB |
| 32 GB and up | qwen3.6:35b-a3b | 23–24 GB | community64 tok/s Mac mini M6 32 GB |
| 32 GB and up, best dense quality | qwen3.8:27b | 18 GB | estimated~29 tok/s Mac Studio M5 Max |
The index’s pick from 24 GB is Qwen 3.6-35B-A3B, but Ollama’s download is 23–24 GB, which leaves a 24 GB Mac little room for macOS and the context, so Gemma 4 26B-A4B is the comfortable choice there. On 16 GB, gpt-oss:20b (14 GB) also runs if you close other apps. Note that qwen3.6 on its own means the 23–24 GB 35B-A3B model, and tags always take a colon: llama4:scout, a 67 GB download.
ollama pull gemma4:12b
For more choices, the Best LLM for every Mac pages rank every model that fits your exact chip and memory.
Step 4: Start chatting
ollama run gemma4:12b
Type a question and press Return. Type /bye or press Ctrl+D to leave. Add --verbose to see the prompt and generation speed after each answer; on models with a draft head that eval rate includes speculative decoding, so it can read higher than plain decode (why).
Step 5: Essential commands
# List downloaded models
ollama list
# Download a model without running it
ollama pull qwen3.5:9b
# Chat with a model (pulls it first if needed)
ollama run qwen3.5:9b
# What is loaded right now: size, PROCESSOR, CONTEXT, RUNNER
ollama ps
# Details of a model, incl. its runner on 0.40+
ollama show qwen3.5:9b
# Unload a model from memory
ollama stop qwen3.5:9b
# Delete a model to free disk space
ollama rm qwen3.5:9b
# Run the server in a terminal (the app already does this)
ollama serve
| Command | What it does | Example |
|---|---|---|
| ollama run | Download if needed, then chat | ollama run gemma4:12b |
| ollama pull | Download without running | ollama pull qwen3.5:9b |
| ollama list | Show downloaded models | ollama list |
| ollama ps | Show loaded models and their runner | ollama ps |
| ollama stop | Unload a model | ollama stop gemma4:12b |
| ollama rm | Delete a model | ollama rm qwen3.5:9b |
Check that Ollama is using MLX
Since v0.40.0 (25 September 2026), an Apple Silicon Mac runs every model Ollama’s MLX runtime supports on MLX by default, Qwen 3.8, Gemma 4, Qwen 3.6 and Qwen 3.5 among them, and the rest on llama.cpp. Load a model and look at the RUNNER column:
ollama run gemma4:12b "hello" >/dev/null
ollama ps
mlx means Apple’s engine, llamacpp means GGUF on llama.cpp. Both use the GPU; PROCESSOR should read 100% GPU. The Ollama on MLX guide covers what speed difference to expect and the MLX error messages.
Connecting other apps to Ollama
Ollama serves an API on http://localhost:11434, including OpenAI-compatible endpoints under /v1 such as /v1/chat/completions. Apps that can use it include:
- Open WebUI: a ChatGPT-style web interface that works with Ollama out of the box.
- Continue: an AI coding extension for VS Code and JetBrains that can point at local Ollama models (coding assistant guide).
- Msty and Enchanted: desktop chat apps that connect to a running Ollama.
LM Studio is an alternative to Ollama with its own engines and model library rather than a front end for it; see the LM Studio guide. For the full list of apps, see the software directory, and when something fails, the Ollama errors guide lists every exact message with its fix.
Keep everything local
Models you pull run entirely on your Mac. Recent versions of Ollama also offer cloud models and web search; to switch those off, create ~/.ollama/server.json with the setting below (or start the server with OLLAMA_NO_CLOUD=1) and restart Ollama. The log then shows Ollama cloud disabled: true (Ollama FAQ).
{
"disable_ollama_cloud": true
}