Local AI model manager for macOS and Linux.
Download once. Use everywhere. Remove cleanly.
Local AI tools (LM Studio, Ollama, llama.cpp, ComfyUI, …) each maintain their own model directories. The same 8 GB model downloaded through different tools can consume 16–24 GB of disk.
lmm uses HF Cache as the single canonical store and exposes models to each tool via symlinks — zero duplication, instant availability.
- Interactive search — browse and install Hugging Face models from the terminal
- Format support — MLX, GGUF, safetensors
- Tool adapters — LM Studio, llama.cpp, Jan, ComfyUI, text-generation-webui, and more
- Adopt existing models — track models already in your HF Cache without re-downloading
- Doctor & GC — validate integrity, consolidate external models, reclaim disk space
- Shell completions — bash, zsh, fish, elvish, powershell
macOS:
brew install holotherapper/tap/lmmFrom source (macOS / Linux, requires Rust 1.87+):
cargo install --git https://github.com/holotherapper/lmmlmm search # interactive search → select → install
lmm add mlx-community/Qwen3-8B-4bit # install from Hugging Face
lmm add mlx-community/Qwen3-8B-4bit --tool lmstudio # install + expose to LM Studio
lmm list # see all local models (with repo column)
lmm adopt # track existing HF Cache models
lmm doctor # validate + consolidate external models
lmm remove qwen3-8b-4bit-mlx # remove and reclaim disk space
lmm remove mlx-community/Qwen3-8B-4bit # remove by repo name
lmm remove gemma-3-1b-it-qat-4bit # remove external models directly| Command | Description |
|---|---|
lmm add <repo> |
Install a model and expose to tools. Aliases: a, i, install |
lmm remove [names] |
Remove tracked, external, or untracked models. Alias: rm |
lmm list |
List all local models with repo source. Alias: ls |
lmm info <name> |
Show details for matching models (accepts org/repo) |
lmm search [query] |
Search Hugging Face. Aliases: find, discover |
lmm adopt [names] |
Track unmanaged HF Cache models |
lmm update [names] |
Update models to latest revision. Alias: upgrade |
lmm doctor |
Validate cache, exposures, and external models |
lmm gc |
Clean temp files, stale entries, orphan blobs (--dry-run for preview) |
lmm config get/set/path |
Read or update configuration |
lmm completions <shell> |
Generate shell completions |
Run lmm <command> --help for full options.
| Option | Description |
|---|---|
--file <PATTERN> |
Wildcard for GGUF selection (e.g. *Q4_K_M*) |
--tool <T1,T2> |
Target tools (comma-separated) |
--format <F> |
auto, mlx, gguf, or safetensors |
--all |
Expose to all compatible tools |
--dry-run |
Preview without changes |
--replace |
Replace existing exposure |
-y, --yes |
Skip confirmation |
Names can be aliases (qwen3-8b-4bit-mlx) or repo identifiers (mlx-community/Qwen3-8B-4bit).
| Target | Behavior |
|---|---|
| Tracked (managed) | Deletes exposure + HF Cache blobs |
| Tracked (adopted) | Deletes exposure only (add --purge-cache for HF Cache blobs) |
| External (lmstudio, jan, …) | Deletes files from the tool directory |
| External (ollama) | Delegates to ollama rm |
| Untracked HF Cache | Deletes the repo cache directory (specify by org/repo) |
| Tool | ID | Formats | Status |
|---|---|---|---|
| LM Studio | lmstudio |
MLX, GGUF, safetensors | stable |
| Jan | jan |
GGUF | experimental |
| llama.cpp | llama-cpp |
GGUF | stable |
| ComfyUI | comfyui |
safetensors, MLX, GGUF | experimental |
| AUTOMATIC1111 / Forge | a1111 |
safetensors, GGUF | experimental |
| InvokeAI | invokeai |
safetensors, GGUF | experimental |
| Fooocus | fooocus |
safetensors, GGUF | experimental |
| text-generation-webui | text-gen-webui |
MLX, GGUF, safetensors | experimental |
| GPT4All | gpt4all |
GGUF | experimental |
Experimental adapters appear in the TUI when their path is configured (lmm config set paths.comfyui /path/to/ComfyUI/models).
These tools read HF Cache directly — lmm add makes models instantly available:
mlx-lm, transformers, mflux, Diffusers, mlx-whisper, faster-whisper, Kokoro, Bark, F5-TTS, MeloTTS, sentence-transformers, AudioCraft, vLLM, KoboldCpp, Tortoise TTS
| Tool | Reason |
|---|---|
| Ollama | Copies to blob store, doubling disk usage. Shown in lmm list; removable via lmm remove (delegates to ollama rm) |
| Draw Things | App Sandbox + proprietary format. Not manageable |
Config file: ~/Library/Application Support/dev.local.lmm/config.json (macOS) or ~/.local/share/lmm/config.json (Linux). Override with LMM_STATE_DIR.
lmm config set paths.comfyui /path/to/ComfyUI/models
lmm config set defaults.format gguf
lmm config get paths.lmstudio
lmm config pathRun lmm config set to see available keys.
| Variable | Description |
|---|---|
LMM_STATE_DIR |
Override state directory |
HUGGINGFACE_HUB_CACHE |
Override HF Cache directory |
HF_TOKEN |
Hugging Face API token (for gated/private models) |
NO_COLOR |
Disable color output |
- Adopted models keep HF Cache files unless
--purge-cacheis explicitly used - Exposure removal validates paths are under the tool's configured root before deletion
--dry-runpreviews any destructive operation before execution- Symlink exposures are created atomically (stage → rename)
Dual-licensed under either of:
at your option. SPDX identifier: MIT OR Apache-2.0.
