Anthropic の Python SDK(anthropic-sdk-python)は、認証情報や接続先の設定を「アプリケーション側のコードで渡す」から「実行環境の環境変数から SDK 自身が読み込む」方向へ、複数のリリースにわたって機能を追加してきました。本稿は、その一連の変更を CHANGELOG の逐語記述に基づいて時系列で整理し、実装時に何が SDK 側の責務になったのかを確認します。技術的主張はすべて公式 CHANGELOG との逐語照合を通過した範囲に限定しています(検証日: 2026-07-14)。
1. 環境変数の読み込みは「接続先」から始まった
SDK が環境変数を読む機能自体は新しくありません。v0.7.0(2023-11-15)で、base URL を環境変数から読み込む機能が追加されています。
support reading the base url from an env variable
この時点での対象は接続先(base URL)であり、認証情報そのものではありません。プロキシ経由・ゲートウェイ経由の接続先切り替えを、コードではなく実行環境で行えるようにした変更として位置づけられます[1]。
2. 認証コードの推奨形が環境変数に寄った(v0.76.0)
v0.76.0(2026-01-13)のドキュメント更新で、コードスニペット内の認証に環境変数を使う記法が採用されました。
use environment variables for authentication in code snippets
CHANGELOG 上はドキュメント側の変更ですが、SDK の利用例(=事実上の推奨形)が「キーをコードに書かない」形に統一されたことを示します[1]。
3. ヘッダーと認証方式の env 化(v0.98.0 / v0.99.0)
v0.98.0(2026-05-04)では、環境変数経由でヘッダーを設定する機能が追加されました。
support setting headers via env
同じ v0.98.0 で、認証方式そのものの選択肢も拡張されています。
add Workload Identity Federation, interactive OAuth, and auth profiles
Workload Identity Federation(WIF)、インタラクティブ OAuth、auth profiles の 3 つが追加されています[1]。WIF は「長期キーを配布せず、ワークロードの ID で交換する」方向の認証であり、静的な API キーを環境変数に置くこと自体を回避する経路にあたります。
続く v0.99.0(2026-05-05)では、OIDC フェデレーションのトークン交換においてワークスペースを指定できるようになりました。
allow targeting a workspace for OIDC federation token exchange
複数ワークスペースを持つ組織で、交換先ワークスペースを明示できます[1]。
4. 環境変数 credential の正式サポート(v0.109.0)
v0.109.0(2026-06-09)で、Managed Agents デプロイメントと環境変数 credential のサポートが追加されました。
add support for Managed Agents deployments and environment variable credentials
「環境変数 credential」が SDK の機能として明示的に扱われるようになった行です[1]。認証情報の受け渡しを SDK が引き受ける前提が、ここで CHANGELOG 上に明文化されています。
5. vault credential injection scoping(v0.115.0)
v0.115.0(2026-06-30)では、Managed Agents 向けに vault credential injection のスコープ指定がサポートされました。
vault credential injection scoping, and agent and deployment webhook events
同じ行で agent / deployment の webhook イベントも追加されています[1]。credential を「注入する」対象範囲を絞る機構であり、エージェントに対して必要な credential だけを見せる設計に対応します。
6. 将来日付のベータヘッダー(v0.116.0)
v0.116.0(2026-07-02)で、将来日付を名前に含むベータヘッダーが追加されています。
add agent-memory-2026-07-22 beta header
SDK のベータヘッダーは「ヘッダー名に日付を含める」命名慣例に従います。2026-07-14 時点で、このヘッダー名に含まれる日付は未来日です[1]。プレリリース機能のフラグとして扱う必要があります。
7. 実装上の帰結
- 認証情報・接続先・ヘッダーのいずれも、環境変数で外部化できる([1] の各行)。
- 静的キーを配らない経路(WIF / OAuth / auth profiles / OIDC)が SDK 内に用意されている(v0.98.0 / v0.99.0)。
- Managed Agents 環境では、credential の注入スコープが SDK 側の関心事になっている(v0.109.0 / v0.115.0)。
- 日付入りベータヘッダーは、日付が未来のものを含む。安定版扱いにはできない(v0.116.0)。
本稿で扱っていない挙動(環境変数名の一覧、優先順位、フォールバック規則の詳細)は、CHANGELOG からは確認できません。現時点で本稿はそれらについて主張しません。
References
[1] https://raw.githubusercontent.com/anthropics/anthropic-sdk-python/main/CHANGELOG.md