Models & keys
There is no API-key field anywhere in the Gray app. Models are configured on the box, and Gray detects them.
What you need
Section titled “What you need”| Required | Claude on the box — run claude once and sign in (subscription auth works), or set ANTHROPIC_API_KEY. This is what Gray’s own voice runs on; without it, Talk tells you exactly what’s missing and points here. |
| Recommended | OPENAI_API_KEY — unlocks premium realtime voice. On-device voice works without it. |
| Optional | Codex · Grok · Gemini · Aider · OpenCode · Cursor — detected automatically; Gray’s crew can drive these as agents. They don’t power Gray’s own voice. |
On-box detection
Section titled “On-box detection”During onboarding (and any time from Me → Brain → Stack → Rescan) Gray scans the box across three registries and shows only what it finds:
- Agent CLIs (7): Claude Code · Codex · Grok · Gemini · Aider · OpenCode · Cursor — local sessions from these show up in Activity.
- Model logins (4): Anthropic/Claude · OpenAI · xAI/Grok · Gemini — a logged-in Claude CLI (subscription auth) is the default, zero-config brain; env keys work too.
- Runtime (6): python3 · node · docker · tmux · git · rg.
The scan ends in Scan complete showing exactly what Gray found and will use.
What each key does
Section titled “What each key does”| Key / login | Used for |
|---|---|
Claude CLI login or ANTHROPIC_API_KEY | The brain — conversation, agents, summaries |
OPENAI_API_KEY | Premium realtime voice and transcription models |
CLAUDE_CODE_OAUTH_TOKEN | Alternative subscription auth for the brain |
Advanced provider routing (Bedrock, Vertex, Anthropic-compatible proxies) is env-based — see Configuration reference.
Where keys live
Section titled “Where keys live”In the box’s .env (written 0600-tight by the installer) and your own shell
config — never in the app, never synced anywhere. Storage details:
Key storage.
The old connectors catalog
Section titled “The old connectors catalog”v1 docs described a connectors list where you pasted service API keys into the app. That model is gone — if a tool lives on your box, Gray finds it there.