SpyBara
Go Premium

permission-modes.md 2026-07-09 23:58 UTC to 2026-07-10 17:00 UTC

54 added, 27 removed.

2026
Mon 13 18:59 Sat 11 19:03 Fri 10 17:00 Thu 9 23:58 Wed 8 16:02 Tue 7 16:02 Mon 6 23:57 Sat 4 03:01 Fri 3 23:00 Thu 2 23:59 Wed 1 21:01

Pilih mode izin

Kontrol apakah Claude meminta izin sebelum mengedit file atau menjalankan perintah. Siklus mode dengan Shift+Tab di CLI atau gunakan pemilih mode di VS Code, Desktop, dan claude.ai.

Ketika Claude ingin mengedit file, menjalankan perintah shell, atau membuat permintaan jaringan, ia berhenti dan meminta Anda untuk menyetujui tindakan tersebut. Mode izin mengontrol seberapa sering jeda itu terjadi. Mode yang Anda pilih membentuk alur sesi: mode manual membuat Anda meninjau setiap tindakan saat tiba, sementara mode yang lebih longgar memungkinkan Claude bekerja dalam peregangan yang lebih lama tanpa gangguan dan melaporkan kembali saat selesai. Pilih pengawasan lebih untuk pekerjaan sensitif, atau gangguan lebih sedikit ketika Anda mempercayai arahnya.

Mode yang tersedia

Setiap mode membuat tradeoff yang berbeda antara kenyamanan dan pengawasan. Tabel di bawah menunjukkan apa yang dapat dilakukan Claude tanpa prompt izin di setiap mode.

Mode Apa yang berjalan tanpa bertanya Terbaik untuk
default Pembacaan saja. Berlabel Manual di CLI dan ekstensi IDE Memulai, pekerjaan sensitif
acceptEdits Pembacaan, pengeditan file, dan perintah filesystem umum (mkdir, touch, mv, cp, dll.) Iterasi pada kode yang Anda tinjau
plan Pembacaan saja Menjelajahi basis kode sebelum mengubahnya
auto Semuanya, dengan pemeriksaan keamanan latar belakang Tugas panjang, mengurangi kelelahan prompt
dontAsk Hanya alat yang telah disetujui sebelumnya CI terkunci dan skrip
bypassPermissions Semuanya Kontainer dan VM terisolasi saja

Mode yang meninjau setiap tindakan dinamai Manual di CLI, di claude --help, dan di ekstensi VS Code dan JetBrains. Nilai konfignya adalah default, yang digunakan oleh hooks dan integrasi SDK. CLI menerima manual sebagai alias di mana pun Anda mengetikkan nilainya, misalnya claude --permission-mode manual atau "defaultMode": "manual". Label Manual dan alias manual memerlukan Claude Code v2.1.200 atau lebih baru.

Di setiap mode kecuali bypassPermissions, penulisan ke jalur yang dilindungi tidak pernah disetujui otomatis, menjaga status repositori dan konfigurasi Claude sendiri dari kerusakan yang tidak disengaja.

Mode menetapkan baseline. Lapisi aturan izin di atas untuk pre-approve atau memblokir alat tertentu. Aturan deny dan aturan ask eksplisit berlaku di setiap mode, termasuk bypassPermissions. Aturan allow tidak memiliki efek dalam mode itu karena semuanya sudah disetujui.

Beralih mode izin

Anda dapat beralih mode di tengah sesi, saat startup, atau sebagai default yang persisten. Mode diatur melalui kontrol ini, bukan dengan meminta Claude dalam obrolan. Pilih antarmuka Anda di bawah untuk melihat cara mengubahnya.

Selama sesi: tekan Shift+Tab untuk siklus defaultacceptEditsplan. Mode saat ini muncul di bilah status. {/* min-version: 2.1.203 */}Mode manual, default dalam siklus itu, menampilkan lencana abu-abu ⏸ manual mode on. Sebelum v2.1.203, bilah status tidak menampilkan lencana dalam mode Manual.

Tidak setiap mode ada dalam siklus default:

  • auto: muncul ketika akun Anda memenuhi persyaratan mode auto; bersiklus ke dalamnya menampilkan mode tanpa prompt konfirmasi
  • bypassPermissions: muncul setelah Anda memulai dengan --permission-mode bypassPermissions, --dangerously-skip-permissions, atau --allow-dangerously-skip-permissions; varian --allow- menambahkan mode ke siklus tanpa mengaktifkannya
  • dontAsk: tidak pernah muncul dalam siklus; atur dengan --permission-mode dontAsk

Mode opsional yang diaktifkan masuk setelah plan, dengan bypassPermissions terlebih dahulu dan auto terakhir. Jika Anda memiliki keduanya diaktifkan, Anda akan bersiklus melalui bypassPermissions dalam perjalanan ke auto.

Saat startup: lewatkan mode sebagai flag.

claude --permission-mode plan

Sebagai default: atur defaultMode di pengaturan.

