Claude Code liest standardmäßig .env-Dateien in deinem Projektverzeichnis. Alles, was drin steht, wird in den Context geladen und an Anthropics Server übertragen. API-Keys, Datenbank-Passwörter, Tokens: alles.

Dieser Guide zeigt dir Schritt für Schritt, wie du das absicherst. Kein Hexenwerk. 20 Minuten.


Was genau passiert (und warum das ein Problem ist)

Claude Code basiert auf Node.js und verwendet vermutlich dotenv oder dotenvx, um Umgebungsvariablen automatisch zu laden. Das bedeutet: Jede .env, .env.local oder .env.production in deinem Projektverzeichnis wird beim Start in den Arbeitsspeicher geladen.

Da Claude Code cloudbasiert arbeitet, werden Dateiinhalte an Anthropics Server gesendet. Deine Secrets sind ab diesem Moment nicht mehr nur lokal.

Dokumentierte Fälle:


Schritt 1: deny-Rules in der settings.json konfigurieren (5 Minuten)

Die erste Schutzebene. Nicht perfekt (es gibt dokumentierte Bypass-Fälle), aber besser als nichts.

Globale Konfiguration (gilt für alle Projekte)

Öffne oder erstelle die Datei ~/.claude/settings.json:

{
  "permissions": {
    "deny": [
      "Read(./.env)",
      "Read(./.env.*)",
      "Read(./.env.local)",
      "Read(./.env.production)",
      "Read(./.env.staging)",
      "Read(**/secrets/**)",
      "Read(**/credentials/**)",
      "Read(**/.aws/**)",
      "Read(**/.ssh/**)"
    ]
  }
}

Projekt-spezifische Konfiguration (für Team-Projekte)

Erstelle im Projektverzeichnis .claude/settings.json:

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

Diese Datei kann ins Git-Repository committed werden, damit alle Teammitglieder geschützt sind.