Langsung ke konten utama
Auto mode memungkinkan Claude Code berjalan tanpa permintaan izin dengan merutekan setiap panggilan alat melalui pengklasifikasi yang memblokir apa pun yang tidak dapat dibalikkan, merusak, atau ditujukan di luar lingkungan Anda. Gunakan blok pengaturan autoMode untuk memberi tahu pengklasifikasi itu repo, bucket, dan domain mana yang dipercaya organisasi Anda, sehingga berhenti memblokir operasi internal rutin. Secara default, pengklasifikasi hanya mempercayai direktori kerja dan remote yang dikonfigurasi dari repo saat ini. Tindakan seperti mendorong ke org kontrol sumber perusahaan Anda atau menulis ke bucket cloud tim diblokir sampai Anda menambahkannya ke autoMode.environment. Untuk cara mengaktifkan auto mode dan apa yang diblokir secara default, lihat Permission modes. Halaman ini adalah referensi konfigurasi. Halaman ini mencakup cara:

Di mana pengklasifikasi membaca konfigurasi

Pengklasifikasi membaca konten CLAUDE.md yang sama yang dimuat Claude sendiri, jadi instruksi seperti “jangan pernah force push” di CLAUDE.md proyek Anda mengarahkan Claude dan pengklasifikasi pada saat yang bersamaan. Mulai dari sana untuk konvensi proyek dan aturan perilaku. Untuk aturan yang berlaku di seluruh proyek, seperti infrastruktur terpercaya atau aturan penolakan di seluruh organisasi, gunakan blok pengaturan autoMode. Pengklasifikasi membaca autoMode dari cakupan berikut:
CakupanFileGunakan untuk
Satu pengembang~/.claude/settings.jsonInfrastruktur terpercaya pribadi
Satu proyek, satu pengembang.claude/settings.local.jsonBucket atau layanan terpercaya per-proyek, gitignored
Di seluruh organisasiPengaturan terkelolaInfrastruktur terpercaya didistribusikan ke semua pengembang
Bendera --settings atau Agent SDKJSON inlinePenggantian per-invokasi untuk otomasi
Pengklasifikasi tidak membaca autoMode dari pengaturan proyek bersama di .claude/settings.json, jadi repo yang diperiksa tidak dapat menyuntikkan aturan izinnya sendiri. Entri dari setiap cakupan digabungkan. Pengembang dapat memperluas environment, allow, dan soft_deny dengan entri pribadi tetapi tidak dapat menghapus entri yang disediakan pengaturan terkelola. Karena aturan izin bertindak sebagai pengecualian untuk aturan blokir di dalam pengklasifikasi, entri allow yang ditambahkan pengembang dapat mengganti entri soft_deny organisasi: kombinasinya bersifat aditif, bukan batas kebijakan keras.
Pengklasifikasi adalah gerbang kedua yang berjalan setelah sistem izin. Untuk tindakan yang tidak boleh pernah berjalan terlepas dari niat pengguna atau konfigurasi pengklasifikasi, gunakan permissions.deny dalam pengaturan terkelola, yang memblokir tindakan sebelum pengklasifikasi dikonsultasikan dan tidak dapat ditimpa.

Tentukan infrastruktur terpercaya

Untuk sebagian besar organisasi, autoMode.environment adalah satu-satunya bidang yang perlu Anda atur. Ini memberi tahu pengklasifikasi repo, bucket, dan domain mana yang dipercaya: pengklasifikasi menggunakannya untuk memutuskan apa arti “eksternal”, jadi tujuan apa pun yang tidak terdaftar adalah target exfiltration potensial. Menetapkan environment menggantikan daftar lingkungan default, yang mencakup entri yang mempercayai repo kerja dan remotenya. Jalankan claude auto-mode defaults untuk mencetak default, kemudian sertakan bersama entri Anda sendiri sehingga Anda memperluas daftar daripada mempersempitnya.
{
  "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"
    ]
  }
}
Entri adalah prosa, bukan regex atau pola alat. Pengklasifikasi membacanya sebagai aturan bahasa alami. Tulislah dengan cara Anda akan menggambarkan infrastruktur Anda kepada insinyur baru. Bagian lingkungan yang menyeluruh mencakup:
  • Organisasi: nama perusahaan Anda dan apa yang Claude Code digunakan terutama untuk, seperti pengembangan perangkat lunak, otomasi infrastruktur, atau rekayasa data
  • Kontrol sumber: setiap GitHub, GitLab, atau org Bitbucket yang didorong pengembang Anda
  • Penyedia cloud dan bucket terpercaya: nama bucket atau awalan yang Claude harus dapat membaca dan menulis
  • Domain internal terpercaya: nama host untuk API, dasbor, dan layanan di dalam jaringan Anda, seperti *.internal.example.com
  • Layanan internal utama: CI, registri artefak, indeks paket internal, tooling insiden
  • Konteks tambahan: batasan industri yang diatur, infrastruktur multi-tenant, atau persyaratan kepatuhan yang mempengaruhi apa yang harus diperlakukan pengklasifikasi sebagai berisiko
Template awal yang berguna: isi bidang dalam kurung dan hapus baris apa pun yang tidak berlaku.
{
  "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}"
    ]
  }
}
Semakin spesifik konteks yang Anda berikan, semakin baik pengklasifikasi dapat membedakan operasi internal rutin dari upaya exfiltration. Anda tidak perlu mengisi semuanya sekaligus. Peluncuran yang masuk akal: mulai dengan default dan tambahkan org kontrol sumber Anda dan layanan internal utama, yang menyelesaikan false positive paling umum seperti mendorong ke repo Anda sendiri. Tambahkan domain terpercaya dan bucket cloud selanjutnya. Isi sisanya saat blokir muncul.