{
"permissions": {
"defaultMode": "acceptEdits"
}
}

Flag --permission-mode yang sama berfungsi dengan -p untuk run non-interaktif.

Auto-approve pengeditan file dengan mode acceptEdits

Mode acceptEdits memungkinkan Claude membuat dan mengedit file di direktori kerja Anda tanpa meminta. Bilah status menunjukkan ⏵⏵ accept edits on saat mode ini aktif.

Selain pengeditan file, mode acceptEdits auto-approve perintah Bash filesystem umum: mkdir, touch, rm, rmdir, mv, cp, dan sed. Perintah ini juga auto-approved ketika diawali dengan variabel lingkungan aman seperti LANG=C atau NO_COLOR=1, atau pembungkus proses seperti timeout, nice, atau nohup. Seperti pengeditan file, auto-approval hanya berlaku untuk jalur di dalam direktori kerja Anda atau additionalDirectories. Jalur di luar cakupan itu, penulisan ke jalur yang dilindungi, dan semua perintah Bash lainnya masih meminta.

Ketika alat PowerShell diaktifkan, mode acceptEdits juga auto-approve Set-Content, Add-Content, Clear-Content, dan Remove-Item pada jalur dalam cakupan, bersama dengan alias umum mereka. Aturan cakupan dan jalur yang dilindungi yang sama berlaku.

Gunakan acceptEdits ketika Anda ingin meninjau perubahan di editor Anda atau melalui git diff setelahnya daripada menyetujui setiap pengeditan inline.

Tekan Shift+Tab sekali dari mode Manual untuk memasukkannya, atau mulai dengannya langsung:

claude --permission-mode acceptEdits

Analisis sebelum Anda mengedit dengan mode rencana

Mode rencana memberi tahu Claude untuk meneliti dan mengusulkan perubahan tanpa membuatnya. Claude membaca file, menjalankan perintah shell untuk menjelajahi, dan menulis rencana, tetapi tidak mengedit sumber Anda. Prompt izin masih berlaku sama seperti dalam mode Manual.

Masukkan mode rencana dengan menekan Shift+Tab atau mengawali prompt tunggal dengan /plan. Anda juga dapat memulai dalam mode rencana dari CLI:

claude --permission-mode plan

Tekan Shift+Tab lagi untuk meninggalkan mode rencana tanpa menyetujui rencana.

Tinjau dan setujui rencana

Ketika rencana siap, Claude menyajikannya dan menanyakan cara melanjutkan. Dari prompt itu Anda dapat:

  • Setujui dan mulai dalam mode otomatis
  • Setujui dan terima pengeditan
  • Setujui dan tinjau setiap pengeditan secara manual
  • Terus merencanakan dengan umpan balik
  • Perbaiki dengan Ultraplan untuk tinjauan berbasis browser

Menyetujui rencana keluar dari mode rencana dan mengalihkan sesi ke mode izin yang dijelaskan oleh setiap opsi persetujuan, sehingga Claude mulai mengedit. Untuk merencanakan lagi, kembali ke mode rencana dengan Shift+Tab, atau awali prompt berikutnya dengan /plan.

Tekan Ctrl+G untuk membuka rencana yang diusulkan di editor teks default Anda dan mengeditnya secara langsung sebelum Claude melanjutkan. Ketika showClearContextOnPlanAccept diaktifkan, setiap opsi persetujuan juga menawarkan untuk menghapus konteks perencanaan terlebih dahulu.

Menerima rencana juga memberi nama sesi dari konten rencana secara otomatis, kecuali Anda telah menetapkan nama dengan --name atau /rename.

Atur mode rencana sebagai default

Untuk membuat mode rencana sebagai default untuk proyek, atur defaultMode dalam .claude/settings.json:

{
  "permissions": {
    "defaultMode": "plan"
  }
}

Hilangkan prompt izin dengan mode otomatis

Mode otomatis memungkinkan Claude menjalankan tanpa prompt izin rutin. Model pengklasifikasi terpisah meninjau tindakan sebelum berjalan, memblokir apa pun yang melampaui permintaan Anda, menargetkan infrastruktur yang tidak dikenali, atau tampak didorong oleh konten bermusuhan yang dibaca Claude. Aturan ask eksplisit masih memaksa prompt.

Mode otomatis juga mendorong Claude untuk terus bekerja tanpa berhenti untuk pertanyaan klarifikasi, meskipun Claude masih bertanya ketika prompt Anda atau skill secara eksplisit bergantung padanya. Untuk perilaku otonom yang lebih kuat sambil tetap mempertahankan prompt izin, atur gaya output Proaktif sebagai gantinya.

