---
title: "Set up an AI provider"
description: "AI analysis uses Apple Intelligence on the Mac, or a cloud model through an Anthropic-compatible or an OpenAI-compatible API, such as OpenRouter."
source: "https://getloggerhead.com/docs/telemetry-linting/ai-providers/"
---

# Set up an AI provider

> AI analysis uses Apple Intelligence on the Mac, or a cloud model through an Anthropic-compatible or an OpenAI-compatible API, such as OpenRouter.

AI analysis on the **AI analysis** page needs a model. Loggerhead can use two types of model:

- **Apple Intelligence** runs on your Mac. It needs no key, and your telemetry does not leave the Mac. It is the
  default on a Mac that supports it.
- **A cloud model** is stronger. You supply the API key, and you pay the provider for the use. Before a cloud model
  gets your telemetry, Loggerhead masks the values in it. See
  [What it checks](/docs/telemetry-linting/what-it-checks/).

AI analysis is a Pro feature.

## The two cloud API types

Loggerhead does not have a list of companies. It speaks two API formats, and you tell it the URL:

| Provider in Settings | API format | Services that use it |
|---|---|---|
| **Anthropic-compatible API** | The Anthropic Messages API | Anthropic |
| **OpenAI-compatible API** | The OpenAI Chat Completions API | OpenAI, OpenRouter, Ollama, and most gateways |

Loggerhead adds the path of the API to the base URL. The Anthropic type adds `/messages`, and the OpenAI type adds
`/chat/completions`. If you paste a URL that already ends with that path, Loggerhead uses it as it is.

## Set up a cloud provider

1. Open **Settings › AI**.
2. In **Provider**, select **Anthropic-compatible API** or **OpenAI-compatible API**.
3. In **Base URL**, enter the base URL of the API. Leave it blank to use the default URL of the type.
4. In **Model**, enter the model name.
5. In **API key**, paste your key.
6. Click **Save**.
7. Click **Test connection**. Loggerhead sends one short prompt and shows the result.

The provider, the base URL, the model, and the key apply to the whole Mac. Every workspace and every environment uses
them, and a switch to another environment does not change them.

The **Base URL** must start with `https://`. Plain `http://` is permitted only for `localhost`, for example for a
local Ollama server.

## The defaults

| Type | Base URL when the field is blank | Model when the field is blank |
|---|---|---|
| Anthropic-compatible API | `https://api.anthropic.com/v1` | `claude-sonnet-4-6` |
| OpenAI-compatible API | `https://api.openai.com/v1` | None. You must enter a model name. |

The OpenAI-compatible services do not use the same model names. For this reason, that type has no default model.

## Example: OpenRouter

OpenRouter gives access to many models with one key.

1. Get a key on the OpenRouter site.
2. In **Provider**, select **OpenAI-compatible API**.
3. In **Base URL**, enter the API base URL from the OpenRouter docs. At the time of this page, it is
   `https://openrouter.ai/api/v1`.
4. In **Model**, enter a model name as OpenRouter shows it on its models page, for example `openai/gpt-4o-mini`.
5. Paste the key, click **Save**, and click **Test connection**.

A provider can change its URLs and its model names. If the test fails, compare the base URL and the model name with
the docs of your provider.

## Example: Ollama on your Mac

1. In **Provider**, select **OpenAI-compatible API**.
2. In **Base URL**, enter `http://localhost:11434/v1`.
3. In **Model**, enter the name of a model that you pulled, for example `llama3.1`.
4. Ollama does not check the key, but Loggerhead needs one. Enter any text, for example `ollama`.

A small local model can miss the JSON format that Loggerhead asks for. Then the analysis gives no findings.

## When the test fails

| Message | What to do |
|---|---|
| The provider refused the API key | Paste the key again. Make sure that the key belongs to the service at the base URL. |
| HTTP 404 | Check the base URL and the model name. |
| HTTP 400 or 422 | Check the model name. |
| Loggerhead could not reach the provider | Check the base URL and your network. |
| Loggerhead cannot read the reply | The API type does not match the service. Select the other type. |

## Where the key goes

Loggerhead keeps the key in the macOS Keychain. The key does not go into the database, a settings file, or a log
line. Loggerhead sends the key only to the base URL, in the request header. To remove the key, click
**Remove key**.
