LlamaBarn (repository name ggml-org/Llama-macOS) is a macOS menu bar app for running large language models locally. It is developed by the GGML organization and evolves in sync with llama.cpp.
[Purpose and positioning] The app is aimed at users who want to run LLMs locally on a Mac, providing a lightweight entry point that resides in the menu bar. After launch, it will at http://localhost:9931/v1 run a local server, and all models execute locally; the official statement says data never leaves the device.
[Main capabilities]
- Local server: launching the app runs a local API service (default port 9931, path /v1).
- llama.cpp integration: if llama.cpp is already installed, it is used directly; otherwise, a prebuilt binary is installed for the current Mac. Models already installed via llama.cpp automatically appear in the app.
- Model installation: supports installing any GGUF model from Hugging Face, and provides a built-in recommended list that lists models suitable for running on the current Mac's hardware, installable with one click.
- Multiple ways to use: chat in the built-in WebUI, connect other apps (coding agents, chat UIs, editors), or use the API directly.
- On-demand loading: models are loaded on request and unloaded when idle, freeing memory when not in use.
- App characteristics: fully local operation; a native macOS app about 4 MB in size; zero configuration, automatically configuring the best settings for the current Mac; models are stored in the Hugging Face cache, shared with llama.cpp and other tools.
[How to use]
- Download the app from Releases, or watch the official 2-minute introduction video.
- After launch, the app automatically runs the local server; if llama.cpp is not installed, the corresponding binary is installed automatically.
- Install models: GGUF models can be installed from Hugging Face, or installed with one click using the app's recommended list.
- Use models: chat in the built-in WebUI, connect external apps, or call the API. The official example requests include: list installed models; send a message to a model. For the complete API reference, see the llama.cpp server documentation.
[Custom model settings] The app automatically configures each model and writes it to models.ini, which is regenerated on every launch. To modify a setting or add an item the app does not set, edit ~/.config/llama/models.user.ini; the app only reads that file and merges it into the automatically generated configuration. Use the same section headings as the app (org/repo:QUANT), and list only the keys you want to modify. Key names are options for llama serve, without the leading hyphen. If the app does not find a model corresponding to a section, it is passed through as-is, which can be used to point to weights from other repositories or draft models. The settings here take precedence over the app's own values, including settings derived from Mac memory. If a key cannot be applied, the app ignores that file and indicates in the menu which option is at fault. On first launch, a commented template is written to this path.
[Network Access] By default, the server is accessible only from the local machine. The "Allow network access" setting can change this behavior, with the specific options depending on the user's environment:
- Tailscale: Binds the server to the Tailscale address, allowing other devices to access it from anywhere, authenticated and encrypted by Tailscale, with the server invisible on the current network. Suitable for laptop use. Only shown when Tailscale is installed and logged in.
- This network: Binds all interfaces (0.0.0.0), allowing any device on the current network to access it. The server has no password, so it should only be used on trusted networks, and do not enable it simultaneously with agent mode on a network you do not own.
[Experimental Settings]
- Bind to a specific address: If you want to pin the server to an address not provided by the app, you can set it manually. The app will not modify it, and will fall back to localhost when that address is not on any interface.
- Custom server parameters: Append extra CLI parameters after the llama serve command for server flags not exposed by the app (e.g., --api-key). These parameters come after the app's own flags and can override app settings in scenarios where the server takes the latter. They take effect the next time the server starts.
[Use Cases] Suitable for individual users who want to run LLMs locally on a Mac at low configuration cost, for local chat, serving models for coding agents and editors, or integrating into other apps via API.
[Limitations and Notes]
- Platform limited to macOS.
- When "This network" is enabled, the server has no password, posing a security risk; limit to trusted networks.
- Actual model runnability is limited by Mac hardware; the app only provides a recommended list.
- Pricing, cost, and similar information is not yet provided.