Mode otomatis hanya tersedia ketika akun Anda memenuhi semua persyaratan ini:

  • Rencana: Semua rencana.
  • Pemilik: di Team dan Enterprise, Pemilik harus mengaktifkannya di pengaturan admin Claude Code sebelum pengguna dapat mengaktifkannya. Administrator juga dapat menguncinya dengan mengatur permissions.disableAutoMode ke "disable" di pengaturan terkelola.
  • Model: di API Anthropic, Claude Opus 4.6 atau lebih baru, atau Sonnet 4.6 atau lebih baru. Di Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, dan sesi Claude apps gateway yang masuk, hanya Claude Sonnet 5, Opus 4.7, dan Opus 4.8. Model yang lebih lama, termasuk Sonnet 4.5, Opus 4.5, Haiku, dan model claude-3, tidak didukung di penyedia mana pun.
  • Penyedia: tersedia secara default di API Anthropic. Di Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, dan sesi Claude apps gateway yang masuk, mode otomatis mati sampai Anda mengatur CLAUDE_CODE_ENABLE_AUTO_MODE.

Jika Claude Code melaporkan mode otomatis sebagai tidak tersedia, salah satu persyaratan ini tidak terpenuhi; ini bukan pemadaman sementara. Pesan terpisah yang menyebutkan model dan mengatakan mode otomatis "tidak dapat menentukan keamanan" tindakan adalah pemadaman pengklasifikasi sementara; lihat referensi kesalahan.

Jika Anda mengatur defaultMode: "auto" di pengaturan dan sesi dimulai dalam mode default tanpa kesalahan, pengaturan kemungkinan berada di .claude/settings.json atau .claude/settings.local.json. Claude Code v2.1.142 dan lebih baru mengabaikan auto dari file-file tersebut sehingga repositori tidak dapat memberikan dirinya sendiri mode otomatis. Pindahkan ke ~/.claude/settings.json.

Aktifkan mode otomatis di Bedrock, Agent Platform, atau Foundry

Di Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, dan sesi Claude apps gateway yang masuk, mode otomatis tidak muncul dalam siklus Shift+Tab sampai CLAUDE_CODE_ENABLE_AUTO_MODE diatur ke 1. Variabel bekerja di Claude Code v2.1.158 dan lebih baru. Hanya Claude Sonnet 5, Opus 4.7, dan Opus 4.8 yang didukung di penyedia ini.

Untuk mengaktifkannya untuk satu pengembang, tambahkan variabel ke blok env di ~/.claude/settings.json:

{
  "env": {
    "CLAUDE_CODE_ENABLE_AUTO_MODE": "1"
  }
}

Untuk mengaktifkannya untuk organisasi Anda, tambahkan blok env yang sama ke pengaturan terkelola.

Setelah variabel diatur, mode otomatis muncul dalam siklus Shift+Tab untuk setiap sesi. Untuk menjadikannya mode awal default, juga atur "permissions": {"defaultMode": "auto"} di pengaturan pengguna atau terkelola. Di penyedia ini, Claude Code mengabaikan defaultMode: "auto" kecuali CLAUDE_CODE_ENABLE_AUTO_MODE juga diatur.

Untuk mencegah pengembang mengaktifkan mode otomatis, atur disableAutoMode ke "disable" di pengaturan terkelola. Ini menimpa variabel enable.

Jika Anda terhubung melalui gateway LLM yang dikonfigurasi dengan ANTHROPIC_BASE_URL, mode otomatis mungkin sudah dapat dijangkau tanpa variabel enable, karena gateway merutekan permintaan melalui API Anthropic. Ini tidak berlaku untuk sesi Claude apps gateway yang masuk, yang merupakan kelas penyedia tersendiri dan memerlukan variabel enable. Pengaturan disableAutoMode berlaku dengan cara yang sama dalam konfigurasi apa pun.

Apa yang diblokir pengklasifikasi secara default

Pengklasifikasi mempercayai direktori kerja Anda dan remote yang dikonfigurasi untuk itu ketika sesi dimulai. {/* min-version: 2.1.200 */}Remote yang ditambahkan atau ditunjuk ulang selama sesi dengan git remote add atau git remote set-url tidak dipercaya, dan semuanya yang lain diperlakukan sebagai eksternal sampai Anda mengkonfigurasi infrastruktur terpercaya. Sebelum v2.1.200, remote yang ditambahkan di tengah sesi juga dipercaya.

