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.
Auto mode tersedia untuk semua pengguna pada Anthropic API. Pada Amazon Bedrock, Google Cloud Vertex AI, dan Microsoft Foundry, Anda harus terlebih dahulu mengatur CLAUDE_CODE_ENABLE_AUTO_MODE. Jika Claude Code melaporkan auto mode tidak tersedia untuk akun Anda, periksa persyaratan lengkap, yang juga mencakup model yang didukung dan pengaktifan admin pada paket Team dan Enterprise.
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, soft_deny, dan hard_deny dengan entri pribadi tetapi tidak dapat menghapus entri yang disediakan pengaturan terkelola. Karena aturan izin bertindak sebagai pengecualian untuk aturan blokir lunak 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. Daftar lingkungan default mempercayai repo kerja dan remote yang dikonfigurasinya. Untuk menambahkan entri Anda sendiri bersama default tersebut, sertakan string literal "$defaults" dalam array. Entri default disisipi pada posisi tersebut, jadi entri kustom Anda dapat berada sebelum atau sesudahnya.
{
  "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"
    ]
  }
}
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": [
      "$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}"
    ]
  }
}
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

Tiga bidang tambahan memungkinkan Anda mengganti daftar aturan bawaan pengklasifikasi: autoMode.hard_deny untuk batas keamanan tanpa syarat, autoMode.soft_deny untuk tindakan destruktif yang niat pengguna dapat menghapus, dan autoMode.allow untuk pengecualian. Masing-masing adalah array deskripsi prosa, dibaca sebagai aturan bahasa alami. Untuk hard block berbasis pola alat yang berjalan sebelum pengklasifikasi, gunakan permissions.deny. Di dalam pengklasifikasi, prioritas bekerja dalam empat tingkat:
  • Aturan hard_deny memblokir tanpa syarat. Niat pengguna dan pengecualian allow tidak berlaku.
  • Aturan soft_deny memblokir selanjutnya. Niat pengguna dan pengecualian allow dapat mengganti ini.
  • Aturan allow kemudian mengganti aturan soft_deny yang cocok sebagai pengecualian.
  • Niat pengguna eksplisit mengganti blokir soft yang tersisa: 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. Untuk melonggarkan, tambahkan ke allow ketika pengklasifikasi berulang kali menandai pola rutin yang pengecualian default tidak cover. Untuk mengencangkan, tambahkan ke soft_deny untuk risiko destruktif spesifik lingkungan Anda yang default lewatkan, atau ke hard_deny untuk batas keamanan yang tidak boleh pernah dilintasi. Untuk menjaga aturan bawaan sambil menambahkan aturan Anda sendiri, sertakan string literal "$defaults" dalam array. Aturan default disisipi pada posisi itu, jadi aturan kustom Anda dapat berada sebelum atau sesudahnya, dan Anda terus mewarisi pembaruan saat daftar bawaan berubah di seluruh rilis.
{
  "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"
    ]
  }
}
Menetapkan salah satu dari environment, allow, soft_deny, atau hard_deny tanpa "$defaults" menggantikan seluruh daftar default untuk bagian itu. Array soft_deny tanpa "$defaults" membuang setiap aturan blokir soft bawaan, termasuk force push, curl | bash, dan production deploys. Array hard_deny tanpa "$defaults" membuang aturan data exfiltration bawaan dan aturan bypass auto-mode.
Setiap bagian dievaluasi secara independen, jadi menetapkan environment saja membiarkan daftar allow, soft_deny, dan hard_deny default tetap utuh. Hanya hilangkan "$defaults" ketika Anda bermaksud mengambil kepemilikan penuh atas daftar. Untuk melakukan itu 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.

Periksa default dan konfigurasi efektif Anda

Tiga subperintah CLI membantu Anda memeriksa dan memvalidasi konfigurasi Anda. Cetak aturan environment, allow, soft_deny, dan hard_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, soft_deny, dan hard_deny kustom Anda:
claude auto-mode critique
Jalankan claude auto-mode config setelah menyimpan pengaturan Anda untuk mengonfirmasi bahwa aturan efektif adalah apa yang Anda harapkan, dengan "$defaults" diperluas di tempat. Jika Anda telah menulis aturan kustom, claude auto-mode critique meninjau mereka dan menandai entri yang ambigu, berlebihan, atau mungkin menyebabkan false positif. Jika Anda perlu menghapus atau menulis ulang aturan bawaan daripada menambahkan di sampingnya, simpan output claude auto-mode defaults ke file, edit daftarnya, dan tempel hasilnya ke file pengaturan Anda sebagai pengganti "$defaults".

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