Bring your own API key
If the on-device analyzer isn't available on your Mac (macOS 25 or older) or you want the output of a larger model, TabControl can route analysis through your OpenAI or Anthropic account. You supply the API key; TabControl handles the rest.
Which provider should you pick?
Section titled “Which provider should you pick?”Both produce solid session analyses. The short version:
- OpenAI if you already have an OpenAI account and want a cheap, fast default.
gpt-4o-miniis the baseline — it's fast and accurate enough for session naming and categorization. - Anthropic if you already have an Anthropic account or prefer Claude's output style.
claude-3-haiku-20240307is the baseline equivalent. - Neither if you're on macOS 26 or newer — just use on-device. It's free, private, and fast.
Costs are pennies per hundred sessions for the default models. The payloads are small (tab titles and URLs only), so your rate limits aren't likely to be relevant unless you're auto-analyzing massive batches.
Set up OpenAI
Section titled “Set up OpenAI”1. Create an API key. Sign in to platform.openai.com/api-keys and generate a new secret key. Copy it immediately — you won't be able to see it again.
2. Add it to TabControl. Open Settings → AI Session Analysis, choose OpenAI as the provider, and paste the key into the field that appears.
3. (Optional) Pick a different model. The model dropdown lets you select from gpt-4o-mini, gpt-4o, gpt-4-turbo, and gpt-3.5-turbo. The default gpt-4o-mini is the best cost-to-quality ratio for this kind of task.
4. Test the connection. Click Test connection. TabControl makes a tiny request to verify the key works. Green check = you're done.
Set up Anthropic
Section titled “Set up Anthropic”1. Create an API key. Sign in to console.anthropic.com/settings/keys and generate a new key. Copy it now.
2. Add it to TabControl. Open Settings → AI Session Analysis, choose Anthropic as the provider, and paste the key into the field that appears.
3. (Optional) Pick a different model. The model dropdown offers claude-3-haiku-20240307, claude-3-5-sonnet-20240620, and claude-3-opus-20240229. Haiku is the default and it's plenty for session analysis.
4. Test the connection. Click Test connection. TabControl makes a small request to verify the key.
How keys are stored
Section titled “How keys are stored”Your API keys live in macOS Keychain, not in TabControl's database, not in UserDefaults, and not in iCloud:
- Keychain service:
com.marsolab.TabControl.AIKeys - OpenAI item:
openai_api_key - Anthropic item:
anthropic_api_key
You can inspect the entries in Keychain Access (search for "TabControl"). They're tagged with TabControl's bundle identifier and only accessible to the TabControl app.
Because Keychain is per-device, your keys do not sync to your other Macs. You'll need to add the key once per Mac. That's deliberate — it means the key never leaves the device it was entered on.
Rotate or remove a key
Section titled “Rotate or remove a key”In Settings → AI Session Analysis, tap the key field to clear it, or paste a new one to replace it. TabControl updates the Keychain entry in place.
To wipe keys entirely, clear both fields and toggle the provider back to On-device. The Keychain entries are removed on save.
Rate limits and retries
Section titled “Rate limits and retries”TabControl retries a failed cloud call up to three times with exponential backoff. Retryable errors include timeouts, dropped connections, HTTP 429 (rate limit), and HTTP 5xx (server errors).
After three failed attempts, the request falls through to the on-device keyword analyzer — so you still get a name and a category, just not the higher-quality cloud-model output.
Minimum requirements
Section titled “Minimum requirements”- An active OpenAI or Anthropic account in good standing.
- Network access to
api.openai.comorapi.anthropic.com. TabControl uses HTTPS directly; no proxy is involved.
Privacy recap
Section titled “Privacy recap”Cloud analysis sends:
- Session metadata — tab count, window count, capture time.
- Per-tab — title and URL. Nothing else.
- Existing user tags/categories if you've set them, so the analyzer can align its suggestions.
It does not send: page content, cookies, login state, your session's unique ID, your Apple ID, your name, or anything that identifies you beyond what your API key already implies to the provider.
- iCloud sync — turn on cross-Mac session sync.
- Privacy and data — where every piece of data lives.