Diblokir secara default:

  • Mengunduh dan menjalankan kode, seperti curl | bash
  • Mengirim data sensitif ke endpoint eksternal
  • Deploy dan migrasi produksi
  • Penghapusan massal pada penyimpanan cloud
  • Memberikan izin IAM atau repo
  • Memodifikasi infrastruktur bersama
  • Menghancurkan file secara tidak dapat dipulihkan yang ada sebelum sesi
  • Force push
  • {/* min-version: 2.1.203 */}Mendorong ke cabang default repositori ketika push membawa konten sensitif seperti rahasia atau data pribadi atau terpercaya, membawa perubahan yang disembunyikan atau salah dideskripsikan relatif terhadap apa yang Anda minta, membawa konten yang diimpor atau pertama kali dibaca dari luar repositori, atau merutekan di sekitar pull request, review, atau check yang Anda minta. Push biasa ke cabang default tidak diblokir dengan sendirinya, dan menghapus push yang ditandai memerlukan penamaan konten yang ditandai atau review yang dilewati, bukan hanya push. Pengklasifikasi adalah satu lapisan: aturan permissions.deny berlaku di setiap mode dan dapat memblokir push ke cabang default sepenuhnya, dan perlindungan cabang remote itu sendiri masih berlaku. Sebelum v2.1.203, push langsung apa pun ke cabang default diblokir
  • {/* min-version: 2.1.182 */}}git reset --hard, git checkout -- ., git restore ., git clean -fd, git stash drop, atau git stash clear, yang pengklasifikasi asumsikan akan membuang perubahan yang belum dikomit
  • git commit --amend ketika commit di HEAD tidak dibuat dalam sesi ini
  • {/* min-version: 2.1.198 */}Dari v2.1.198, git commit --amend ketika commit di HEAD sudah didorong. Reword hanya pesan tidak diblokir: --amend -m tanpa apa pun yang baru dipentaskan, pada commit yang dibuat Claude selama sesi ini
  • terraform destroy, pulumi destroy, cdk destroy, atau terragrunt destroy, dan menerapkan rencana yang menghancurkan sumber daya

Claude Code v2.1.195 dan lebih baru memblokir lebih banyak kategori secara default. Beberapa bergantung pada entri lingkungan, seperti target jarak jauh sensitif dan cakupan IaC yang dilindungi, yang dapat Anda persempit ke nama konkret.

  • Menulis ke manajer rahasia, atau mengubah catatan DNS atau sertifikat TLS
  • Menggabungkan permintaan tarik yang belum disetujui manusia, menyetujui permintaan tarik Claude sendiri, atau menonaktifkan pemeriksaan CI
  • Memposting komentar yang merupakan perintah untuk otomasi, seperti atlantis apply atau /deploy atau /merge bot
  • Mengalihkan, meningkatkan, atau menghapus bendera fitur produksi
  • Menerapkan perubahan infrastruktur ke cakupan IaC yang dilindungi, atau mengalirkan dan menghapus node cluster
  • Penulisan ke cluster komputasi bersama yang melampaui sumber daya yang Anda beri nama, seperti pemilih label atau --all yang menangkap pekerjaan pengguna lain
  • Membuat sumber daya Kubernetes yang berjalan di setiap node atau mencegat lalu lintas cluster, seperti DaemonSets dan webhook penerimaan
  • Shell interaktif atau port-forward ke target jarak jauh sensitif
  • Membuka terowongan atau shell terbalik yang membuat layanan lokal dapat dijangkau dari internet publik
  • Mencetak kredensial atau token langsung ke transkrip atau file
  • Mengakses lokasi yang tercantum sebagai lokasi data sensitif di lingkungan Anda, atau menyalin data keluar dari satu. {/* min-version: 2.1.198 */}Mulai dari v2.1.198 ini juga memblokir pengiriman data dari satu ke audiens yang entri kecualikan
  • Merutekan instalasi paket di sekitar registri paket internal Anda ke registri publik. {/* min-version: 2.1.198 */}Mulai dari v2.1.198, ini juga berlaku ketika Anda telah memberi tahu Claude bahwa registri internal atau mirror ada dalam percakapan, bukan hanya ketika satu tercantum di lingkungan Anda
  • Menjalankan perintah dengan bendera yang melucuti penjaga keselamatan, seperti --insecure
  • Meluncurkan loop agen otonom yang berjalan tanpa persetujuan manusia atau sandbox, seperti yang dimulai dengan --dangerously-skip-permissions atau --no-sandbox. {/* min-version: 2.1.198 */}Mulai dari v2.1.198 ini juga mencakup menjalankan agen pihak ketiga atau harness eval dengan isolasi dan persetujuan per-tindakan dinonaktifkan, seperti runner yang dimulai dengan --yes-always
  • Tindakan browser Claude di Chrome yang dapat mengirim konten halaman, cookie, atau kredensial off-origin

Claude Code v2.1.198 dan lebih baru juga memblokir ini secara default:

  • Menghapus file di /tmp, $TMPDIR, atau direktori scratch atau cache bersama lainnya dengan wildcard, glob, atau filter usia daripada dengan jalur bernama spesifik
  • Termasuk detail sensitif dalam konten yang dikirim, diunggah, dipublikasikan, atau ditulis ke orang lain atau sistem bersama, ketika pesan Anda sendiri tidak mengotorisasi detail tersebut untuk penerima itu. {/* min-version: 2.1.200 /}Badan PR dan issue, pesan komit, dan komentar dihitung sebagai jenis konten keluar ini ketika repositori berada di luar batas kepercayaan atau publik, termasuk repositori publik organisasi Anda sendiri; jalur file internal, nama kode, data respons API langsung seperti email atau pengenal akun, dan pengenal infrastruktur dihitung sebagai detail sensitif. Scoping PR, issue, dan pesan komit memerlukan Claude Code v2.1.200 atau lebih baru. {/ min-version: 2.1.203 */}Data pribadi langsung dari respons API dalam badan PR atau issue, seperti alamat email, pengenal akun atau organisasi, atau metrik penggunaan, memerlukan Anda untuk menyebutkan detail tersebut dan penerima terlepas dari visibilitas atau batas kepercayaan repositori. Pemeriksaan itu memerlukan Claude Code v2.1.203 atau lebih baru
  • Mengirim keystroke ke pane tmux Claude Code sendiri untuk menjalankan antarmukanya sendiri, yang pengklasifikasi perlakukan sebagai Claude mengubah izin atau pengawasannya sendiri

