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.
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:
HTTP_PROXYVariable aus der .env geladen..claudeignore die .env nicht zuverlässig blockiert.Die erste Schutzebene. Nicht perfekt (es gibt dokumentierte Bypass-Fälle), aber besser als nichts.
Ö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/**)"
]
}
}
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.