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.
Auto-Modus ist für alle Benutzer auf der Anthropic API verfügbar. Bei Amazon Bedrock, Google Cloud Vertex AI und Microsoft Foundry müssen Sie zunächst CLAUDE_CODE_ENABLE_AUTO_MODE festlegen. Wenn Claude Code meldet, dass Auto-Modus für Ihr Konto nicht verfügbar ist, überprüfen Sie die vollständigen Anforderungen, die auch die unterstützten Modelle und die Admin-Aktivierung auf Team- und Enterprise-Plänen abdecken.
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, soft_deny und hard_deny mit persönlichen Einträgen erweitern, kann aber keine Einträge entfernen, die verwaltete Einstellungen bereitstellen. Da Allow-Regeln als Ausnahmen zu Soft-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.

Vertrauenswürdige Infrastruktur definieren

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. Die Standard-Umgebungsliste vertraut dem Arbeits-Repo und seinen konfigurierten Remotes. Um Ihre eigenen Einträge neben diesem Standard hinzuzufügen, fügen Sie die Literalzeichenfolge "$defaults" in das Array ein. Die Standard-Einträge werden an dieser Position eingefügt, sodass Ihre benutzerdefinierten Einträge vor oder nach ihnen stehen können.
{
  "autoMode": {
    "environment": [
      "$defaults",
      "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 Folgendes 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": [
      "$defaults",
      "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.

Blockierungs- und Zulassungsregeln überschreiben

Drei zusätzliche Felder ermöglichen es Ihnen, die integrierten Regellisten des Klassifizierers zu ersetzen: autoMode.hard_deny für bedingungslose Sicherheitsgrenzen, autoMode.soft_deny für destruktive Aktionen, die Benutzerabsicht aufheben kann, und autoMode.allow für Ausnahmen. Jedes ist ein Array von Prosabeschreibungen, das als natürlichsprachige Regeln gelesen wird. Für werkzeugmuster-basierte harte Blöcke, die vor dem Klassifizierer ausgeführt werden, verwenden Sie permissions.deny. Innerhalb des Klassifizierers funktioniert die Vorrangigkeit in vier Ebenen:
  • hard_deny-Regeln blockieren bedingungslos. Benutzerabsicht und allow-Ausnahmen gelten nicht.
  • soft_deny-Regeln blockieren als nächstes. Benutzerabsicht und allow-Ausnahmen können diese überschreiben.
  • allow-Regeln überschreiben dann übereinstimmende soft_deny-Regeln als Ausnahmen.
  • Explizite Benutzerabsicht überschreibt die verbleibenden weichen Blöcke: 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. Um zu lockern, 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 destruktive Risiken hinzu, die spezifisch für Ihre Umgebung sind und die Standardwerte übersehen, oder zu hard_deny für Sicherheitsgrenzen, die niemals überschritten werden dürfen. Um die integrierten Regeln beizubehalten und gleichzeitig Ihre eigenen hinzuzufügen, fügen Sie die Literalzeichenkette "$defaults" in das Array ein. Die Standardregeln werden an dieser Position eingefügt, sodass Ihre benutzerdefinierten Regeln vor oder nach ihnen stehen können, und Sie erhalten weiterhin Updates, wenn sich die integrierte Liste über Versionen hinweg ändert.
{
  "autoMode": {
    "environment": [
      "$defaults",
      "Source control: github.example.com/acme-corp and all repos under it"
    ],
    "allow": [
      "$defaults",
      "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": [
      "$defaults",
      "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"
    ],
    "hard_deny": [
      "$defaults",
      "Never send repository contents to third-party code-review APIs"
    ]
  }
}
Das Festlegen eines der Felder environment, allow, soft_deny oder hard_deny ohne "$defaults" ersetzt die gesamte Standardliste für diesen Abschnitt. Ein soft_deny-Array ohne "$defaults" verwirft jede integrierte Soft-Block-Regel, einschließlich Force-Push, curl | bash und Produktionsbereitstellungen. Ein hard_deny-Array ohne "$defaults" verwirft die integrierten Datenexfiltrations- und Auto-Mode-Bypass-Regeln.
Jeder Abschnitt wird unabhängig ausgewertet, sodass das Festlegen von environment allein die Standard-allow-, soft_deny- und hard_deny-Listen intakt lässt. Lassen Sie "$defaults" nur weg, wenn Sie die vollständige Kontrolle über die Liste übernehmen möchten. Um dies sicher zu tun, führen Sie claude auto-mode defaults aus, um die integrierten Regeln auszudrucken, kopieren Sie sie in Ihre Einstellungsdatei, und überprüfen Sie dann jede Regel gegen Ihre eigene Pipeline und Risikotoleranz.

Überprüfen Sie die Standardwerte und Ihre effektive Konfiguration

Drei CLI-Unterbefehle helfen Ihnen beim Überprüfen und Validieren Ihrer Konfiguration. Drucken Sie die integrierten environment-, allow-, soft_deny- und hard_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-, soft_deny- und hard_deny-Regeln:
claude auto-mode critique
Führen Sie claude auto-mode config nach dem Speichern Ihrer Einstellungen aus, um zu bestätigen, dass die effektiven Regeln das sind, was Sie erwarten, mit "$defaults" an Ort und Stelle erweitert. 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. Wenn Sie eine integrierte Regel entfernen oder umschreiben müssen, anstatt sie hinzuzufügen, speichern Sie die Ausgabe von claude auto-mode defaults in einer Datei, bearbeiten Sie die Listen und fügen Sie das Ergebnis in Ihre Einstellungsdatei anstelle von "$defaults" ein.

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