Claude Code v2.1.200 dan lebih baru juga memblokir ini secara default:

  • Mengomentari, menghapus, atau force-passing test atau assertion yang menjaga perilaku keamanan, seperti auth, kontrol akses, validasi input, atau sandboxing
  • Menghapus atau merobohkan sumber daya stateful yang tidak dibuat Claude dalam sesi, ketika tidak ada aturan penghapusan yang lebih spesifik berlaku dan Anda tidak menyebutkan sumber daya itu
  • Menunjuk ulang URL dasar API, endpoint proxy, penerima webhook, atau mirror registri ke host pihak ketiga yang tidak sesuai dengan tugas, termasuk dalam file contoh seperti .env.example
  • Mengubah ke mana push pergi dengan git remote set-url atau git remote add, kecuali Anda menyebutkan remote baru
  • Mendorong rahasia atau data pribadi atau terpercaya ke repositori yang diketahui publik, atau mendorong materi rahasia lainnya ke sana yang bukan bagian dari pekerjaan repositori itu sendiri. {/* min-version: 2.1.203 */}Subjek repositori dotfiles itu sendiri adalah satu-satunya pengecualian untuk data pribadi atau terpercaya, dan konten dari repositori pribadi yang mencapai permukaan publik apa pun diblokir dengan cara yang sama; kedua penyempurnaan memerlukan Claude Code v2.1.203 atau lebih baru. Sebelum v2.1.203, data pribadi dikelompokkan dengan materi rahasia dan diblokir hanya ketika itu bukan bagian dari pekerjaan repositori itu sendiri. Ketika visibilitas repositori tidak ditetapkan, pengklasifikasi tidak memblokir itu saja; itu menilai konten terhadap aturan lain sebagai gantinya
  • Membuka permintaan tarik terhadap repositori atau organisasi yang berbeda, forking dengan gh repo fork, atau mendorong ke repositori pihak ketiga, kecuali Anda menyebutkan target eksternal itu

Claude Code v2.1.203 dan lebih baru juga memblokir ini secara default:

  • Konten dari toko lokal sensitif, atau dari file yang nama, jalur, atau jenisnya menandainya sebagai sensitif, memasuki komit, push, teks PR atau issue, gist atau paste, atau package publish, kecuali Anda menyebutkan sumber dan tujuan. Transkrip sesi dan log percakapan, folder dot kredensial dan konfigurasi seperti kunci SSH, kredensial cloud, profil browser, dan riwayat shell, dan ekspor data pengguna semuanya dihitung, dan repositori yang pribadi tidak menghapusnya

Claude Code v2.1.205 dan lebih baru juga memblokir ini secara default:

  • Menulis ke transkrip sesi Claude Code, file riwayat .jsonl di bawah ~/.claude/projects/ atau direktori konfigurasi Anda yang dikonfigurasi, baik secara langsung atau melalui perintah shell. Aturan ini juga mencakup baris metadata yang Claude Code tambahkan ke setiap entri transkrip untuk pemeriksaannya sendiri. Transkrip adalah status sesi yang ditulis Claude Code, bukan file kerja, dan entri yang dirusak mencapai setiap pemeriksaan nanti setelah Anda melanjutkan sesi, jadi mode otomatis memblokir penulisan ini sebagai pertahanan berlapis. Membaca transkrip tidak diblokir
  • Penghapusan paksa rekursif seperti rm -rf "$VAR" atau Remove-Item -Recurse -Force $dir yang targetnya adalah variabel shell, atau glob yang berakar pada satu, yang tidak ditugaskan di mana pun dalam percakapan yang dilihat pengklasifikasi. Nilai berasal hanya dari output perintah sebelumnya, yang tidak pernah diterima pengklasifikasi, jadi pengklasifikasi tidak dapat memverifikasi target penghapusan terhadap aturan penghapusan lainnya. Pengklasifikasi membaca percakapan daripada output perintah dengan desain, jadi itu memblokir panggilan daripada menebak target. Blokir jelas ketika Anda menyebutkan jalur yang tepat dihapus, atau ketika Claude menjalankan ulang penghapusan dengan jalur literal yang diselesaikan ditulis ke dalam perintah. Penghapusan yang targetnya dapat diselesaikan pengklasifikasi tidak terpengaruh

