Guide

Running Local LLMs Across Multiple User Accounts with Ollama in 2026

A practical guide to choosing, running, and sharing Ollama models across macOS, Linux, and Windows without wasting disk space.

Developer laptop running Ollama with multiple user profiles sharing one local LLM model store

Running Ollama locally works well until more than one user account exists on the same machine.

That was the exact problem I ran into.

I keep separate OS profiles for personal and professional development. Ollama works normally in both, but each profile can end up with its own model directory.

That means a model downloaded by one account may be downloaded again by another.

With models easily taking several gigabytes, the wasted SSD space adds up quickly.

The main problem

On a typical macOS setup, one user may have:

/Users/alice/.ollama/models

while another gets:

/Users/bob/.ollama/models

The same situation applies to separate Windows profiles.

If Alice downloads a 6 GB model and Bob later runs the same model, Bob may receive another copy under his own profile.

The actual requirement is much simpler:

Alice ─┐
       ├──> Shared Ollama Models
Bob ───┘

Both accounts should keep their own:

  • home directories;
  • projects;
  • SSH keys;
  • shell configuration;
  • development settings.

Only the large Ollama model files need to be shared.

The goal is to share the model store, not the user environment.

What happens when another user account is created?

Suppose Ollama is already working for the first account.

A model is downloaded:

ollama pull llama3.2:3b

Later, a second OS account is created.

The new account does not automatically have access to the model downloaded by the first account.

Its Ollama installation may look for models inside its own profile:

~/.ollama/models

So running:

ollama run llama3.2:3b

can trigger another download.

The clean solution is to move the actual models into one common directory and point every trusted user account to it.

The exact configuration differs slightly between macOS, Linux, and Windows.

Configure shared models on macOS

I use:

/Users/Shared/ollama_models

as the common model directory.

Stop Ollama

Before changing model directories:

pkill -f Ollama

Verify that it stopped:

pgrep -fl Ollama

Create a shared group

A dedicated group is better than giving every local user unrestricted access.

sudo dseditgroup -o create ollamausers

Add the current account:

sudo dseditgroup -o edit -a "$USER" -t user ollamausers

Add another account:

sudo dseditgroup -o edit -a seconduser_name -t user ollamausers

After changing group membership, log out and back in once.

Create the shared model directory

sudo mkdir -p /Users/Shared/ollama_models
sudo chown root:ollamausers /Users/Shared/ollama_models
sudo chmod 2770 /Users/Shared/ollama_models

Add inheritable permissions:

sudo chmod +a \
"group:ollamausers allow list,search,readattr,readextattr,readsecurity,add_file,add_subdirectory,delete_child,writeattr,writeextattr,file_inherit,directory_inherit" \
/Users/Shared/ollama_models

Move existing models

Instead of downloading them again, copy the current store:

sudo rsync -a --info=progress2 \
"$HOME/.ollama/models/" \
"/Users/Shared/ollama_models/"

Keep the old directory temporarily as a backup:

mv "$HOME/.ollama/models" "$HOME/.ollama/models.backup"
mkdir -p "$HOME/.ollama"
ln -s /Users/Shared/ollama_models "$HOME/.ollama/models"

Verify:

ls -ld "$HOME/.ollama/models"

Configure the second macOS account

Log into the second account and stop Ollama.

If that account already contains models, merge them first:

sudo rsync -a --info=progress2 \
"$HOME/.ollama/models/" \
"/Users/Shared/ollama_models/"

Then:

mv "$HOME/.ollama/models" "$HOME/.ollama/models.backup"

mkdir -p "$HOME/.ollama"

ln -s /Users/Shared/ollama_models "$HOME/.ollama/models"

Both accounts now point to the same physical model directory.

Configure shared models on Linux

Linux can be simpler because a standard Ollama installation often runs as a single system service.

Check:

systemctl status ollama

If both users connect to the same service at:

http://localhost:11434

they already use the same server-side model storage.

In that case, separate per-user symlinks are unnecessary.

Move the service model directory if needed

If you want the shared models in a dedicated location:

sudo mkdir -p /var/lib/ollama-models
sudo chown -R ollama:ollama /var/lib/ollama-models
sudo chmod 750 /var/lib/ollama-models

Stop Ollama:

sudo systemctl stop ollama

Copy existing models:

sudo rsync -a --info=progress2 \
/usr/share/ollama/.ollama/models/ \
/var/lib/ollama-models/

Open the service override:

sudo systemctl edit ollama.service

Add:

[Service]
Environment="OLLAMA_MODELS=/var/lib/ollama-models"

Reload and restart:

sudo systemctl daemon-reload
sudo systemctl restart ollama

Now every local user connecting to the same Ollama service uses that common model store.

Configure shared models on Windows

For Windows, I use:

C:\Users\Public\ollama_models

Stop Ollama

Quit it from the system tray or run:

Get-Process ollama -ErrorAction SilentlyContinue | Stop-Process -Force

Create the shared directory

From an Administrator PowerShell session:

New-Item -ItemType Directory `
    -Path "C:\Users\Public\ollama_models" `
    -Force

Allow local users to modify the directory:

icacls "C:\Users\Public\ollama_models" `
    /grant "*S-1-5-32-545:(OI)(CI)M"

Move existing models

$Source = Join-Path $HOME ".ollama\models"
$Destination = "C:\Users\Public\ollama_models"

robocopy $Source $Destination /E /COPY:DAT /DCOPY:DAT /R:2 /W:2

Keep the original as a temporary backup:

Rename-Item $Source "models.backup"

Create a junction

From Command Prompt:

mklink /J "%USERPROFILE%\.ollama\models" "C:\Users\Public\ollama_models"

Configure another Windows account

Log into the second account.

If it already has models, merge them:

$Source = Join-Path $HOME ".ollama\models"
$Destination = "C:\Users\Public\ollama_models"

robocopy $Source $Destination /E /COPY:DAT /DCOPY:DAT /R:2 /W:2

Back up its original directory:

Rename-Item $Source "models.backup"

Then create the same junction:

mklink /J "%USERPROFILE%\.ollama\models" "C:\Users\Public\ollama_models"

Both Windows profiles now use the same model files.

How to test the setup

The simplest test is to download a model from one account and run it from another.

Test 1: Download from the first account

ollama pull llama3.2:3b

Check:

ollama list

Test 2: Switch users

Log into the second OS account and run:

ollama list

The same model should already appear.

Now run:

ollama run llama3.2:3b

If Ollama starts the model without downloading the same model data again, the shared model directory is working.

Test 3: Verify writes from both accounts

From the second account:

ollama pull gemma3:1b

Switch back to the first account:

ollama list

gemma3:1b should now appear there too.

That confirms both accounts can read from and write to the same model store.

One important side effect

Because the storage is shared, deletion is shared as well.

For example:

ollama rm gemma3:1b

removes that model from the common store, so it disappears for the other account too.

For that reason, I only use this setup between trusted local users.

Conclusion

The problem was never Ollama itself. It was the way separate OS accounts naturally get separate storage.

Without changing anything, this can happen:

User A → Model copy
User B → Same model copy

After moving the models into one shared location:

User A ─┐
        ├──> One shared model store
User B ─┘

The user accounts remain isolated, while the machine stores the largest files only once.

For a laptop with multiple development profiles, that is all I really need:

Download the model once, keep one shared copy, and let every trusted account use it.

Share

Share this insight

Send this article to your team or save the link for later.

Have a Critical Release to Test or an AI Agent to Build?

Tell us what you are working on. We will help define the right approach and move it toward a dependable production outcome.

Talk to Gitforce
Article menuClose menu