Move your model downloads when they are filling the system drive or you want to keep a larger collection on another disk. The useful result is a model that loads from the new location after the app restarts, with enough free space left for future downloads. Changing a setting alone does not prove that the existing files moved.
Use a local drive that remains available whenever the model runner starts. An external SSD can work, but an unplugged disk, changed drive letter, or unavailable mount looks like a missing model. Storage speed affects downloading and loading; it does not turn a model that exceeds memory into a comfortable fit.
Before changing anything
- Write down the current model directory and the exact name of a working model.
- Check that the destination has room for the existing collection and a temporary second copy.
- Stop downloads, unload running models, and quit the app or stop its service.
- Copy the model files first. Keep the originals until the new location passes the restart check below.
Moving the model collection does not move every chat, document index, log, or app setting. Those can live in separate folders. Back up a conversation or document workflow separately if you need to preserve it.
Move Ollama models
Ollama stores model manifests and shared data files together. Copy the contents of the whole models directory, including its blobs and manifests folders, into the new model directory. A single data file with a hash as its name is not a complete, independently named model installation.
The standard locations are:
| Installation | Default model directory |
|---|---|
| Windows desktop app | %USERPROFILE%\.ollama\models |
| macOS desktop app | ~/.ollama/models |
| Standard Linux service | /usr/share/ollama/.ollama/models |
A custom service, container, or different account can use another location. Confirm which server your app connects to before copying files. A Windows desktop installation and Ollama installed inside WSL are separate installations.
Windows
Quit Ollama from its tray menu. Copy the existing directory's contents to a destination such as D:\AI\OllamaModels. In Windows, search for Edit environment variables for your account, then create or edit the user variable OLLAMA_MODELS with that full path as its value. Do not include quotation marks in the value entered in this dialog.
Start Ollama again, then open a new PowerShell window. The already running app and old terminals do not automatically inherit the changed setting. If Ollama runs as another account or as a separate service, configure the environment for that process instead.
macOS
Quit Ollama, copy the directory's contents, and set the destination for the app's launch environment. For example:
launchctl setenv OLLAMA_MODELS "/Volumes/Models/OllamaModels"
Replace that example with your actual mounted folder. Reopen Ollama. A variable set only in a Terminal shell does not necessarily reach a desktop app launched outside that shell. Recheck the setting and model list after a computer restart, especially when the destination is on an external disk.
Linux service
Stop the service while copying its files:
sudo systemctl stop ollama
sudo systemctl edit ollama.service
In the override editor, add a service section with your actual destination:
[Service]
Environment="OLLAMA_MODELS=/mnt/models/OllamaModels"
The ollama service account needs permission to read and write that folder and access its parent directories. Give that account access to the specific destination; avoid changing ownership of an entire disk or home directory. Make sure the disk is mounted before the service starts. Then apply the change:
sudo systemctl daemon-reload
sudo systemctl restart ollama
For a manually started server, set OLLAMA_MODELS in the environment that starts ollama serve instead. These systemd instructions do not configure a container or another computer's server.
Move LM Studio models
Open My Models and note the current models directory. LM Studio's download documentation identifies this screen as the place to change that directory. Quit the app, copy the collection into your chosen destination, reopen the app, and select that destination in My Models.
Preserve the publisher and model subfolders. A typical GGUF layout is publisher/model/model-file.gguf below the models directory. Also preserve every part of a split model and any companion files required by the download. Do not turn an MLX package into a single GGUF file by renaming it.
For a separately downloaded GGUF, the optional lms command can preview and import a file into the currently configured directory:
lms import "/path/to/model.gguf" --dry-run
lms import "/path/to/model.gguf" --copy
Replace the path with the actual file, using a quoted Windows path on Windows. The first command previews the import; the second preserves the original. Without --copy, lms import moves the source file by default. Importing a model is different from changing the storage location for the whole collection.
Confirm the move before freeing the old space
For Ollama, run ollama list, then run the exact model you noted before the move. For LM Studio, confirm it appears in My Models, load it, and send a short prompt. Quit and reopen the app once more with the destination available. Confirm a subsequent download also goes to the intended folder.
An empty model list usually means the runner is reading a different directory, the old process still has its old environment, or permissions prevent access. A visible model that will not load can indicate missing parts, an unsupported download, or a separate memory problem.
Only after those checks should you remove the verified old copy through your file manager. Keep the new collection intact. Do not delete individual Ollama blobs to recover space; shared files can belong to more than one model. Use the runner's normal model removal command for later cleanup.