# Why Ollama says a model was not found, and how to fix it

> Source: https://netray.co/troubleshoot/ollama-model-not-found
> Publisher: Netray (netray.co), AI and integration engineering for ERP and manufacturing systems.
> Section: On-Prem AI Troubleshooting

## Short answer

Ollama model not found means the exact tag you requested, including the version suffix after the colon, does not exist locally or in the registry. Either the tag has a typo, the model was never pulled, or a custom Modelfile references a FROM path that does not resolve on this machine. Run ollama list to see what is actually installed, then pull or fix the Modelfile.

## Error Title

Ollama says a model was not found

## Error Signature

Error: model 'llama3.2' not found, try pulling it first

## Alternate Signatures

- Error: pull model manifest: file does not exist
- Error: manifest for llama3.2:latest not found
- Error: could not find model 'mistral:7b-custom'

## Category

local-runtime

## Stack

- ollama

## Affects

All Ollama versions, official library models and custom Modelfile builds

## Quick Fix

### Fastest path to a working model

**Steps:**

- Run ollama list to see exactly which models and tags are installed locally.
- Compare the tag you requested against the library name at ollama.com/library, including the suffix after the colon (for example :8b or :latest).
- Pull the model explicitly: ollama pull llama3.2:latest.
- If you are using a custom Modelfile, confirm the FROM line points to a GGUF file or model name that actually exists on disk or in the registry.
- Rebuild the custom model after fixing the Modelfile: ollama create mymodel -f ./Modelfile.

## Symptoms

- ollama run <name> immediately fails with a not found or manifest error instead of starting a pull
- The model worked yesterday but fails today after a machine or environment change
- A custom model created with ollama create cannot be run under the name you gave it
- An API call to /api/generate returns a model not found error

## Causes

### Typo or wrong tag in the model name

**Likelihood:** most-common

**Explanation:** Ollama model names are case-sensitive and tag-specific; llama3.2 without a tag defaults to :latest, but requesting llama3.2:7b when only llama3.2:3b exists in the library, or misspelling the family name, produces a not-found error because the registry has no matching manifest.

**Fix:** Check the exact name and available tags on ollama.com/library or with ollama list for models you already pulled, then use the exact string including the tag.

**Commands:**

- ollama list
- ollama show llama3.2 --modelfile

### The model was never pulled to this machine

**Likelihood:** common

**Explanation:** Ollama does not auto-pull on every command in older CLI versions or in scripted, non-interactive contexts, so a fresh machine, a new Docker container, or a wiped .ollama directory simply has no local copy, and the run fails before any download starts.

**Fix:** Explicitly pull the model first with ollama pull <name> and wait for it to complete before calling run or the API.

**Commands:**

- ollama pull llama3.2:latest

### Custom Modelfile FROM path is wrong or unreachable

**Likelihood:** common

**Explanation:** A Modelfile that does FROM ./my-model.gguf resolves relative to the directory you run ollama create from, not the Modelfile's own location; a FROM base-model:tag line pointing at a base model that itself was never pulled will also fail during the build step.

**Fix:** Use an absolute path for local GGUF files in FROM, or pull the base model referenced in FROM before running ollama create.

**Commands:**

- ollama create mymodel -f /full/path/Modelfile

### Registry or network access is blocked (air-gapped or proxy environment)

**Likelihood:** occasional

**Explanation:** In air-gapped or heavily proxied networks, ollama pull cannot reach the registry to resolve the manifest at all, and the resulting error can look identical to a simple not-found because the client cannot distinguish network failure from a missing tag.

**Fix:** For air-gapped installs, download the GGUF manually and import it via a Modelfile with a local FROM path instead of relying on ollama pull reaching the public registry.

**Commands:**

- ollama create offline-model -f ./Modelfile

### Model was deleted or storage was reset

**Likelihood:** rare

**Explanation:** If disk cleanup, a container restart without a persistent volume, or an explicit ollama rm removed the model blobs, the manifest reference in the models directory no longer points to valid data, and Ollama reports it as not found on the next run.

**Fix:** Re-pull the model, and if running in a container, mount a persistent volume for the Ollama models directory so pulled models survive container restarts.

**Commands:**

- ollama pull <name>

## Diagnostics

### List installed models

**Command:** ollama list

**Interpretation:** If the model you want is absent, it needs to be pulled or created; if it is present under a slightly different tag, that mismatch is your bug.

### Inspect a custom model's build source

**Command:** ollama show <name> --modelfile

**Interpretation:** Confirms exactly what FROM line and parameters were used when the model was created, useful for catching a stale or wrong base path.

### Check registry reachability

**Command:** curl -I https://registry.ollama.ai

**Interpretation:** A timeout or DNS failure here means pull failures are a network problem, not a naming problem, which matters most in air-gapped or proxied environments.

## Prevention

- Pin exact model tags (not bare :latest) in scripts and Modelfiles so a registry update never silently changes what gets pulled.
- Mount a persistent volume for the Ollama models directory in any containerized deployment.
- For air-gapped sites, maintain an internal mirror of the GGUF files you depend on rather than relying on runtime pulls from the public registry.
- Add a startup check in deployment scripts that runs ollama list and fails fast if an expected model is missing.

## When To Escalate

If you are maintaining more than a handful of custom Modelfiles across multiple air-gapped sites, manual pull-and-create workflows stop scaling; that is the point to build a proper internal model registry and promotion pipeline instead of hand-managing GGUF files per machine.

## Faq

### What does 'Error: pull model manifest: file does not exist' mean?

**Answer:** The registry returned no manifest for the exact name and tag you asked to pull. Usually the model name or tag is wrong (a typo, a size tag the family does not publish, or a model that has been renamed or removed), or the name needs its namespace, for example user/model:tag for community models. Run ollama list, check the library page for the exact tag, and pull again. If the name is correct, test that the registry is reachable from this machine, since a proxy or air-gapped network can produce the same message. On a very old Ollama build, update the client first.

### Why does ollama pull work but ollama run still say not found?

**Answer:** This usually means the tag used in run does not exactly match what was pulled. Ollama treats llama3.2 and llama3.2:latest as the same thing, but llama3.2:8b and llama3.2:70b are different tags entirely; run ollama list to see the exact string to use.

### Can I use Ollama without internet access?

**Answer:** Yes. Download a GGUF file separately, write a Modelfile with FROM pointing to that local file's absolute path, and run ollama create to register it. No connection to the public registry is needed after that.

### Does ollama create download anything from the internet?

**Answer:** Only if the FROM line references a model name still needing a pull, like FROM llama3.2. If FROM points at a local GGUF path you already have on disk, ollama create works entirely offline.

## Search terms

ollama model not found, ollama pull model manifest, ollama modelfile from, ollama create custom model, ollama air gapped model, ollama tag not found

---
Talk to an engineer: https://netray.co/contact?intent=erp_ai | Machine catalog: https://netray.co/agent/catalog.json
