Skip to content

BYOK — Bring Your Own Key

Umbra never proxies your requests. Every call goes directly from your machine to the provider you choose. Your API key is stored locally in ~/.umbra/providers.json and is never transmitted to any Umbra service.

ProviderKey requiredNotes
OpenAIYesgpt-4o, o3, etc.
AnthropicYesclaude-opus-4, claude-sonnet-4, etc.
MistralYesmistral-large, codestral, etc.
OllamaNoLocal; set baseUrl to http://localhost:11434
LM StudioNoLocal; set baseUrl to http://localhost:1234
OpenCode ZenNoFree cloud models; default on first launch
Any OpenAI-compatibleOptionalPoint baseUrl at any proxy or self-hosted endpoint
Terminal window
umbra providers connect

This opens an interactive form. Fill in the provider type, your API key, and (optionally) a custom base URL and model. The profile is saved immediately and set as the default.

To manage profiles after the fact:

Terminal window
umbra providers list # see all configured profiles
umbra providers use <id> # change the active profile
umbra providers remove <id> # remove a profile

Some web-search providers also read keys from the environment at startup, so you can inject them without touching any file:

BRAVE_SEARCH_API_KEY=...
TAVILY_API_KEY=...
JINA_API_KEY=...

Umbra resolves the active provider at the start of each task. Change the default profile and the very next task uses the new one — no restart required.