Date: January 20, 2026 Issue: MLX Toolkit showing as "Unavailable" despite being "installed" Status: โ FIXED (Installing MLX)
The Issue: MLX Toolkit was NOT actually installed in Python, despite what you thought.
What Bastion Checks:
private func checkMLXAvailability() async -> Bool {
let task = Process()
task.executableURL = URL(fileURLWithPath: pythonPath)
task.arguments = ["-c", "import mlx.core as mx; print('OK')"]
try task.run()
task.waitUntilExit()
return task.terminationStatus == 0 // Returns true if import succeeds
}When I Tested:
/opt/homebrew/bin/python3 -c "import mlx.core as mx"
# Result: ModuleNotFoundError: No module named 'mlx'So MLX wasn't installed!
Installing MLX now:
/opt/homebrew/bin/python3 -m pip install --break-system-packages mlx-lmWhat this installs:
mlx-lm- MLX language model packagemlx.core- Core MLX framework (what Bastion checks)- All dependencies for Apple Silicon optimization
Installation takes 2-3 minutes (installing in background now)
To verify MLX is now available:
- Wait for installation to complete (~2-3 minutes)
- Open Bastion โ Settings โ AI Backends
- Click "Refresh Status" button
- MLX Toolkit should now show: โ Available (green)
If still showing unavailable:
-
Check Python path in Settings:
- Should be:
/opt/homebrew/bin/python3 - If different, update it
- Should be:
-
Verify manually:
/opt/homebrew/bin/python3 -c "import mlx.core as mx; print('OK')" # Should print: OK
-
Restart Bastion app
Possible reasons:
-
MLX Examples installed?
- You might have
mlx-examplesrepo cloned - But that doesn't install the Python package
- You might have
-
System MLX vs Python MLX:
- MLX framework might be on system
- But not in Python environment
-
Different Python:
- Installed in another Python (like conda, pyenv)
- But Bastion checks
/opt/homebrew/bin/python3
-
Homebrew MLX:
brew install mlx(if it exists)- But Bastion needs the Python package
How Bastion Checks Each Backend:
| Backend | Check Method | Port/Path | Result |
|---|---|---|---|
| Ollama | HTTP GET /api/tags | localhost:11434 | โ Available |
| MLX | Python import mlx.core | /opt/homebrew/bin/python3 | โ Was Not Available |
| TinyLLM | HTTP GET / | localhost:8000 | โ Not Running |
| TinyChat | HTTP GET / | localhost:8000 | โ Not Running |
| OpenWebUI | HTTP GET / | localhost:8080 | โ Not Running |
Active Backend: Ollama (the only one available)
Check each backend manually:
# Ollama (should work)
curl -s http://localhost:11434/api/tags | grep -q "models" && echo "โ Ollama Available" || echo "โ Ollama Unavailable"
# MLX (should work after install completes)
/opt/homebrew/bin/python3 -c "import mlx.core; print('โ MLX Available')" 2>&1 || echo "โ MLX Unavailable"
# TinyLLM
curl -s http://localhost:8000/ > /dev/null && echo "โ TinyLLM Available" || echo "โ TinyLLM Not Running"
# TinyChat
curl -s http://localhost:8000/ > /dev/null && echo "โ TinyChat Available" || echo "โ TinyChat Not Running"
# OpenWebUI
curl -s http://localhost:8080/ > /dev/null && echo "โ OpenWebUI Available" || echo "โ OpenWebUI Not Running"Option 1: Use Ollama (Recommended)
- Already working โ
- Has your models installed (mistral, deepseek-v3.1, etc.)
- Most reliable option
- No additional setup needed
Option 2: Install MLX
- Currently installing (background)
- Best for Apple Silicon optimization
- Runs models locally via Python
Option 3: Install TinyChat or OpenWebUI
- Great for web UI + API access
- Both by Jason Cox / Community
- Easy Docker setup
My Recommendation: Stick with Ollama - it's working great and you have multiple models already installed!
- Wait for MLX installation to complete (~2-3 min)
- Check status:
/opt/homebrew/bin/python3 -c "import mlx.core; print('OK')" - Open Bastion โ Settings โ AI Backends
- Click "Refresh Status"
- MLX should now show: โ Available
Just use Ollama - it's already working perfectly!
- You have 6 models installed
- Mistral is selected and working
- All AI features work great
- No need for MLX unless you specifically want it
When to use MLX:
- โ Want Apple Silicon optimization
- โ Running models directly in Python
- โ Experimenting with mlx-lm features
When to use Ollama:
- โ Want easy model management
- โ Want multiple models (you have 6)
- โ Want stability and reliability
- โ Just want AI features to work
Current Status:
- Ollama: โ Working perfectly
- MLX: โณ Installing now
- TinyChat: Not installed (optional)
- OpenWebUI: Not installed (optional)
Recommendation: Keep using Ollama - it's working great!
Question: Why is MLX not listed as available?
Answer: MLX Python package wasn't installed. It's installing now.
Fix:
- โณ Installing mlx-lm package (running in background)
- โ After install completes, click "Refresh Status" in Settings
- โ MLX will show as available
Alternative: Just use Ollama - it's working perfectly and you don't need MLX!
Status: MLX installation in progress. Check back in 2-3 minutes and refresh status in Bastion settings.