Skip to main content
shipi18n logo|Documentation

Providers & Keys

Shipi18n never holds a key of its own. Every package reads yours from the environment and talks to your provider directly.

Supported providers

ProviderFlagEnvironment variableSDK to install
Anthropic (default)-p anthropicANTHROPIC_API_KEY@anthropic-ai/sdk
OpenAI-p openaiOPENAI_API_KEYopenai
Anything elsecustom adapteryours

The provider SDKs are optional peer dependencies, so you install only the one you use. The CLI and the plugins will tell you which package is missing if you pick a provider without it.

Where the key comes from

Resolution order, first match wins:

  1. An explicit --api-key flag or apiKey option
  2. The provider environment variable (ANTHROPIC_API_KEY / OPENAI_API_KEY)

Nothing is cached, written to disk or logged. In CI, put the key in your secret store and expose it as an environment variable for the job.

Overriding the model

shipi18n translate locales/en.json --target ja --model claude-opus-4-8

Omit --model and each adapter uses its own current default.

Checking needs no key at all

Everything above is about translating. Validating translations — shipi18n check and the MCP validation tools — is deterministic and calls no model, so it runs with no API key anywhere in the setup.