Zum Hauptinhalt springen
Auto-Modus ermöglicht es Claude Code, ohne Berechtigungsaufforderungen zu laufen, indem jeder Tool-Aufruf durch einen Klassifizierer geleitet wird, der alles blockiert, das irreversibel, destruktiv oder außerhalb Ihrer Umgebung ausgerichtet ist. Verwenden Sie den autoMode-Einstellungsblock, um diesem Klassifizierer mitzuteilen, welche Repos, Buckets und Domains Ihre Organisation vertraut, damit er routinemäßige interne Operationen nicht mehr blockiert. Standardmäßig vertraut der Klassifizierer nur dem Arbeitsverzeichnis und den konfigurierten Remotes des aktuellen Repos. Aktionen wie das Pushen zu Ihrer Unternehmens-Quellcode-Verwaltungsorganisation oder das Schreiben in einen Team-Cloud-Bucket werden blockiert, bis Sie sie zu autoMode.environment hinzufügen. Informationen zum Aktivieren des Auto-Modus und was er standardmäßig blockiert, finden Sie unter Berechtigungsmodi. Diese Seite ist die Konfigurationsreferenz. Diese Seite behandelt folgende Themen:

Where the classifier reads configuration

Der Klassifizierer liest denselben CLAUDE.md-Inhalt, den Claude selbst lädt, sodass eine Anweisung wie „niemals Force-Push” in der CLAUDE.md Ihres Projekts sowohl Claude als auch den Klassifizierer gleichzeitig steuert. Beginnen Sie dort mit Projektkonventionen und Verhaltensregeln. Für Regeln, die projektübergreifend gelten, wie vertrauenswürdige Infrastruktur oder organisationsweite Deny-Regeln, verwenden Sie den autoMode-Einstellungsblock. Der Klassifizierer liest autoMode aus den folgenden Bereichen:
BereichDateiVerwendung für
Ein Entwickler~/.claude/settings.jsonPersönliche vertrauenswürdige Infrastruktur
Ein Projekt, ein Entwickler.claude/settings.local.jsonPro-Projekt-vertrauenswürdige Buckets oder Services, gitignored
OrganisationsweitVerwaltete EinstellungenVertrauenswürdige Infrastruktur, die an alle Entwickler verteilt wird
--settings-Flag oder Agent SDKInline-JSONPro-Aufruf-Überschreibungen für Automatisierung
Der Klassifizierer liest autoMode nicht aus gemeinsamen Projekteinstellungen in .claude/settings.json, daher kann ein eingechecktes Repo seine eigenen Allow-Regeln nicht injizieren. Einträge aus jedem Bereich werden kombiniert. Ein Entwickler kann environment, allow und soft_deny mit persönlichen Einträgen erweitern, kann aber keine Einträge entfernen, die verwaltete Einstellungen bereitstellen. Da Allow-Regeln als Ausnahmen zu Block-Regeln innerhalb des Klassifizierers fungieren, kann ein von einem Entwickler hinzugefügter allow-Eintrag einen organisatorischen soft_deny-Eintrag überschreiben: Die Kombination ist additiv, keine harte Richtliniengrenze.
Der Klassifizierer ist ein zweites Gate, das nach dem Berechtigungssystem ausgeführt wird. Für Aktionen, die niemals ausgeführt werden dürfen, unabhängig von der Benutzerabsicht oder der Klassifizierer-Konfiguration, verwenden Sie permissions.deny in verwalteten Einstellungen, das die Aktion blockiert, bevor der Klassifizierer konsultiert wird, und kann nicht überschrieben werden.

Define trusted infrastructure

