A cosy home for your LLMs.
Last updated Jul 7, 2026
1.4k
Stars
81
Forks
16
Issues
+21
Stars/day
Attention Score
90
Language breakdown
Swift 100.0%
โธ Files
click to expand
README
Llama
Llama is a macOS menu bar app for running local LLMs.
Watch a 2-minute intro ๐ฝ๏ธ
Install
brew install --cask llama-app
Or download from Releases.
How it works
Llama runs a local server at http://localhost:8080/v1.
- Install models โ from the recommended list or Hugging Face
- Connect any app โ chat UIs, editors, CLI tools, scripts
- Models load when requested โ and unload when idle
Features
- 100% local โ Models run on your device; no data leaves your Mac
- Small footprint โ
4 MBnative macOS app - Zero configuration โ models are auto-configured with optimal settings for your Mac
- Recommended for your Mac โ suggests models sized to fit your hardware; browse the full catalog at llama.app
- Standard storage โ models live in the Hugging Face cache (
~/.cache/huggingface/hub), shared withllama.cppand other HF-aware tools - Built on llama.cpp โ from the GGML org, developed alongside llama.cpp
Works with
Llama works with any OpenAI-compatible client.
- Chat UIs โ Chatbox, Open WebUI, BoltAI (instructions)
- Editors โ VS Code, Zed, Xcode (instructions)
- Editor extensions โ Cline, Continue
- CLI tools โ OpenCode (instructions), Claude Code (instructions)
- Custom scripts โ curl, AI SDK, etc.
API examples
# list installed models
curl http://localhost:8080/v1/models
# chat with Gemma 3 4B (assuming it's installed)
curl http://localhost:8080/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{"model": "gemma-3-4b", "messages": [{"role": "user", "content": "Hello"}]}'
Replace gemma-3-4b with any model ID from http://localhost:8080/v1/models.
See complete API reference in the llama.cpp server docs.
Experimental settings
Expose to network โ By default, the server is only accessible from your Mac (localhost). This option allows connections from other devices on your local network. Only enable this if you understand the security risks.
# bind to all interfaces (0.0.0.0)
defaults write app.llama.Llama exposeToNetwork -bool YES
or bind to a specific IP (e.g., for Tailscale)
defaults write app.llama.Llama exposeToNetwork -string "100.x.x.x"
disable (default)
defaults delete app.llama.Llama exposeToNetwork
Roadmap
- [ ] Support for loading multiple models at the same time
- [ ] Support for multiple configurations per model (e.g., multiple context lengths)
๐ More in this category