Diizinkan secara default:

  • Operasi file lokal di direktori kerja Anda
  • Menginstal dependensi yang dideklarasikan dalam file kunci atau manifes Anda
  • Membaca .env dan mengirim kredensial ke API yang cocok
  • Permintaan HTTP read-only
  • Push ke cabang yang Anda mulai atau yang dibuat Claude

Claude Code v2.1.195 dan lebih baru juga memungkinkan ini secara default:

  • Menghapus pekerjaan yang tepat yang dibuat Claude sebelumnya dalam sesi yang sama
  • Membaca, meninjau, atau menulis kode, konfigurasi, dan model ancaman terkait keamanan sebagai bagian dari tugas Anda
  • Pesan antara agen yang bekerja bersama dalam sesi multi-agen yang sama
  • Mengirim data ke domain terpercaya, bucket, dan layanan yang Anda daftarkan di environment. Ini mencakup aliran data saja, bukan operasi destruktif atau kredensial pada infrastruktur yang sama
  • Navigasi Claude di Chrome ke domain internal terpercaya, localhost, atau URL yang Anda beri nama

Permintaan akses jaringan sandbox dirutekan melalui pengklasifikasi daripada diizinkan secara default. {/* min-version: 2.1.198 */}Mulai dari v2.1.198, pengklasifikasi menggunakan kembali vonis untuk host dan port jaringan daripada menjalankan ulang pada setiap koneksi:

  • Izin digunakan kembali sampai konten baru memasuki percakapan, di mana titik host itu diperiksa lagi
  • Di CLI interaktif, penolakan dijatuhkan ketika giliran berakhir
  • Di mode non-interaktif dan sesi Agent SDK tidak ada batas giliran, jadi penolakan digunakan kembali untuk sisa jalannya
  • Mengubah mode izin atau aturan Anda menjatuhkan semua vonis yang di-cache

Jalankan claude auto-mode defaults untuk melihat daftar aturan lengkap. Jika tindakan rutin diblokir, administrator dapat menambahkan repo terpercaya, bucket, dan layanan melalui pengaturan autoMode.environment: lihat Konfigurasi mode otomatis.

Batas yang Anda nyatakan dalam percakapan

Pengklasifikasi memperlakukan batas yang Anda nyatakan dalam percakapan sebagai sinyal blokir. Jika Anda memberi tahu Claude "jangan push" atau "tunggu sampai saya tinjau sebelum deploy", pengklasifikasi memblokir tindakan yang cocok bahkan ketika aturan default akan mengizinkannya. Batas tetap berlaku sampai Anda mengangkatnya dalam pesan yang lebih baru. Penilaian Claude sendiri bahwa kondisi terpenuhi tidak mengangkatnya.

Batas tidak disimpan sebagai aturan. Pengklasifikasi membaca ulang dari transkrip pada setiap pemeriksaan, jadi batas dapat hilang jika pemadatan konteks menghapus pesan yang menyatakannya. Untuk jaminan keras, tambahkan aturan deny sebagai gantinya.

Ketika mode otomatis jatuh kembali

Setiap tindakan yang ditolak menunjukkan notifikasi dan muncul di /permissions di bawah tab Recently denied, di mana Anda dapat menekan r untuk mencoba ulang dengan persetujuan manual.

Jika pengklasifikasi memblokir tindakan 3 kali berturut-turut atau 20 kali total, mode otomatis dijeda dan Claude Code melanjutkan prompting. Menyetujui tindakan yang diminta melanjutkan mode otomatis. Ambang batas ini tidak dapat dikonfigurasi. Tindakan yang diizinkan apa pun mengatur ulang penghitung berturut-turut, sementara penghitung total bertahan untuk sesi dan hanya direset ketika batasnya sendiri memicu fallback.

Dalam mode non-interaktif dengan flag -p, blokir berulang membatalkan sesi karena tidak ada pengguna untuk diminta.

Blokir berulang biasanya berarti pengklasifikasi kehilangan konteks tentang infrastruktur Anda. Gunakan /feedback untuk melaporkan positif palsu, atau minta administrator untuk mengkonfigurasi infrastruktur terpercaya.