Für die meisten Organisationen ist autoMode.environment das einzige Feld, das Sie festlegen müssen. Es teilt dem Klassifizierer mit, welche Repos, Buckets und Domains vertrauenswürdig sind: Der Klassifizierer verwendet es, um zu entscheiden, was „extern” bedeutet, daher ist jedes Ziel, das nicht aufgelistet ist, ein potenzielles Exfiltrationsziel. Das Festlegen von environment ersetzt die Standard-Umgebungsliste, die den Eintrag enthält, der das Arbeits-Repo und seine Remotes vertraut. Führen Sie claude auto-mode defaults aus, um die Standardwerte auszudrucken, und fügen Sie sie dann neben Ihren eigenen Einträgen ein, damit Sie die Liste erweitern, anstatt sie zu verengen.
{
  "autoMode": {
    "environment": [
      "Source control: github.example.com/acme-corp and all repos under it",
      "Trusted cloud buckets: s3://acme-build-artifacts, gs://acme-ml-datasets",
      "Trusted internal domains: *.corp.example.com, api.internal.example.com",
      "Key internal services: Jenkins at ci.example.com, Artifactory at artifacts.example.com"
    ]
  }
}
Einträge sind Prosa, keine Regex oder Tool-Muster. Der Klassifizierer liest sie als natürlichsprachige Regeln. Schreiben Sie sie so, wie Sie Ihre Infrastruktur einem neuen Ingenieur beschreiben würden. Ein gründlicher Umgebungsabschnitt deckt ab:
  • Organisation: Ihr Unternehmensname und wofür Claude Code hauptsächlich verwendet wird, wie Softwareentwicklung, Infrastrukturautomatisierung oder Datentechnik
  • Quellcode-Verwaltung: jede GitHub-, GitLab- oder Bitbucket-Organisation, zu der Ihre Entwickler pushen
  • Cloud-Anbieter und vertrauenswürdige Buckets: Bucket-Namen oder Präfixe, aus denen und in die Claude lesen und schreiben können sollte
  • Vertrauenswürdige interne Domains: Hostnamen für APIs, Dashboards und Services in Ihrem Netzwerk, wie *.internal.example.com
  • Wichtige interne Services: CI, Artifact-Registries, interne Paketindizes, Incident-Tools
  • Zusätzlicher Kontext: Einschränkungen in regulierten Branchen, Multi-Tenant-Infrastruktur oder Compliance-Anforderungen, die beeinflussen, was der Klassifizierer als riskant behandeln sollte
Eine nützliche Startvorlage: Füllen Sie die eingeklammerten Felder aus und entfernen Sie alle Zeilen, die nicht zutreffen.
{
  "autoMode": {
    "environment": [
      "Organization: {COMPANY_NAME}. Primary use: {PRIMARY_USE_CASE, e.g. software development, infrastructure automation}",
      "Source control: {SOURCE_CONTROL, e.g. GitHub org github.example.com/acme-corp}",
      "Cloud provider(s): {CLOUD_PROVIDERS, e.g. AWS, GCP, Azure}",
      "Trusted cloud buckets: {TRUSTED_BUCKETS, e.g. s3://acme-builds, gs://acme-datasets}",
      "Trusted internal domains: {TRUSTED_DOMAINS, e.g. *.internal.example.com, api.example.com}",
      "Key internal services: {SERVICES, e.g. Jenkins at ci.example.com, Artifactory at artifacts.example.com}",
      "Additional context: {EXTRA, e.g. regulated industry, multi-tenant infrastructure, compliance requirements}"
    ]
  }
}
Je spezifischer der Kontext, den Sie geben, desto besser kann der Klassifizierer routinemäßige interne Operationen von Exfiltrationversuchen unterscheiden. Sie müssen nicht alles auf einmal ausfüllen. Ein angemessener Rollout: Beginnen Sie mit den Standardwerten und fügen Sie Ihre Quellcode-Verwaltungsorganisation und wichtige interne Services hinzu, was die häufigsten falschen Positive wie das Pushen zu Ihren eigenen Repos behebt. Fügen Sie als Nächstes vertrauenswürdige Domains und Cloud-Buckets hinzu. Füllen Sie den Rest aus, wenn Blockierungen auftreten.

Override the block and allow rules

Zwei zusätzliche Felder ermöglichen es Ihnen, die integrierten Regellisten des Klassifizierers zu ersetzen: autoMode.soft_deny steuert, was blockiert wird, und autoMode.allow steuert, welche Ausnahmen gelten. Jedes ist ein Array von Prosabeschreibungen, das als natürlichsprachige Regeln gelesen wird. Es gibt kein autoMode.deny-Feld; um eine Aktion unabhängig von der Absicht hart zu blockieren, verwenden Sie permissions.deny, das vor dem Klassifizierer ausgeführt wird. Innerhalb des Klassifizierers funktioniert die Vorrangigkeit in drei Ebenen:
  • soft_deny-Regeln blockieren zuerst
  • allow-Regeln überschreiben dann übereinstimmende Blöcke als Ausnahmen
  • Explizite Benutzerabsicht überschreibt beide: Wenn die Nachricht des Benutzers direkt und spezifisch die genaue Aktion beschreibt, die Claude ausführen wird, erlaubt der Klassifizierer es, auch wenn eine soft_deny-Regel zutrifft
