# API key खाती

> ccam add --api, Anthropic च्या API किंवा gateway साठी API key खाते जोडते; key launch वेळी variable किंवा कमांडमधून वाचली जाते, कधीही साठवली जात नाही.

Source: https://ccam.dev/mr/features/api/ · Updated 2026-10-20

API key खाते Claude subscription लॉगिनऐवजी API key ने Claude Code सुरू करते: Anthropic चा API, किंवा तोच Messages format समजणारा एखादा endpoint, जसे LiteLLM किंवा OpenRouter gateway. ccam key साठवत नाही. खाते प्रत्येक वेळी सुरू होताना ते key एखाद्या environment variable मधून किंवा password manager सारख्या कमांडमधून वाचते, आणि फक्त त्या Claude Code process ला देते.

## वापर

```sh
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
```

```console
$ 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  -
```

API key खाते इतर कोणत्याही खात्याप्रमाणे सेटिंग्ज, `CLAUDE.md`, extensions आणि MCP सर्व्हर शेअर करते, आणि शॉर्टकट, `ccam folder` आणि `ccam ext` सह काम करते.

## पर्याय

| पर्याय | काय करते | डीफॉल्ट |
| --- | --- | --- |
| `--api` | लॉगिन करण्याऐवजी API key खाते जोडा | बंद |
| `--key-from env:NAME` | key environment variable `NAME` मधून वाचा | |
| `--key-from command:COMMAND` | `COMMAND` चालवा (`sh -c` ने, किंवा Windows वर `cmd /C` ने) आणि ती छापत असलेली पहिली ओळ वापरा | |
| `--base-url <url>` | endpoint (`ANTHROPIC_BASE_URL`) | Anthropic चा API |
| `--auth api-key\|bearer` | key `ANTHROPIC_API_KEY` (`x-api-key`) म्हणून किंवा `ANTHROPIC_AUTH_TOKEN` (`Authorization: Bearer`, जे gateways सहसा मागतात) म्हणून पाठवा | `api-key` |
| `--model <model>` | model (`ANTHROPIC_MODEL`) | Claude Code चा डीफॉल्ट |

या सेटिंग्ज `config.toml` मध्ये साठवल्या जातात:

```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'
```

## हे कसे काम करते

खात्याच्या प्रत्येक launch वेळी, नेहमीच्या तपासण्यांनंतर आणि Claude Code सुरू होण्यापूर्वी:

1. ccam key वाचते: `env:` environment मधून, `command:` 30 सेकंदांच्या मर्यादेत कमांड चालवून. एखादी कमांड terminal वर password मागू शकते; तिचा error output सुद्धा terminal वर जातो. रिकामी key launch थांबवते, आणि key कुठे अपेक्षित होती ते सांगणारा संदेश दाखवते.
2. Claude Code कसे sign in करते किंवा कोणता provider वापरते हे ठरवणारा प्रत्येक वारशाने मिळालेला variable ते काढून टाकते: `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN`, `CLAUDE_CODE_OAUTH_TOKEN`, `ANTHROPIC_BASE_URL`, `ANTHROPIC_MODEL`, `CLAUDE_CODE_USE_BEDROCK`, `CLAUDE_CODE_USE_VERTEX` आणि `CLAUDE_CODE_USE_FOUNDRY`. तुमच्या shell मध्ये इतर कामासाठी सेट केलेली key या खात्यापर्यंत पोहोचू शकत नाही, आणि subscription लॉगिन या खात्याच्या key वर मात करू शकत नाही.
3. दिले असल्यास ते `ANTHROPIC_BASE_URL` आणि `ANTHROPIC_MODEL` सेट करते, आणि key `ANTHROPIC_API_KEY` किंवा `ANTHROPIC_AUTH_TOKEN` म्हणून.

subscription लॉगिन असलेली खाती पूर्वीप्रमाणेच वारशाने मिळालेले environment ठेवतात. interactive session मध्ये Claude Code environment मध्ये सापडलेली key वापरायची का, हे एकदा विचारू शकते.

## सुरक्षितता आणि अपवादात्मक स्थिती

- key कधीही `config.toml`, cache किंवा log मध्ये लिहिली जात नाही, आणि `ccam --dry-run gw` ती वाचत नाही: dry run मध्ये `command:` source चालवला जात नाही.
- `ccam add --api` `env:` source लगेच तपासते आणि variable रिकामा असल्यास इशारा देते; `command:` source पहिल्यांदा launch वेळी चालतो.
- `ccam login` आणि `ccam logout` API key खाते नाकारतात, कारण त्याला लॉगिन नसते. `ccam doctor` त्याचा endpoint आणि key source दाखवते, आणि `env:` variable रिकामा असल्यास इशारा देते.
- `ccam usage` त्यासाठी `API` दाखवते. `ccam next --auto`, `--fallback` आणि `ccam pick` फक्त subscription खात्यांमधून निवडतात, कारण API key ला तुलना करण्यासारखी 5 तासांची किंवा साप्ताहिक मर्यादा नसते.
- `env` block किंवा `apiKeyHelper` असलेली शेअर केलेली `settings.json` गटातील प्रत्येक खात्याला लागू होते, API key खात्यांनाही. provider सेटिंग्ज शेअर केलेल्या सेटिंग्जबाहेर ठेवा.

## संबंधित

- [खाती व्यवस्थापित करणे](https://ccam.dev/mr/features/accounts.md)
- [Claude Code सुरू करणे](https://ccam.dev/mr/features/launch.md)
- [कमांड संदर्भ](https://ccam.dev/mr/docs/commands.md)