Setiap tindakan melalui urutan keputusan yang tetap. Langkah pertama yang cocok menang:
1. Tindakan yang cocok dengan [aturan allow atau deny Anda](/anthropic/claude-code/history/docs/id/2026-07-09-2358..2026-07-10-1700/permissions/#manage-permissions) diselesaikan segera, kecuali penulisan ke [jalur yang dilindungi](#protected-paths), yang dirutekan ke pengklasifikasi bahkan ketika aturan allow cocok
2. Tindakan read-only dan pengeditan file di direktori kerja Anda disetujui otomatis, kecuali penulisan ke [jalur yang dilindungi](#protected-paths)
3. Semuanya yang lain pergi ke pengklasifikasi. {/* min-version: 2.1.199 */}Mulai dari v2.1.199, alat MCP yang ditandai dengan [`_meta["anthropic/requiresUserInteraction"]`](/id/mcp#require-approval-for-a-specific-tool) melewati pengklasifikasi dan meminta Anda secara langsung, jadi langkah persetujuan tidak pernah disetujui otomatis atas nama penulis alat
4. Jika pengklasifikasi memblokir, Claude menerima alasan dan mencoba alternatif

Saat memasuki mode otomatis, aturan allow luas yang memberikan eksekusi kode arbitrer dijatuhkan:

* Blanket `Bash(*)` atau `PowerShell(*)`
* Penafsir yang diberi wildcard seperti `Bash(python*)`
* Perintah run manajer paket
* Aturan `Agent` allow

Aturan sempit seperti `Bash(npm test)` dibawa. Aturan yang dijatuhkan dipulihkan ketika Anda meninggalkan mode otomatis.

Pengklasifikasi melihat pesan pengguna, panggilan alat, dan konten CLAUDE.md Anda. Hasil alat dilepas, jadi konten bermusuhan dalam file atau halaman web tidak dapat memanipulasinya secara langsung. Probe sisi server terpisah memindai hasil alat masuk dan menandai konten mencurigakan sebelum Claude membacanya. Untuk lebih lanjut tentang cara lapisan ini bekerja bersama, lihat [pengumuman mode otomatis](https://claude.com/blog/auto-mode) dan [penggalian teknis](https://www.anthropic.com/engineering/claude-code-auto-mode).
Bagaimana mode otomatis menangani subagen

Pengklasifikasi memeriksa pekerjaan subagen di tiga titik:

  1. Sebelum subagen dimulai, deskripsi tugas yang didelegasikan dievaluasi, jadi tugas yang terlihat berbahaya diblokir pada waktu spawn.
  2. Saat subagen berjalan, setiap tindakannya melalui pengklasifikasi dengan aturan yang sama seperti sesi induk, dan permissionMode apa pun di frontmatter subagen diabaikan.
  3. Ketika subagen selesai, pengklasifikasi meninjau riwayat tindakan lengkapnya; jika pemeriksaan pengembalian menandai kekhawatiran, peringatan keamanan ditambahkan ke hasil subagen.

Langkah 1 memerlukan Claude Code v2.1.178 atau lebih baru. Versi sebelumnya menerapkan pengklasifikasi pada langkah 2 dan 3, tetapi tidak mengevaluasi deskripsi tugas sebelum subagen dimulai.

Biaya dan latensi

Pengklasifikasi berjalan pada model yang dikonfigurasi server yang independen dari pilihan /model Anda, jadi beralih model tidak mengubah ketersediaan pengklasifikasi. Panggilan pengklasifikasi dihitung terhadap penggunaan token Anda. Setiap pemeriksaan mengirim sebagian dari transkrip ditambah tindakan yang tertunda, menambahkan perjalanan bolak-balik sebelum eksekusi. Pembacaan dan pengeditan direktori kerja di luar jalur yang dilindungi melewati pengklasifikasi, jadi overhead terutama berasal dari perintah shell dan operasi jaringan. {/* min-version: 2.1.198 */}Mulai dari v2.1.198, vonis jaringan sandbox untuk host dan port digunakan kembali daripada diklasifikasi ulang pada setiap koneksi, jadi koneksi berulang ke host yang sama tidak masing-masing menambahkan pemeriksaan. Apa yang diblokir pengklasifikasi secara default menjelaskan berapa lama izin dan penolakan berlangsung.

Izinkan hanya alat yang telah disetujui sebelumnya dengan mode dontAsk

Mode dontAsk auto-deny setiap panggilan alat yang akan meminta sebaliknya. Bilah status menunjukkan ⏵⏵ don't ask on saat mode ini aktif. Hanya tindakan yang cocok dengan aturan permissions.allow Anda dan perintah Bash read-only yang dapat dijalankan; aturan ask eksplisit ditolak daripada meminta. {/* min-version: 2.1.199 */}Mulai dari v2.1.199, alat MCP yang ditandai dengan _meta["anthropic/requiresUserInteraction"] juga ditolak dalam mode ini bahkan ketika aturan allow cocok dengannya, karena kartu persetujuannya memerlukan jawaban yang tidak akan pernah dikumpulkan mode ini. Ini membuat mode sepenuhnya non-interaktif untuk pipeline CI atau lingkungan terbatas di mana Anda pre-define dengan tepat apa yang Claude boleh lakukan. Sesi cloud di Claude Code di web mengabaikan defaultMode: "dontAsk"; lihat bypassPermissions untuk detail.

Atur saat startup dengan flag:

claude --permission-mode dontAsk

Lewati semua pemeriksaan dengan mode bypassPermissions

Mode bypassPermissions menonaktifkan prompt izin dan pemeriksaan keamanan sehingga panggilan alat dijalankan segera. Sejak v2.1.126 ini mencakup penulisan ke jalur yang dilindungi, yang versi sebelumnya masih meminta. Aturan ask yang eksplisit masih memaksa prompt dalam mode ini, dan penghapusan yang menargetkan akar sistem file atau direktori home, seperti rm -rf / dan rm -rf ~, masih meminta sebagai pemutus sirkuit terhadap kesalahan model. {/* min-version: 2.1.199 */}Sejak v2.1.199, alat MCP yang ditandai dengan _meta["anthropic/requiresUserInteraction"] juga masih meminta. Hanya gunakan mode ini di lingkungan terisolasi seperti kontainer, VM, atau dev container tanpa akses internet, di mana Claude Code tidak dapat merusak sistem host Anda.

Anda tidak dapat memasukkan bypassPermissions dari sesi yang dimulai tanpa salah satu flag yang mengaktifkan; restart dengan salah satu untuk mengaktifkannya:

claude --permission-mode bypassPermissions

Flag --dangerously-skip-permissions setara.

Di Linux dan macOS, Claude Code menolak untuk memulai dalam mode ini saat berjalan sebagai root atau di bawah sudo:

--dangerously-skip-permissions cannot be used with root/sudo privileges for security reasons

Pemeriksaan dilewati secara otomatis di dalam sandbox yang dikenali. Untuk menjalankan secara otonom dalam kontainer, gunakan konfigurasi dev container, yang menjalankan Claude Code sebagai pengguna non-root.

Claude Code di web tidak menghormati defaultMode: "bypassPermissions" atau "dontAsk" dari file pengaturan Anda, jadi pengaturan yang diperiksa dalam repositori tidak dapat memulai sesi cloud dalam mode bypass-permissions. Pengaturan diabaikan secara diam-diam dan sesi dimulai dalam mode yang ditampilkan di dropdown mode sebagai gantinya. Lihat Beralih mode izin untuk mode mana yang ditawarkan sesi cloud.

Jalur yang dilindungi

Penulisan ke serangkaian jalur kecil tidak pernah disetujui otomatis, di setiap mode kecuali bypassPermissions. Ini mencegah kerusakan yang tidak disengaja dari status repositori dan konfigurasi Claude sendiri.

Mode Penulisan jalur yang dilindungi
default, acceptEdits, plan Diminta
auto Dirutekan ke pengklasifikasi
dontAsk Ditolak
bypassPermissions Diizinkan

Aturan permissions.allow dalam file pengaturan tidak pra-menyetujui penulisan jalur yang dilindungi. Pemeriksaan keamanan berjalan sebelum Claude Code mengevaluasi aturan allow dari pengaturan, jadi entri seperti Edit(.claude/**) dalam ~/.claude/settings.json atau .claude/settings.json tidak mengubah hasil per-mode dalam tabel di atas. Dalam mode yang meminta, prompt untuk penulisan .claude/ menawarkan Ya, dan izinkan Claude untuk mengedit pengaturannya sendiri untuk sesi ini, yang menyetujui penulisan .claude/ berikutnya dalam sesi itu tanpa meminta lagi.

Direktori yang dilindungi:

  • .git
  • .config/git
  • .vscode
  • .idea
  • .husky
  • .cargo
  • .devcontainer
  • .yarn
  • .mvn
  • .claude, kecuali untuk .claude/worktrees di mana Claude menyimpan git worktrees-nya sendiri

File yang dilindungi:

  • .gitconfig, .gitmodules
  • .bashrc, .bash_profile, .bash_login, .bash_aliases, .bash_logout, .zshrc, .zprofile, .zshenv, .zlogin, .zlogout, .profile, .envrc
  • .npmrc, .yarnrc, .yarnrc.yml, .pnp.cjs, .pnp.loader.mjs, .pnpmfile.cjs, bunfig.toml, .bunfig.toml
  • .bazelrc, .bazelversion, .bazeliskrc
  • .pre-commit-config.yaml, lefthook.yml, lefthook.yaml, .lefthook.yml, .lefthook.yaml
  • gradle-wrapper.properties, maven-wrapper.properties
  • .devcontainer.json
  • .ripgreprc, pyrightconfig.json
  • .mcp.json, .claude.json

Lihat juga

  • Permissions: aturan allow, ask, dan deny; kebijakan terkelola
  • Konfigurasi mode otomatis: beri tahu pengklasifikasi infrastruktur mana yang dipercaya organisasi Anda
  • Hooks: logika izin kustom melalui hook PreToolUse dan PermissionRequest
  • Ultraplan: jalankan mode rencana dalam sesi Claude Code di web dengan tinjauan berbasis browser
  • Security: perlindungan dan praktik terbaik
  • Sandboxing: isolasi filesystem dan jaringan untuk perintah Bash
  • Mode non-interaktif: jalankan Claude Code dengan flag -p