macai (macOS AI) is a simple yet powerful native macOS AI chat client that supports most AI providers: ChatGPT, Claude, xAI (Grok), Google Gemini, Perplexity, Ollama, OpenRouter, and almost any OpenAI-compatible APIs.
- Downloads
- Contributions
- Why macai
- Run with ChatGPT, Claude, xAI or Google Gemini
- Run with Ollama
- System requirements
- Project status
- Build from source
- iCloud Sync Configuration
- License
Download latest universal binary, notarized by Apple.
Install macai cask with homebrew:
brew install --cask macai
Contributions are welcome. Take a look at Issues page to see already added features/bugs before creating new one. You can also support project by funding. This support is very important for me and allows to focus more on macai development.
- macOS-native and lightweight
- User-friendly: simple setup, minimalist light/dark UI
- Feature-rich: vision, image generation, search, reasoning, import/export and more
- iCloud Sync: keep chats, messages, and settings in sync across devices
- Private and secure: no telemetry or usage tracking by macai (Note: Apple may collect anonymized telemetry when iCloud Sync is enabled)
To run macai with ChatGPT or Claude, you need to have an API token. API token is like password. You need to obtain the API token first to use any commercial LLM API. Most API services offer free credits on registering new account, so you can try most of them for free. Here is how to get API token for all supported services:
- OpenAI: https://help.openai.com/en/articles/4936850-where-do-i-find-my-secret-api-key
- Claude: https://docs.anthropic.com/en/api/getting-started
- Google Gemini: https://ai.google.dev/gemini-api/docs/api-key
- xAI Grok: https://docs.x.ai/docs#models
- OpenRouter: https://openrouter.ai/docs/api-reference/authentication#using-an-api-key
If you are new to LLM and don't want to pay for the tokens, take a look Ollama. It supports dozens of OpenSource LLM models that can run locally on Apple M1/M2/M3/M4 Macs.
Run with Ollama
Ollama is the open-source back-end for various LLM models. Run macai with Ollama is easy:
-
Install Ollama from the official website
-
Follow installation guides
-
After installation, select model (llama3.1 or llama3.2 are recommended) and pull model using command in terminal:
ollama pull <model> -
In macai settings, open API Service tab, add new API service (Expert mode) and select type Ollama":

-
Select model, and default AI Assistant and save
-
Test and enjoy!
macOS 14.0 and later (both Intel and Apple chips are supported)
Project is in the active development phase.
If you have an Apple Developer account and want to build with iCloud Sync support:
- Clone the repository:
git clone https://github.com/Renset/macai.git - Open
macai.xcodeprojin Xcode - Select your team in Signing & Capabilities
- (Optional) To enable iCloud Sync in Debug builds, remove
DISABLE_ICLOUDfrom Build Settings → Swift Compiler → Active Compilation Conditions - Build and run
Note: By default, Debug builds have iCloud Sync disabled via the
DISABLE_ICLOUDflag to simplify contributor setup. Release builds have iCloud Sync enabled.
If you don't have an Apple Developer account, you can still build and run the app without iCloud Sync:
Using Xcode:
- Clone the repository:
git clone https://github.com/Renset/macai.git - Open
macai.xcodeprojin Xcode - Select the
macaitarget → Build Settings tab - Search for
CODE_SIGN_ENTITLEMENTS - Change the value from
macai/macai.entitlementstomacai/macai-no-icloud.entitlements - In Signing & Capabilities, set "Signing Certificate" to "Sign to Run Locally"
- Build and run
Using Command Line:
git clone https://github.com/Renset/macai.git
cd macai
xcodebuild -scheme macai \
-configuration Debug \
CODE_SIGN_IDENTITY="-" \
CODE_SIGN_ENTITLEMENTS="macai/macai-no-icloud.entitlements" \
DEVELOPMENT_TEAM="" \
CODE_SIGNING_ALLOWED=NO \
buildNote: The app built without iCloud entitlements will work normally, but the iCloud Sync feature will not be available. All other features (chat, API services, personas, etc.) will work as expected.
iCloud Sync is disabled by default in Debug builds via the DISABLE_ICLOUD compiler flag. This simplifies the development setup and avoids CloudKit-related signing issues for contributors without an Apple Developer account.
To enable iCloud Sync in Debug builds:
- Select the
macaitarget → Build Settings tab - Search for
SWIFT_ACTIVE_COMPILATION_CONDITIONS(or "Active Compilation Conditions") - Remove
DISABLE_ICLOUDfrom the value (leaving justDEBUG) - Ensure you have proper entitlements and signing configured (see below)
If you want iCloud Sync to work in a fork or custom build, you must use your own CloudKit container:
- Create a CloudKit container in your Apple Developer account
- Enable the iCloud capability for the macai target in Xcode, and add your container
- Update the
CloudKitContainerIdentifiervalue inmacai/Info.plistto your container ID - Ensure your app's bundle identifier matches the one you registered for the container
- Remove
DISABLE_ICLOUDfrom Active Compilation Conditions if present
If CloudKitContainerIdentifier is missing, the app falls back to the default container.

