2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Claude Code】.env卒業ガイド

2
Last updated at Posted at 2026-04-15

Claude Code を使っていて .env に API キーを書いていませんか?

本記事では Claude Code 環境で平文認証情報を持つリスクと、summon + gopass による解決策を紹介します。

Claude Code と .env の問題

Claude Code はプロジェクト内の .env ファイルを自動的に読み込みます。 .gitignore に含まれていても関係ありません。

settings.json による対策

Claude Code では settings.json.env の読み取りを禁止できます。

{
  "permissions": {
    "deny": [
      "Read(./.env)",
      "Read(./.env.*)"
    ]
  }
}

settings.json の限界

しかし、平文ファイルがディスク上に存在する限り以下のリスクは残ります。

リスク settings.json で防げる?
Claude Code が読む Yes
MCP サーバーが読む No
バックアップに含まれる No
Git に誤コミット No

根本的な解決策は「平文ファイルを存在させないこと」です。

summon + gopass という解決策

summon は暗号化されたストアから値を取得し、環境変数としてプロセスに渡すツールです。

gopass (暗号化ストア)
    ↓
summon (シークレット取得)
    ↓
環境変数として注入
    ↓
Claude Code 起動

gopass はクロスプラットフォームで動作する暗号化パスワードストアです。summon は他にも AWS Secrets Manager などに対応していますが、個人利用には gopass がもっとも手軽です。

セットアップ

summon と summon-gopass のインストール

# Homebrew
brew install summon

# または eget
eget cyberark/summon
eget gopasspw/summon-gopass

eget は GitHub Release からバイナリを取得する軽量ツールです。詳しくは拙著で紹介しています。

gopass 自体のセットアップは本記事のスコープ外です。公式ドキュメントを参照してください。

Claude Code を summon 経由で起動する

secrets.yml の作成

# ~/.config/summon/claude.yml
ANTHROPIC_API_KEY: !var secrets/anthropic-api-key

!var の後ろは gopass のパスです。事前に gopass insert secrets/anthropic-api-key で API キーを登録しておきます。

起動コマンド

summon -p gopass -f ~/.config/summon/claude.yml -- claude

これで .env なしに Claude Code を起動できます。エイリアスを設定しておくと便利です。

alias claude='summon -p gopass -f ~/.config/summon/claude.yml -- claude'

注意点

summon は環境変数にシークレットを注入します。Claude Code が環境変数を読み取ると値が漏洩するリスクがあり、これは .env と同様の問題です。

summon の利点は「平文ファイルがディスク上に存在しない」ことにあります。ファイルベースの漏洩(MCP、バックアップ、Git事故)を防ぐのが目的です。

まとめ

  • settings.json - Claude Code からの読み取りを防げるが、平文ファイルは残る
  • summon + gopass - 平文ファイルが存在しないため漏洩対象がない
  • 環境変数経由の漏洩リスク - .env と同様に残る

Claude Code ユーザーこそ、 .env 卒業を検討してみてください。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?