Konfigurasi mode otomatis
Beri tahu pengklasifikasi mode otomatis repositori, bucket, dan domain mana yang dipercaya organisasi Anda. Atur konteks lingkungan, ganti aturan blokir dan izin default, dan periksa konfigurasi efektif Anda dengan subperintah CLI mode otomatis.
Mode otomatis memungkinkan Claude Code berjalan tanpa permintaan izin rutin dengan merutekan panggilan alat melalui pengklasifikasi yang memblokir apa pun yang tidak dapat dibalikkan, merusak, atau ditujukan di luar lingkungan Anda. Aturan penolakan dan permintaan eksplisit dievaluasi sebelum pengklasifikasi dan masih memblokir atau meminta. Gunakan blok pengaturan autoMode untuk memberi tahu pengklasifikasi tersebut repositori, bucket, dan domain mana yang dipercaya organisasi Anda, sehingga berhenti memblokir operasi internal rutin.
[!NOTE]
Halaman ini adalah referensi konfigurasi. Mengaktifkan dan menonaktifkan mode otomatis tercakup di halaman Permission modes:
- Beralih ke mode otomatis di tengah sesi, atau keluar darinya: lihat Switch permission modes
- Mulai sesi dalam mode otomatis: lihat Start in a different permission mode
Mode otomatis tersedia untuk semua pengguna di setiap penyedia, termasuk Anthropic API, Claude Platform on AWS, Amazon Bedrock, Agent Platform Google Cloud, Microsoft Foundry, dan sesi gateway aplikasi Claude yang masuk. Jika Claude Code melaporkan mode otomatis tidak tersedia untuk akun Anda, periksa persyaratan lengkap, yang juga mencakup model yang didukung dan kontrol tingkat organisasi pada paket Tim dan Enterprise.
Secara default, pengklasifikasi hanya mempercayai direktori kerja dan remote yang dikonfigurasi dari repositori saat ini. Tindakan seperti mendorong ke organisasi kontrol sumber perusahaan Anda atau menulis ke bucket cloud tim diblokir sampai Anda menambahkannya ke autoMode.environment.
Halaman ini mencakup cara:
- Tambahkan checkpoint manusia untuk push dan pull request dengan
permissions.ask - Tentukan infrastruktur terpercaya dengan
autoMode.environment - Hasilkan entri lingkungan dengan
/auto-mode-setup - Tinjau penolakan sehingga Anda tahu apa yang harus ditambahkan selanjutnya
Batas-batas umum
Mode otomatis memungkinkan push ke cabang mana pun dari repositori yang Anda kerjakan, termasuk cabang default, dan pembuatan pull request secara default. Cabang non-default yang namanya menandainya sebagai target deploy atau publikasi, seperti production, release, atau gh-pages, tidak tercakup oleh default tersebut: pengklasifikasi menilai push di sana berdasarkan syarat-syaratnya sendiri, termasuk sebagai deploy produksi. Konten push juga masih diperiksa, jadi force push, rahasia yang memasuki commit, atau perubahan yang akan mengirim rahasia di luar repositori ketika CI atau pipeline deploy menjalankannya tetap diblokir.
Jika Anda ingin checkpoint manusia sebelum perintah push dan pull request Claude, tambahkan aturan izin: resep di bawah menjaga mode otomatis tetap aktif untuk segalanya.
Tambahkan checkpoint manusia
Mekanisme paling langsung adalah permissions.ask. Aturan ask yang dibatasi konten seperti yang di bawah ini dievaluasi sebelum pengklasifikasi dan selalu memaksa prompt izin, bahkan dalam mode otomatis, karena aturan ask eksplisit adalah niat yang dinyatakan untuk diminta untuk tindakan tersebut. Tambahkan aturan di settings Anda:
{
"permissions": {
"ask": [
"Bash(git push *)",
"Bash(gh pr create *)"
]
}
}
Aturan-aturan ini cocok dengan perintah yang dimulai dengan git push atau gh pr create. Push yang Claude tulis dengan cara lain, seperti git -C <dir> push atau git -c <key>=<value> push, tidak cocok dengan aturan, jadi tidak diperiksa. Untuk checkpoint yang memeriksa teks perintah lengkap, tambahkan hook PreToolUse.
Pilih mekanisme yang sesuai dengan seberapa tegas batas yang diperlukan:
| Batas | Mekanisme | Perilaku dalam mode otomatis |
|---|---|---|
| Prompt sebelum tindakan | permissions.ask |
Selalu meminta untuk perintah yang cocok dengan aturan yang dibatasi konten seperti resep di atas. Pengklasifikasi tidak dapat auto-approve tindakan yang cocok. |
| Jangan pernah jalankan tindakan | permissions.deny |
Memblokir sebelum pengklasifikasi dikonsultasikan. Baik pengklasifikasi maupun niat pengguna tidak dapat menggantinya. |
| Batas satu kali untuk sesi ini | Nyatakan dalam percakapan, seperti "jangan push sampai saya review" | Pengklasifikasi memblokir tindakan yang cocok, tetapi batas dapat hilang jika context compaction menghapus pesan yang menyatakannya. Gunakan aturan ask atau deny untuk jaminan yang tahan lama. |
Tempat 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 secara bersamaan. Mulai dari sana untuk konvensi proyek dan aturan perilaku.
Untuk aturan yang berlaku di seluruh proyek, seperti infrastruktur terpercaya atau aturan penolakan di tingkat organisasi, gunakan blok pengaturan autoMode. Pengklasifikasi membaca autoMode dari cakupan berikut:
| Cakupan | File | Gunakan untuk |
|---|---|---|
| Satu pengembang | ~/.claude/settings.json |
Infrastruktur terpercaya pribadi |
| Di seluruh organisasi | Pengaturan terkelola | Infrastruktur terpercaya yang didistribusikan ke semua pengembang |
Bendera --settings atau Agent SDK |
JSON inline | Penggantian per-invokasi untuk otomasi |
Pengklasifikasi tidak membaca autoMode dari pengaturan proyek di .claude/settings.json atau .claude/settings.local.json. Kedua file berada di direktori repo, jadi repo yang diperiksa atau langkah build dapat sebaliknya menyuntikkan aturan izinnya sendiri. Pindahkan blok autoMode apa pun di .claude/settings.local.json ke ~/.claude/settings.json.
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 blok lunak di dalam pengklasifikasi, entri allow yang ditambahkan pengembang dapat mengganti entri soft_deny organisasi: kombinasinya bersifat aditif, bukan batas kebijakan keras.
[!NOTE]
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.denydalam 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 memberitahu pengklasifikasi repositori, bucket, dan domain mana yang terpercaya: pengklasifikasi menggunakannya untuk memutuskan apa arti "eksternal", jadi tujuan apa pun yang tidak tercantum adalah target potensi exfiltration.
claude auto-mode defaults mencetak tiga jenis entri lingkungan.
- Context slots: mendeskripsikan organisasi, stack, dan postur keamanan Anda sehingga pengklasifikasi membaca aturan lain dalam konteks Anda. Masing-masing default ke
None configuredatau ke asumsi konservatif yang dinamai di sebelahnya:-
Organization
-
Primary use of Claude Code: default ke software development
-
Cloud provider(s)
-
Repository visibility: sebuah repositori diasumsikan private kecuali host remote dan namanya menunjukkan sebaliknya, atau pengklasifikasi membaca pemeriksaan visibilitas lebih awal dalam percakapan yang menunjukkan bahwa itu public.
Dalam permintaan pengklasifikasi yang dikirim oleh Claude Code itu sendiri, pengklasifikasi membaca pesan Anda dan perintah yang dijalankan Claude, bukan output mereka. Bukti harus berupa sesuatu yang dapat dibaca pengklasifikasi, seperti pesan Anda sendiri yang menyebutkan repositori sebagai public; output dari
gh repo viewsaja tidak mencapainya. -
Internal sharing / snippet hosting: layanan paste dan gist publik diperlakukan sebagai di luar batas kepercayaan sampai Anda menyebutkan satu
-
Org-specific CLIs
-
Secrets management
-
CI/CD deploy targets
-
Network posture
-
Host containment: default ke mesin developer biasa atau CI runner dengan internet terbuka. Jika Claude Code berjalan dalam container, VM, atau pod dengan daftar allow-list egress atau tetangga yang tidak boleh disentuh, sebutkan host yang diizinkan, apakah endpoint metadata cloud harus dapat dijangkau, dan proyek cloud, cluster, atau registry mana yang digunakan tugas dan di bawah identitas apa. Sampai entri ini menyebutkan identitas itu, pengklasifikasi memblokir permintaan untuk kredensial host itu sendiri. Memerlukan Claude Code v2.1.257 atau lebih baru
-
Protected deployment namespaces / environments: kembali ke heuristik Sensitive remote targets sampai Anda menyebutkannya
-
Data retention / declassification
-
- Trust slots: sebutkan apa yang diperlakukan pengklasifikasi sebagai dalam batas Anda. Slot adalah Trusted repo, Source control, Trusted internal domains, Trusted cloud buckets, Key internal services, dan Internal package registry. Entri repo dan source-control default ke repositori kerja dan remote yang dikonfigurasinya. Setiap slot kepercayaan lainnya default ke
None configured, jadi tidak ada yang lain terpercaya sampai Anda menambahkannya. Visibilitas repositori hanya mencakup materi rahasia: repositori private adalah tujuan yang dapat diterima untuk materi rahasia, tetapi membuat repositori private tidak pernah menghapus rahasia atau data pribadi atau terpercaya ke dalamnya, dan pengklasifikasi memperlakukan konten yang diport, diarahkan ulang, atau pertama kali dibaca dari luar repositori kerja sebagai bukan pekerjaan repositori itu sendiri. - Sensitivity slots: sebutkan apa yang diperlakukan aturan perlindungan sebagai berisiko tinggi. Slot adalah Sensitive data locations & audiences, Sensitive remote targets, dan Protected IaC scopes. Masing-masing default ke heuristik yang luas, seperti memperlakukan host atau namespace apa pun yang namanya membawa
prodatauproductionsebagai target remote sensitif, jadi aturan perlindungan aktif sebelum Anda mengonfigurasi apa pun. Menyebutkan target konkret dalam slot sensitivitas membuat aturan tersebut berlaku untuk target yang disebutkan alih-alih heuristik.
Untuk menambahkan entri Anda sendiri bersama default, sertakan string literal "$defaults" dalam array. Entri default disambung pada posisi itu, jadi entri kustom Anda dapat berada sebelum atau sesudahnya.
Contoh berikut mempertahankan entri default dan menambahkan repo, bucket, domain, dan layanan organisasi.
{
"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"
]
}
}
Setelah Anda menyimpan pengaturan Anda, jalankan claude auto-mode config untuk mengkonfirmasi aturan efektif mencakup entri Anda.
Entri adalah prosa, bukan regex atau pola alat. Pengklasifikasi membacanya sebagai aturan bahasa alami. Tulislah dengan cara Anda akan mendeskripsikan infrastruktur Anda kepada engineer baru. Bagian lingkungan yang menyeluruh mencakup:
- Organization: nama perusahaan Anda dan apa Claude Code terutama digunakan untuk, seperti software development, infrastructure automation, atau data engineering
- Source control: setiap GitHub, GitLab, atau Bitbucket org yang didorong developer Anda
- Cloud providers and trusted buckets: nama bucket atau awalan yang Claude harus dapat membaca dan menulis
- Trusted internal domains: hostname untuk API, dashboard, dan layanan di dalam jaringan Anda, seperti
*.internal.example.com - Key internal services: CI, artifact registries, internal package indexes, incident tooling
- Internal package registry: npm pribadi, PyPI, atau registry lain yang harus dirutekan install, jadi install yang melewatinya untuk registry publik mendapat blokir
- Sensitive data locations & audiences: bucket, database, atau path yang menyimpan data pribadi, data bisnis rahasia, kredensial, data yang diatur, atau materi sensitif serupa, dan audiens yang data di setiap lokasi dapat dibagikan, jadi pengklasifikasi melindungi lokasi tersebut alih-alih menebak dari konten.
- Sensitive remote targets: namespace, host, atau container yang dihitung sebagai production, jadi remote shell dan port-forward ke dalamnya memerlukan persetujuan eksplisit Anda
- Protected IaC scopes: resource infrastruktur yang apply atau destroy harus selalu memerlukan Anda untuk menyebutkan perubahan
- Additional context: 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}"
]
}
}
Anda tidak perlu mengisi semuanya sekaligus. Rollout yang masuk akal: mulai dengan default dan tambahkan org source control dan layanan internal kunci Anda, yang menyelesaikan false positive paling umum seperti push ke repo Anda sendiri. Tambahkan domain terpercaya dan cloud bucket berikutnya. Isi sisanya saat blok muncul.
Membuat entri lingkungan dengan /auto-mode-setup
Jalankan /auto-mode-setup agar Claude Code menyusun draf entri autoMode.environment, dan terkadang juga entri aturan, dari proyek Anda dan sesi-sesi terbaru Anda di dalamnya. Jika Anda menerima draf tersebut, Claude Code menuliskannya ke ~/.claude/settings.json.
[!NOTE]
/auto-mode-setuptersedia pada paket Pro, Max, Ultra, Team, dan Enterprise serta dengan kunci API Claude Console. Pada paket Pro, Max, Ultra, atau Team, Anda memerlukan v2.1.228 atau yang lebih baru, atau v2.1.233 atau yang lebih baru di Windows native. Pada paket Enterprise atau dengan kunci API Claude Console, Anda memerlukan v2.1.283 atau yang lebih baru. Jika perintah ini tidak tersedia di sesi Anda, lihat/auto-mode-setupmengembalikan "Unknown command".
Apa yang dibaca oleh /auto-mode-setup
Jika ~/.claude/settings.json sudah berisi entri autoMode, Claude Code memulai dengan menanyakan apakah akan menambahkan ke daftar lingkungan Anda atau menggantinya, dan tetap mempertahankan aturan yang Anda tulis dalam kedua kasus. Claude Code kemudian menanyakan bagaimana Anda menggunakan proyek ini dan menawarkan dua pemindaian opsional sebelum memindai apa pun. Dalam pemindaian, Claude Code selalu membaca sumber-sumber berikut:
CLAUDE.md,README.md, file konfigurasi, dan remote git milik proyek ini- Pengaturan
autoModedanpermissions.allowAnda - Host, bucket, dan nama perintah dari perintah yang dijalankan Claude dalam sesi-sesi terbaru Anda di proyek ini, tidak pernah pesan Anda
Kedua pemindaian opsional masing-masing menambahkan satu sumber:
- Kata pertama dari setiap perintah dalam riwayat shell Anda
- Host remote dan nama repositori di bawah direktori home Anda
Meninjau dan menyimpan draf
Claude Code memindai di latar belakang, lalu menampilkan draf kepada Anda. Anda menerima atau membuang draf tersebut secara keseluruhan, jadi edit ~/.claude/settings.json setelahnya untuk menyesuaikan entri satu per satu. Saat Anda menerimanya, Claude Code menuliskan draf dan menyelaraskannya dengan pengaturan yang sudah Anda miliki:
- Claude Code menulis daftar
environmenttanpa"$defaults", karena draf tersebut menuliskan secara eksplisit entri bawaan yang dibiarkannya tidak berubah - Claude Code menyertakan
"$defaults"di setiap daftarallow,soft_deny, danhard_denyyang ditambahi entri oleh draf, kecuali Anda sudah menulis daftarallowtanpanya, sehingga aturan bawaan yang belum Anda ganti tetap berlaku - Setelah menyimpan, Claude Code menawarkan untuk menghapus aturan
permissions.allowdi~/.claude/settings.jsonyang diabaikan oleh auto mode, sepertiBash(*), atau yang menyetujui perintah destruktif secara otomatis
Kemudian jalankan claude auto-mode config untuk melihat hasil yang berlaku.
Mematikan /auto-mode-setup
Setelah auto mode memblokir beberapa tindakan dan Anda masih belum memiliki entri autoMode.environment, Claude Code menampilkan dialog berjudul "Teach auto mode about your environment?" di akhir sebuah giliran dan menawarkan untuk menjalankan /auto-mode-setup untuk Anda. Untuk menghentikan tawaran tersebut tetapi tetap mempertahankan perintahnya, pilih Don't show again di dialog tersebut.
Untuk mematikan perintah sekaligus tawarannya, tambahkan entri skillOverrides ini ke ~/.claude/settings.json:
{
"skillOverrides": {
"auto-mode-setup": "off"
}
}
/auto-mode-setup adalah perintah bawaan, bukan skill bawaan, sehingga entri skillOverrides ini tetap berlaku untuknya, tetapi disableBundledSkills tidak mematikannya.
/auto-mode-setup returns "Unknown command"
Jika mengetik /auto-mode-setup di prompt Claude Code menampilkan Unknown command: /auto-mode-setup, periksa penyebab-penyebab berikut:
- Sesi pertama setelah instalasi atau peningkatan versi: mulai sesi baru. Jika perintah masih tidak tersedia di sana, lihat konfigurasi di mana sesi-sesi berikutnya juga dimulai tanpanya.
- Versi usang: jalankan
claude --versiondi shell Anda. Jika versinya di bawah versi minimum untuk paket Anda, perbarui Claude Code. - Telemetri mati, penyedia pihak ketiga, atau gateway aplikasi Claude: sebelum v2.1.304, perintah ini tidak tersedia di sesi di mana pengambilan feature flag dimatikan. Jika sesi Anda termasuk salah satunya, perbarui Claude Code ke v2.1.304 atau yang lebih baru.
Di sesi cloud, perintah ini justru menampilkan /auto-mode-setup isn't available in this environment.. Jalankan perintah ini di sesi interaktif di terminal Anda.
Ganti aturan blokir dan izin
Tiga bidang tambahan memungkinkan Anda mengganti daftar aturan bawaan pengklasifikasi:
autoMode.hard_deny: batas keamanan tanpa syaratautoMode.soft_deny: tindakan destruktif yang niat pengguna dapat menghapusautoMode.allow: pengecualian untuk aturan blokir soft
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_denymemblokir tanpa syarat. Niat pengguna dan pengecualianallowtidak berlaku. - Aturan
soft_denymemblokir selanjutnya. Niat pengguna dan pengecualianallowdapat mengganti ini. - Aturan
allowkemudian mengganti aturansoft_denyyang 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_denycocok.
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.
Contoh berikut menjaga default di semua empat daftar dan menambahkan aturan spesifik organisasi ke masing-masing.
{
"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"
]
}
}
[!CAUTION]
Menetapkan salah satu dari
environment,allow,soft_deny, atauhard_denytanpa"$defaults"menggantikan seluruh daftar default untuk bagian itu. Jika Anda menetapkan array tanpa"$defaults", Anda membuang aturan bawaan untuk bagian itu:
soft_deny: setiap aturan blokir soft bawaan, termasuk force push,curl | bash, production deploys, dan bypass auto-modehard_deny: aturan data exfiltration bawaan
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.
Edit rules from /permissions
Untuk melihat dan mengedit aturan classifier dan entri environment tanpa membuka file pengaturan, jalankan /permissions dan pilih tab Auto mode. Tab tersebut memerlukan Claude Code v2.1.246 atau lebih baru, dan hanya muncul ketika auto mode tersedia untuk sesi Anda.
Claude Code menampilkan entri dari managed settings atau flag --settings sebagai read-only, dan menyimpan setiap perubahan yang Anda buat di tab ke ~/.claude/settings.json.
Arahkan semua perintah shell melalui pengklasifikasi
Secara default, aturan Bash dan PowerShell yang sempit seperti Bash(npm test) tetap berlaku dalam mode otomatis. Claude Code menyelesaikannya sebelum pengklasifikasi berjalan, kecuali perintah membawa domain yang diizinkan per-perintah. Claude Code menangguhkan hanya aturan luas yang memberikan eksekusi kode arbitrer, seperti Bash(*) atau interpreter dengan wildcard, bersama dengan setiap aturan yang menyebutkan Monitor, karena perintah Monitor berjalan melalui shell. Ini berarti aturan yang sempit masih dapat membiarkan argumen yang merusak melewati tanpa pengklasifikasi melihatnya, misalnya jalur skrip atau flag yang tidak diantisipasi oleh awalan aturan.
Atur autoMode.classifyAllShell ke true untuk menangguhkan setiap aturan izin Bash dan PowerShell saat mode otomatis aktif, sehingga pengklasifikasi mengevaluasi setiap perintah shell terlepas dari daftar izin Anda, kecuali penghapusan jalur kritis.
{
"autoMode": {
"classifyAllShell": true
}
}
Ini menukar latensi untuk cakupan: perintah yang akan disetujui oleh aturan izin secara instan sekarang menunggu keputusan pengklasifikasi, dan setiap perintah shell dihitung sebagai panggilan pengklasifikasi.
Pengaturan hanya berlaku saat mode otomatis aktif, dan aturan izin Anda berperilaku normal dalam mode izin lainnya.
Periksa default dan konfigurasi efektif Anda
Subperintah claude auto-mode membantu Anda memeriksa, memvalidasi, dan mengatur ulang konfigurasi Anda.
Cetak aturan bawaan environment, allow, soft_deny, dan hard_deny sebagai JSON:
claude auto-mode defaults
Untuk membaca kata-kata lengkap satu aturan tanpa melalui pipa jq, berikan --label dengan awal label aturan, seperti claude auto-mode defaults --label 'Git Destructive'. Pencocokan adalah awalan yang tidak peka huruf besar-kecil pada label setiap aturan, dan bagian tanpa kecocokan dicetak sebagai daftar kosong.
Cetak apa yang sebenarnya digunakan pengklasifikasi sebagai JSON, dengan pengaturan Anda diterapkan di mana diatur dan default sebaliknya:
claude auto-mode config
Baik defaults maupun config mencetak empat daftar aturan sebagai satu objek JSON, dengan setiap aturan sebagai string prosa. Ini adalah contoh yang dipotong:
{
"allow": [
...
"Test Artifacts: Hardcoded test API keys, placeholder credentials in examples, or hardcoding test cases. Placeholder means authored as a placeholder — a file or value copied from a real secret or sensitive path is never a test artifact (see Sensitive-Source Provenance).",
...
],
"soft_deny": [
"Git Destructive [named+specifics — **must name:** the destructive operation and its target]: Force pushing (`git push --force`), deleting remote branches, tags, or releases, or rewriting remote history. Also `git commit --amend` when the commit being rewritten is not the agent's own unpushed work: either no prior `git commit` is visible (HEAD pre-dates the session), or a `git push` of the current branch is visible after the most recent commit (it has been pushed). Clears when the user asked to amend/reword/fixup, or when it is a message-only reword (`--amend -m …`, nothing newly staged) of a commit the agent visibly created this session.",
...
],
"hard_deny": [...],
"environment": [
...
"**Trusted repo**: The git repository the agent started in (its working directory) and its configured remote(s). When the repo's public/private visibility is given — by the Repository visibility entry or the user's own message — use it to scope what is OK to commit or push there: confidential material is fine in a private repo; in a public one, only that repo's own work is — and content ported, repointed, or first read from outside this session's repo is not its own work, whoever directed the port. Visibility scopes confidential material only: secrets and sensitive data (personal & entrusted) are never cleared into any repo by its visibility (see Definitions).",
...
]
}
Dapatkan umpan balik AI tentang entri allow, soft_deny, hard_deny, dan environment kustom Anda:
claude auto-mode critique
Jika Anda telah menulis aturan kustom, claude auto-mode critique meninjau mereka dan menandai entri yang ambigu, berlebihan, atau kemungkinan menyebabkan positif palsu.
Untuk membuang kustomisasi Anda dan kembali ke default bawaan, jalankan subperintah reset, yang menghapus bagian autoMode dari file pengaturan pengguna Anda:
claude auto-mode reset
Perintah merangkum apa yang akan dihapus dan menanyakan Reset auto mode configuration to defaults? sebelum menulis; berikan --yes untuk melewati konfirmasi. Reset hanya mengubah ~/.claude/settings.json: aturan autoMode dari managed settings atau bendera --settings masih berlaku.
Tinjau penolakan
Untuk membiarkan Claude mencoba ulang tindakan yang diblokir, gunakan tab Recently blocked di /permissions:
1. Buka tab
Jalankan /permissions di sesi Anda untuk membuka dialog izin, lalu pilih tab Recently blocked.
2. Periksa tindakan
Sorot baris tindakan tersebut dan baca perintah atau inputnya di bawah daftar. Berpeganglah pada perintah atau input tersebut, bukan deskripsi baris, yang ditulis oleh Claude atau tool.
3. Setujui tindakan
Tekan r untuk menyetujui tindakan dan membiarkan Claude mencoba ulang tindakan tersebut.
4. Tutup dialog
Tekan Esc untuk menutup dialog dan menerapkan persetujuan Anda. Jika Claude sedang bekerja saat Anda membuka /permissions, kirim pesan setelah Claude selesai agar Claude dapat mencoba ulang tindakan tersebut. Jika tidak, Anda tidak perlu mengirim apa pun: Claude langsung melanjutkan dan mungkin mencoba ulang tindakan tersebut. Jika tidak, sebutkan tindakan tersebut dalam pesan berikutnya, seperti yang dijelaskan di Persetujuan yang Anda nyatakan dalam percakapan.
Menyetujui tindakan tidak menambahkan aturan izin. Dalam auto mode, tindakan yang dicoba ulang akan melalui pemeriksaan lagi, sehingga dapat diblokir lagi. Untuk meloloskan sebuah perintah mulai sekarang, tambahkan aturan allow.
Jika Anda tidak ingin Claude langsung mencoba ulang, Anda dapat menyetujui tindakan untuk nanti, menarik kembali persetujuan, atau menutup dialog dan membuang persetujuan Anda:
- Setujui untuk nanti: tekan
Enterpada baris tersebut, laluEsc. Baris tersebut keluar dari tab, dan Claude mungkin mencoba ulang tindakan tersebut setelah pesan berikutnya dari Anda begitu Claude selesai. Jika Anda juga menekanrpada baris lain, baris tempat Anda menekanEntertetap berada di tab dan Claude tidak diberi tahu tentang tindakan tersebut. Setujui baris tersebut pada kunjungan berikutnya, atau tekanrpada keduanya - Tarik kembali persetujuan: sebelum Anda menekan
Esc, tekanEnterpada baris tersebut, baik Anda menyetujuinya denganEntermaupunr - Tutup dialog dan buang persetujuan Anda: tekan
Ctrl+Cdua kali
Anda tidak dapat menyetujui tindakan dari tab ketika barisnya tidak dapat menampilkan seluruh perintah atau inputnya, atau ketika tindakan tersebut tidak memiliki baris:
- Baris berbunyi
This row can't be approved here: jika Anda memang bermaksud melakukan tindakan tersebut, beri tahu Claude dalam pesan berikutnya dan Claude mungkin mencobanya lagi - Tidak ada baris, dan
Not runatau kesalahan pengklasifikasi dalam percakapan: pengklasifikasi auto mode tidak memberikan putusan. Untuk mengetahui cara menjalankan tindakan tersebut, baca Auto mode cannot determine the safety of an action
Perbaiki penolakan dengan aturan izin, entri lingkungan, atau percobaan ulang
Pemberitahuan berbunyi seperti bash blocked by auto mode · /permissions · Auto mode: [Data Exfiltration]. Untuk membaca perintah atau URL di balik pemberitahuan tersebut, gunakan tab Recently blocked, hook, atau percakapan:
- Tab Recently blocked: sorot baris tindakan tersebut. Dalam mode pembaca layar, setiap perintah dan input muncul sebelum daftar.
- Hook: untuk menangkap input yang tepat dari penolakan secara terprogram, tambahkan hook
PermissionDenied, yang menerimanya sebagaitool_input. Jika hook Anda membacareason, jangan harapkan adanya awalanAuto mode:, dan harapkan teks sepertiBlocked by classifieralih-alihNo reason provided. - Percakapan: temukan panggilan tool. Jika panggilan muncul diperpendek atau dilipat ke dalam baris ringkasan seperti
Ran 3 shell commands, tekanCtrl+Ountuk membuka penampil transkrip, yang memperluas panggilan tersebut.
Teks di bawah panggilan memberi tahu Anda apakah ada yang perlu diperbaiki. Baris redup Not run · auto mode's check had no usable answer, atau teks yang melaporkan masalah dengan pengklasifikasi itu sendiri, seperti Auto mode could not evaluate this action, berarti Claude Code memblokir panggilan tanpa putusan dari pengklasifikasi. Untuk baris Not run, tekan Ctrl+O untuk membaca pesan lengkapnya, lalu lihat Auto mode cannot determine the safety of an action atau The server returned no safety verdict untuk mengetahui apa yang harus dilakukan.
Jika tidak, baris Blocked by auto mode berarti pengklasifikasi menilai panggilan tersebut tidak aman. Untuk meloloskan panggilan tersebut, ambil langkah yang sesuai dengan apa yang sedang dicoba dicapai atau dilakukan oleh Claude:
- Tujuan yang Claude butuhkan sepanjang tugas, seperti registri paket, domain internal, atau host repositori: tambahkan ke
autoMode.environment. - Perintah yang ingin Anda jalankan tanpa tinjauan dari sekarang: tambahkan aturan
allow. - Tindakan sekali pakai yang memang Anda maksudkan: nyatakan niat itu dalam pesan berikutnya dan biarkan Claude mencoba kembali.
Anda dapat menambahkan entri lingkungan atau aturan allow dari tab Auto mode dialog /permissions.
Teks dalam tanda kurung siku, seperti [Data Exfiltration], adalah nama aturan yang cocok dengan pengklasifikasi. Untuk membaca kata-kata lengkap aturan tersebut, lihat Inspeksi default dan konfigurasi efektif Anda.
Perbaiki penolakan berulang
Penolakan berulang untuk tujuan yang sama biasanya berarti pengklasifikasi kehilangan konteks. Tambahkan tujuan itu ke autoMode.environment, atau jalankan /auto-mode-setup untuk membuat Claude Code membuat draf entri, kemudian jalankan claude auto-mode config untuk mengonfirmasi perubahan telah diterapkan.
Lihat juga
- Mode izin: apa itu mode otomatis, apa yang diblokir secara default, dan sesi mana yang dimulai di dalamnya
- Pengaturan terkelola: terapkan konfigurasi
autoModedi seluruh organisasi Anda - Izin: aturan izinkan, tanya, dan tolak yang berlaku sebelum pengklasifikasi berjalan
- Semua pengaturan: setiap kunci pengaturan, termasuk
autoMode