← Back to docs

API Keys

Configure your LLM provider: Claude, ChatGPT, or Gemini.

demo
Demo: API Keys

Supported providers

getbot supports three LLM providers out of the box. Your API key is stored locally in ~/.getbot/config.yaml and injected into the bot's container as an environment variable — it never leaves your server.

Provider Get your key Key prefix
Claude (Anthropic) console.anthropic.com sk-ant-
ChatGPT (OpenAI) platform.openai.com sk-
Gemini (Google) aistudio.google.com (none)

Setting your key

The setup wizard prompts for your provider and key. If you want to configure credentials separately before deploying, use getbot init:

$ getbot init

Select your AI provider:
  1) Claude (Anthropic)
  2) ChatGPT (OpenAI)
  3) Gemini (Google)
Choice [1]:

Your Claude (Anthropic) API key
  Get yours at: https://console.anthropic.com/settings/keys
Key: ****

You can also set keys directly:

getbot config set llm_provider anthropic
getbot config set llm_api_key sk-ant-...

Key validation

getbot validates API key prefixes to catch common mistakes. If you paste an Anthropic key (sk-ant-...) while OpenAI is selected, getbot detects the mismatch and tells you which provider the key actually belongs to. This saves a failed deploy and a confusing error from the LLM API.

Switching providers

To switch providers after initial setup:

getbot config set llm_provider openai
getbot config set llm_api_key sk-proj-...

Then redeploy your bot with getbot install to pick up the new provider. A dedicated AI Providers doc covering multi-provider support in detail is coming in the operations docs batch.

Where keys are stored

Your API key lives in ~/.getbot/config.yaml on your local machine. During deployment, getbot injects it into the bot's Docker Compose environment inside the Incus container. The key is never sent to getbot's servers, never logged, and never displayed in full — confirmation screens show only the first 8 characters.