Cuentas con clave de API
Esta página se tradujo automáticamente del inglés. Las correcciones son bienvenidas. Editar esta página en GitHub
Una cuenta con clave de API inicia Claude Code con una clave de API en lugar de un inicio de sesión de una suscripción de Claude: la API de Anthropic, o un endpoint que hable el mismo formato Messages, como un gateway de LiteLLM u OpenRouter. ccam no guarda la clave. La lee cada vez que se inicia la cuenta, desde una variable de entorno o desde un comando como un gestor de contraseñas, y solo se la entrega a ese proceso de Claude Code.
Uso
ccam add api --api --key-from env:ANTHROPIC_KEY_WORK
ccam add gw --api --base-url https://llm.example.com --auth bearer \
--model claude-sonnet-5-5 --key-from 'command:pass show llm/gateway-key'
ccam add mac --api --key-from 'command:security find-generic-password -s anthropic-api -w'
ccam gw -p "summarise the open issues"
ccam list$ ccam list
# Name Shortcut Email Shared Last used
* 1 personal - me@example.com mcp settings md ext 2h ago
2 gw - (API: llm.example.com) mcp settings md ext -Una cuenta con clave de API comparte la configuración, CLAUDE.md, las extensiones y los servidores MCP como cualquier otra cuenta, y funciona con atajos, ccam folder y ccam ext.
Opciones
| Opción | Qué hace | Valor predeterminado |
|---|---|---|
--api |
Agrega una cuenta con clave de API en lugar de iniciar sesión | desactivada |
--key-from env:NAME |
Lee la clave de la variable de entorno NAME |
|
--key-from command:COMMAND |
Ejecuta COMMAND (con sh -c, o cmd /C en Windows) y usa la primera línea que imprime |
|
--base-url <url> |
El endpoint (ANTHROPIC_BASE_URL) |
La API de Anthropic |
--auth api-key|bearer |
Envía la clave como ANTHROPIC_API_KEY (x-api-key) o como ANTHROPIC_AUTH_TOKEN (Authorization: Bearer, que suelen pedir los gateways) |
api-key |
--model <model> |
El modelo (ANTHROPIC_MODEL) |
El predeterminado de Claude Code |
La configuración se guarda en config.toml:
[[profile]]
name = 'gw'
slot = 2
[profile.api]
base_url = 'https://llm.example.com'
key_from = 'command:pass show llm/gateway-key'
auth = 'bearer'
model = 'claude-sonnet-5-5'Cómo funciona
En cada inicio de la cuenta, después de las comprobaciones habituales y antes de que se inicie Claude Code:
- ccam lee la clave:
env:del entorno,command:ejecutando el comando con un límite de 30 segundos. Un comando puede pedir una contraseña en la terminal; su salida de error también va a la terminal. Una clave vacía detiene el inicio con un mensaje que indica dónde se esperaba la clave. - Quita todas las variables heredadas que deciden cómo inicia sesión Claude Code o qué proveedor usa:
ANTHROPIC_API_KEY,ANTHROPIC_AUTH_TOKEN,CLAUDE_CODE_OAUTH_TOKEN,ANTHROPIC_BASE_URL,ANTHROPIC_MODEL,CLAUDE_CODE_USE_BEDROCK,CLAUDE_CODE_USE_VERTEXyCLAUDE_CODE_USE_FOUNDRY. Una clave definida en tu shell para otra cosa no puede llegar a esta cuenta, y un inicio de sesión de suscripción no puede imponerse a su clave. - Define
ANTHROPIC_BASE_URLyANTHROPIC_MODELcuando se indican, y la clave comoANTHROPIC_API_KEYoANTHROPIC_AUTH_TOKEN.
Las cuentas con inicio de sesión de suscripción conservan el entorno que heredan, como antes. En una sesión interactiva, Claude Code puede preguntar una vez si debe usar la clave que encuentra en el entorno.
Seguridad y casos límite
- La clave nunca se escribe en
config.toml, en una caché ni en un registro, yccam --dry-run gwno la lee: una ejecución de prueba no ejecuta una fuentecommand:. ccam add --apicomprueba una fuenteenv:enseguida y avisa si la variable está vacía; una fuentecommand:se ejecuta por primera vez al iniciar.ccam loginyccam logoutrechazan una cuenta con clave de API, ya que no tiene inicio de sesión.ccam doctormuestra su endpoint y la fuente de su clave, y avisa cuando una variableenv:está vacía.ccam usagemuestraAPIpara ella.ccam next --auto,--fallbackyccam picksolo eligen entre cuentas de suscripción, porque una clave de API no tiene un límite de 5 horas ni semanal que comparar.- Un
settings.jsoncompartido con un bloqueenvoapiKeyHelperse aplica a todas las cuentas del grupo, incluidas las cuentas con clave de API. Deja la configuración del proveedor fuera de la configuración compartida.