Skip to main content

Agent credential setup

For remote sandboxes, you can push Claude Code credentials to the Amika secrets store and have them automatically injected at sandbox creation time. This avoids manual authentication inside the sandbox. See CLI reference for the full amika secret claude push/list/delete flag reference.

OAuth Workflow (preferred)

  1. Push credentials from your local machine:
# Specify the "oauth" type and amika will auto-detect and store your credential in the secret vault
amika secret claude push --type oauth
  1. The OAuth credential is auto-set inside the sandbox’s Claude settings, so you can just run claude without having to log in again.

API Key Workflow

  1. Push credentials from your local machine:
# Interactive discovery (scans Claude config files and macOS keychain)
amika secret claude push

# Or specify directly
amika secret claude push --type api_key --value sk-ant-xxx
  1. Inject when creating a sandbox — select a credential via the web UI, or use the --secret flag:
amika sandbox create --git --remote --secret env:ANTHROPIC_API_KEY=my-claude-key
  1. Claude Code is pre-authenticated inside the sandbox — no manual login needed.

Credential discovery

amika auth extract discovers locally stored API credentials from multiple coding agent tools and prints them as shell environment assignments. You can use this to copy coding agent credentials into Amika’s web UI so you can spin up ready-to-go sandboxes from the web.

Quick start

# Print detected assignments
amika auth extract

# Export into current shell
eval "$(amika auth extract --export)"

# Skip OAuth sources
amika auth extract --no-oauth

Supported sources

Amika reads sources in priority order.
PrioritySourceFilesProviders
500Claude API key~/.claude.json.api, ~/.claude.jsonAnthropic
400Claude OAuth~/.claude/.credentials.json, ~/.claude-oauth-credentials.jsonAnthropic
300Codex~/.codex/auth.jsonOpenAI
290Amika env cache${XDG_CACHE_HOME}/amika/env-cache.jsonAny
280Amika keychain${XDG_DATA_HOME}/amika/keychain.jsonAny
270Amika OAuth${XDG_STATE_HOME}/amika/oauth.jsonAny
200OpenCode~/.local/share/opencode/auth.jsonAny
100Amp~/.amp/config.jsonAnthropic
Higher-priority sources win when multiple files provide the same provider key.

Output mapping

Amika normalizes provider names and exports common aliases:
  • Anthropic keys output as both ANTHROPIC_API_KEY and CLAUDE_API_KEY.
  • OpenAI keys output as both OPENAI_API_KEY and CODEX_API_KEY.
Example output:
ANTHROPIC_API_KEY='sk-ant-...'
CLAUDE_API_KEY='sk-ant-...'
OPENAI_API_KEY='sk-...'
CODEX_API_KEY='sk-...'

Provider canonicalization

Provider names are normalized before deduplication:
  • claude, anthropicanthropic
  • codex, openaiopenai
  • Other providers are lowercased, with separators normalized to hyphens

OAuth token handling

OAuth sources (claude_oauth, amika_oauth, Codex OAuth, OpenCode OAuth) are included by default. Use --no-oauth to skip them. OAuth tokens with an expiresAt or expires timestamp are skipped if expired.

Flags

FlagDefaultDescription
--exportfalsePrefix lines with export
--homedir <path>$HOMEOverride home directory for discovery
--no-oauthfalseSkip OAuth credential sources
Use --homedir in CI or test environments when you need deterministic credential fixtures.