Ganti aturan blokir dan izin

Dua bidang tambahan memungkinkan Anda mengganti daftar aturan bawaan pengklasifikasi: autoMode.soft_deny mengontrol apa yang diblokir, dan autoMode.allow mengontrol pengecualian mana yang berlaku. Masing-masing adalah array deskripsi prosa, dibaca sebagai aturan bahasa alami. Tidak ada bidang autoMode.deny; untuk hard-block tindakan terlepas dari niat, gunakan permissions.deny, yang berjalan sebelum pengklasifikasi. Di dalam pengklasifikasi, prioritas bekerja dalam tiga tingkat:
  • Aturan soft_deny memblokir terlebih dahulu
  • Aturan allow kemudian mengganti blokir yang cocok sebagai pengecualian
  • Niat pengguna eksplisit mengganti keduanya: jika pesan pengguna secara langsung dan spesifik menggambarkan tindakan yang tepat Claude akan ambil, pengklasifikasi mengizinkannya bahkan ketika aturan soft_deny cocok
Permintaan umum tidak dihitung sebagai niat eksplisit. Meminta Claude untuk “membersihkan repo” tidak mengotorisasi force-push, tetapi meminta Claude untuk “force-push cabang ini” melakukannya.
Menetapkan salah satu dari environment, allow, atau soft_deny menggantikan seluruh daftar default untuk bagian itu. Jika Anda menetapkan soft_deny dengan satu entri, setiap aturan blokir bawaan dibuang: force push, data exfiltration, curl | bash, production deploys, dan semua aturan blokir default lainnya menjadi diizinkan. Untuk menyesuaikan dengan aman, jalankan claude auto-mode defaults untuk mencetak aturan bawaan, salin ke file pengaturan Anda, kemudian tinjau setiap aturan terhadap pipeline Anda sendiri dan toleransi risiko. Hanya hapus aturan untuk risiko yang sudah dimitigasi infrastruktur Anda.
Untuk melonggarkan: hapus aturan dari soft_deny ketika default memblokir sesuatu yang pipeline Anda sudah lindungi dengan review PR, CI, atau staging environments, atau tambahkan ke allow ketika pengklasifikasi berulang kali menandai pola rutin yang pengecualian default tidak cover. Untuk mengencangkan: tambahkan ke soft_deny untuk risiko spesifik lingkungan Anda yang default lewatkan, atau hapus dari allow untuk menahan pengecualian default ke aturan blokir. Dalam semua kasus, jalankan claude auto-mode defaults untuk mendapatkan daftar default lengkap, kemudian salin dan edit: jangan pernah mulai dari daftar kosong.
{
  "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..."
    ]
  }
}
Setiap bagian hanya menggantikan defaultnya sendiri, jadi menetapkan environment saja membiarkan daftar allow dan soft_deny default tetap utuh.

Periksa default dan konfigurasi efektif Anda

Karena menetapkan salah satu dari tiga array menggantikan defaultnya, mulai kustomisasi apa pun dengan menyalin daftar default lengkap. Tiga subperintah CLI membantu Anda memeriksa dan memvalidasi. Cetak aturan environment, allow, dan soft_deny bawaan sebagai JSON:
claude auto-mode defaults
Cetak apa yang sebenarnya digunakan pengklasifikasi sebagai JSON, dengan pengaturan Anda diterapkan di mana diatur dan default sebaliknya:
claude auto-mode config
Dapatkan umpan balik AI tentang aturan allow dan soft_deny kustom Anda:
claude auto-mode critique
Simpan output claude auto-mode defaults ke file, edit daftar agar sesuai dengan kebijakan Anda, dan tempel hasilnya ke file pengaturan Anda. Setelah menyimpan, jalankan claude auto-mode config untuk mengonfirmasi aturan efektif adalah apa yang Anda harapkan. Jika Anda telah menulis aturan kustom, claude auto-mode critique meninjau mereka dan menandai entri yang ambigu, berlebihan, atau mungkin menyebabkan false positive.

Tinjau penolakan

Ketika auto mode menolak panggilan alat, penolakan dicatat di /permissions di bawah tab Recently denied. Tekan r pada tindakan yang ditolak untuk menandainya untuk retry: ketika Anda keluar dari dialog, Claude Code mengirim pesan memberi tahu model itu dapat retry panggilan alat itu dan melanjutkan percakapan. Penolakan berulang untuk tujuan yang sama biasanya berarti pengklasifikasi kehilangan konteks. Tambahkan tujuan itu ke autoMode.environment, kemudian jalankan claude auto-mode config untuk mengonfirmasi itu berlaku. Untuk bereaksi terhadap penolakan secara terprogram, gunakan hook PermissionDenied.

Lihat juga

  • Permission modes: apa itu auto mode, apa yang diblokir secara default, dan cara mengaktifkannya
  • Pengaturan terkelola: sebarkan konfigurasi autoMode di seluruh organisasi Anda
  • Permissions: aturan izin, tanya, dan tolak yang berlaku sebelum pengklasifikasi berjalan
  • Settings: referensi pengaturan lengkap, termasuk kunci autoMode