Allgemeine Anfragen zählen nicht als explizite Absicht. Claude zu bitten, das Repo „aufzuräumen”, autorisiert keinen Force-Push, aber Claude zu bitten, „diesen Branch zu force-pushen”, tut es.
Das Festlegen eines der Felder environment, allow oder soft_deny ersetzt die gesamte Standardliste für diesen Abschnitt. Wenn Sie soft_deny mit einem einzelnen Eintrag festlegen, wird jede integrierte Block-Regel verworfen: Force-Push, Datenexfiltration, curl | bash, Produktionsbereitstellungen und alle anderen Standard-Block-Regeln werden erlaubt. Um sicher anzupassen, führen Sie claude auto-mode defaults aus, um die integrierten Regeln auszudrucken, kopieren Sie sie in Ihre Einstellungsdatei, überprüfen Sie dann jede Regel gegen Ihre eigene Pipeline und Risikotoleranz. Entfernen Sie nur Regeln für Risiken, die Ihre Infrastruktur bereits mindert.
Um zu lockern: Entfernen Sie Regeln aus soft_deny, wenn die Standardwerte etwas blockieren, das Ihre Pipeline bereits mit PR-Überprüfung, CI oder Staging-Umgebungen schützt, oder fügen Sie zu allow hinzu, wenn der Klassifizierer wiederholt ein routinemäßiges Muster kennzeichnet, das die Standard-Ausnahmen nicht abdecken. Um zu straffen: Fügen Sie zu soft_deny für Risiken hinzu, die spezifisch für Ihre Umgebung sind und die Standardwerte übersehen, oder entfernen Sie aus allow, um eine Standard-Ausnahme zu den Block-Regeln zu halten. Führen Sie in allen Fällen claude auto-mode defaults aus, um die vollständigen Standard-Listen zu erhalten, kopieren Sie dann und bearbeiten Sie: Beginnen Sie niemals mit einer leeren Liste.
{
  "autoMode": {
    "environment": [
      "Source control: github.example.com/acme-corp and all repos under it"
    ],
    "allow": [
      "Deploying to the staging namespace is allowed: staging is isolated from production and resets nightly",
      "Writing to s3://acme-scratch/ is allowed: ephemeral bucket with a 7-day lifecycle policy"
    ],
    "soft_deny": [
      "Never run database migrations outside the migrations CLI, even against dev databases",
      "Never modify files under infra/terraform/prod/: production infrastructure changes go through the review workflow",
      "...copy full default soft_deny list here first, then add your rules..."
    ]
  }
}
Jeder Abschnitt ersetzt nur seine eigenen Standardwerte, daher hinterlässt das Festlegen von environment allein die Standard-allow- und soft_deny-Listen intakt.

Inspect the defaults and your effective config

Da das Festlegen eines der drei Arrays seine Standardwerte ersetzt, beginnen Sie jede Anpassung, indem Sie die vollständigen Standard-Listen kopieren. Drei CLI-Unterbefehle helfen Ihnen beim Überprüfen und Validieren. Drucken Sie die integrierten environment-, allow- und soft_deny-Regeln als JSON:
claude auto-mode defaults
Drucken Sie, was der Klassifizierer tatsächlich als JSON verwendet, mit Ihren Einstellungen angewendet, wo festgelegt, und Standardwerte andernfalls:
claude auto-mode config
Erhalten Sie KI-Feedback zu Ihren benutzerdefinierten allow- und soft_deny-Regeln:
claude auto-mode critique
Speichern Sie die Ausgabe von claude auto-mode defaults in einer Datei, bearbeiten Sie die Listen, um Ihre Richtlinie zu entsprechen, und fügen Sie das Ergebnis in Ihre Einstellungsdatei ein. Führen Sie nach dem Speichern claude auto-mode config aus, um zu bestätigen, dass die effektiven Regeln das sind, was Sie erwarten. Wenn Sie benutzerdefinierte Regeln geschrieben haben, überprüft claude auto-mode critique diese und kennzeichnet Einträge, die mehrdeutig, redundant oder wahrscheinlich zu falschen Positiven führen.

Review denials

Wenn der Auto-Modus einen Tool-Aufruf ablehnt, wird die Ablehnung in /permissions unter der Registerkarte „Kürzlich abgelehnt” aufgezeichnet. Drücken Sie r auf einer abgelehnten Aktion, um sie zum Wiederholen zu markieren: Wenn Sie das Dialogfeld beenden, sendet Claude Code eine Nachricht, die dem Modell mitteilt, dass es diesen Tool-Aufruf wiederholen kann, und setzt das Gespräch fort. Wiederholte Ablehnungen für dasselbe Ziel bedeuten normalerweise, dass dem Klassifizierer der Kontext fehlt. Fügen Sie dieses Ziel zu autoMode.environment hinzu, führen Sie dann claude auto-mode config aus, um zu bestätigen, dass es wirksam wurde. Um programmatisch auf Ablehnungen zu reagieren, verwenden Sie den PermissionDenied-Hook.

See also

  • Berechtigungsmodi: Was Auto-Modus ist, was er standardmäßig blockiert, und wie man ihn aktiviert
  • Verwaltete Einstellungen: Stellen Sie die autoMode-Konfiguration in Ihrer Organisation bereit
  • Berechtigungen: Allow-, Ask- und Deny-Regeln, die vor dem Klassifizierer gelten
  • Einstellungen: Die vollständige Einstellungsreferenz, einschließlich des autoMode-Schlüssels