could not connect to ollama app, is it running? on port 11434 — means the background daemon is stopped or unreachable. On Windows, launch Ollama from the Start Menu or tray; on Linux, run sudo systemctl start ollama. If the port is held by a frozen process, clear it with taskkill /F /IM ollama.exe (Windows) or sudo pkill -f ollama (Linux/macOS).
Ollama is designed to “just work,” but drawing hundreds of gigabytes of model weights and several gigabytes of VRAM in and out of your machine is an environment-sensitive job. Driver updates, port collisions, disk exhaustion, and memory limits all produce errors that look opaque until you know what they mean. This guide is a practical troubleshooting manual: for each symptom it explains the real cause, gives the fastest verified fix, and shows you how to confirm it worked. For the full setup walkthrough and CLI reference, start with the Ollama Complete Guide.
1. The error symptom matrix
If you just want the answer fast, scan this table first. Each row links to the deeper section below.
| Symptom | Platform | Actual cause | Fastest fix |
|---|---|---|---|
could not connect to ollama app |
All | Daemon not running or not reachable on 11434. | Start the service; confirm with curl 127.0.0.1:11434. |
bind: address already in use |
All | Another process holds port 11434. | Kill it, then restart Ollama. |
CUDA out of memory |
Win/Linux | Weights + KV cache exceed VRAM. | Cut num_ctx, then quant, then model size. |
Sluggish, ollama ps shows CPU |
Win/Linux | GPU not detected; layers fell back to CPU. | Update driver / fix group permissions. |
manifest: download failed |
All | Disk full or network interrupted. | Free space; re-run ollama pull to resume. |
| CORS error in a browser app | Web apps | Browser blocked by default origin policy. | Set OLLAMA_ORIGINS and restart. |
2. “Could not connect to Ollama app” and port conflicts
This error is almost never a mystery: the HTTP server on 127.0.0.1:11434 is either not running or something else took the port. The fastest way to know which is to ask the port directly.
# Does anything respond?
curl http://127.0.0.1:11434
# Is the process running?
ollama --version
If curl returns JSON (it should echo or stream), the daemon is fine and your client pointed at the wrong address. If it refuses the connection, start the daemon.
Windows
- Look for the Ollama llama icon in the System Tray. If it is absent, Ollama is not running — start it from the Start Menu.
- If it shows but the port is still refused, a stale process may hold it. Clear it and relaunch in PowerShell:
netstat -ano | findstr 11434 Stop-Process -Name "ollama" -Force Start-Process "ollama"
Linux / macOS
# Service status
sudo systemctl status ollama
# Restart and read the last lines of the log
sudo systemctl restart ollama
journalctl -u ollama -n 50 --no-pager # Linux systemd
On macOS with the Homebrew service, the equivalent is brew services restart ollama. Once restarted, re-test with curl http://127.0.0.1:11434 before adding anything else to the equation.
3. The port is held by something else
bind: address already in use means the port is occupied the moment the daemon tries to start. Find the offender, then decide whether killing it is safe.
# Windows: which PID holds it?
netstat -ano | findstr 11434
taskkill /F /PID <PID>
# Linux: which process, with its PID?
ss -ltnp | grep 11434
kill <PID>
A very common culprit is a second Ollama instance left over after an update, or a container binding the same host port. If a Docker/Podman container owns 11434, fix it at the container (unmap the port), not by killing the container process arbitrarily.
4. GPU not detected (silent CPU fallback)
The subtle one. Ollama won’t always tell you it’s running on CPU — it just runs slow. The diagnostic is ollama ps after loading a model.
ollama run llama3.2 # load it once
ollama ps
Look at the PROCESSOR column. If it shows CPU, your GPU isn’t being used. Work through these, most common first:
- Driver too old (NVIDIA). Release notes and support for recent CUDA features land in driver 535+. Check with
nvidia-smiand the “CUDA Version” line at the top of its output — if the driver’s CUDA is older than what Ollama needs, generation falls back or fails. - Service user lacks device access (Linux). The
ollamasystemd user needs membership invideoandrendergroups to open the GPU device nodes:sudo usermod -aG video,render ollama sudo systemctl restart ollama - You’re testing a model that genuinely can’t fit the GPU.
ollama psalso reveals partial offload — if some layers are on GPU and some on CPU, that’s a VRAM-capacity decision, not a detection failure. Reduce the model or context (Section 5).
5. CUDA out of memory, and the num_ctx lever
CUDA out of memory on Ollama almost always means weights + KV cache exceeded VRAM, and the cheapest single fix is the context window, not the model. The KV cache scales with num_ctx and eats real gigabytes; dropping it frees memory instantly.
# Shrink context and retry at the session level
/exit
ollama run qwen2.5:7b --ctx-size 8192
Or bake it into a Modelfile so it applies every time:
FROM qwen2.5:7b
PARAMETER num_ctx 8192
PARAMETER num_gpu 99
If context is already small and it still fails, step down the quant (Q5_K_M → Q4_K_M), then the model size. If you also want to check nothing else is secretly holding VRAM, use nvidia-smi; other apps (browsers, games, another ML process) can grab the remainder and leave Ollama nothing to work with.
For more on GPU setup, multi-GPU splits, and the math behind how much VRAM a model actually needs, see the GPU and VRAM section of the Ollama Complete Guide.
6. Download failures: disk and network
pull model manifest: download failed usually means the disk ran out of space or the download dropped. Because Ollama pull is resumable at the blob level, the fix is often just “free space, run it again.”
# Check disk headroom first
df -h # Linux/macOS
Get-PSDrive C # Windows
# Retry; it picks up where it left off
ollama pull qwen2.5-coder:32b
If downloads stall at a specific percent repeatedly, check your proxy/VPN and corporate filters — model blobs are large and some networks throttle or drop them. A clean re-pull of a corrupt blob: ollama rm <model> then ollama pull <model>.
7. Reading the Ollama logs
When the error doesn’t match a headline symptom, the log is the source of truth. It’s in a slightly different place per OS:
| Operating System | Log location |
|---|---|
| Windows | %LOCALAPPDATA%\Ollama\server.log |
| Linux (systemd) | journalctl -u ollama -f |
| macOS (app) | ~/.ollama/logs/server.log |
On Linux, journalctl -u ollama -f streams live, which is ideal when you want to reproduce a failure and watch the daemon’s output in real time. Log lines that mention library/cuda or vram_required point straight at GPU issues; lines about bind or address point at ports.
8. Browser apps: the CORS error
If a web front-end (AnythingLLM, Open-WebUI, a custom dashboard) calls Ollama from a browser, you may see No 'Access-Control-Allow-Origin'. This is the browser enforcing same-origin policy against the daemon, not a model problem. Raise OLLAMA_ORIGINS and restart:
# Linux systemd override
sudo systemctl edit ollama
# [Service]
# Environment="OLLAMA_ORIGINS=*"
sudo systemctl daemon-reload
sudo systemctl restart ollama
Restricting OLLAMA_ORIGINS to a specific front-end origin is safer than a wildcard if the app is only ever served from one place. For launches behind a reverse proxy or exposed on a LAN, also review the network/security notes in the Ollama storage and environment guide.
Frequently asked questions
Why does Ollama say “model not found” when I run it?
Check the exact tag: ollama run llama3.2, ollama run llama3.2:3b, and qwen2.5-coder:7b are different models. Confirm what’s installed with ollama list and pull the tag you meant if it’s missing.
Ollama runs but replies are extremely slow after an update. Why?
Run ollama ps while generating. If the processor column shows CPU and you have a GPU, the new build is falling back — follow Section 4 (driver, permissions). If you’re genuinely on CPU, an 8B model at Q4 runs at roughly 3–10 tokens/sec; that’s expected, not a fault.
How do I reset a corrupt model without losing others?
ollama rm <model> removes the tag and its blobs; then ollama pull <model> re-downloads it cleanly. Your other models are untouched. If the daemon itself is wedged, restart the service instead — there’s usually no need to delete anything.