Jawaban singkat untuk pertanyaan yang paling sering diajukan pembaca tentang topik ini.
01Model Claude Code mana yang mendukung context window 1M?
Fable 5, Sonnet 5, Opus 4.6 ke atas, dan Sonnet 4.6. Di Anthropic API, Fable 5, Sonnet 5, serta Opus 4.7 ke atas selalu berjalan dengan jendela 1M. Ketersediaan pada paket langganan berbeda: Opus termasuk pada Max, Team, dan Enterprise, sedangkan Sonnet 4.6 dengan context 1M butuh usage credits di semua paket langganan.
02Apakah context window 1M memakan biaya tambahan di Claude Code?
Jendelanya sendiri memakai harga model standar tanpa premi untuk token di atas 200K. Pada paket yang extended context-nya termasuk dalam langganan, pemakaiannya tetap ditanggung langganan. Pada paket yang menjangkaunya lewat usage credits, token itu ditagihkan ke credits — tidak ada tarif long-context terpisah.
03Bagaimana membatasi Claude Code ke context window 200K?
Setel CLAUDE_CODE_DISABLE_1M_CONTEXT ke 1. Claude Code menghapus varian 1M dari model picker dan memperlakukan model berjendela 1M native, seperti Sonnet 5 dan Fable 5, seolah punya 200K. Menaikkan auto-compact window di atas 200K tidak akan melepas batas itu, karena jendela tersebut dibatasi oleh context window modelnya.
04Kenapa sesi Sonnet 5 saya melakukan compact lebih awal dari perkiraan?
Dua konfigurasi menganggarkannya 200K alih-alih 1M. Di balik LLM gateway, Claude Code tidak bisa memverifikasi dukungan 1M, jadi pilih entri 1M di model picker untuk mendapat jendela penuh. Penyebab lainnya adalah CLAUDE_CODE_DISABLE_1M_CONTEXT yang tersetel di suatu tempat — shell, blok env pada settings, atau managed settings.
05Bagaimana menyetel auto-compact window Claude Code?
Ada tiga tempat, berurutan prioritas: environment variable CLAUDE_CODE_AUTO_COMPACT_WINDOW, launch flag --autocompact, dan command /autocompact yang menyimpan ke user settings. Nilainya dari 100K sampai 1M dan menerima bentuk seperti 200000, 500k, atau 1M. Flag-nya tidak bisa didahului managed settings; command-nya bisa.
Context Window 1M Claude Code: Kapan Membantu, Kapan Merugikan
Jendela sejuta token tidak menghapus kebutuhan mengelola konteks. Ia mengubah kapan compaction menyala, dan pada sebagian setup layak dibatasi di 200K.
Claude Code mendukung context window satu juta token pada Fable 5, Sonnet 5, Opus 4.6 ke atas, dan Sonnet 4.6, dengan ketersediaan berbeda per paket. Ia memakai harga model standar tanpa premi di atas 200K token. Jendela itu mengubah kapan auto-compaction menyala, bukan apakah Anda perlu mengelola konteks, dan ia bisa dibatasi ke 200K secara sengaja.
Sesi panjang pertama yang saya jalankan di jendela sejuta token melangkah lebih jauh daripada sesi mana pun sebelumnya, lalu menghasilkan jawaban terburuknya di akhir. Tidak ada yang gagal. Percakapannya memang raksasa, keputusan yang relevan sudah dibuat tiga ratus ribu token sebelumnya, dan saya berhenti melakukan satu hal yang dulu menjaga sesi tetap tajam: membuang apa yang sudah tidak penting.
Jendela yang lebih besar memang berguna, dan ia bukan pengganti disiplin konteks. Tulisan ini membahas siapa yang mendapat jendela 1M pada paket mana, bagaimana ambang auto-compaction sebenarnya ditentukan, tiga tempat untuk menyetelnya dan mana yang menang, kenapa Anda mungkin sengaja membatasi jendelanya, dan apa yang rusak ketika ada gateway di tengah.
Siapa yang mendapatkannya, dan pada paket apa
Extended context didukung pada Fable 5, Sonnet 5, Opus 4.6 ke atas, dan Sonnet 4.6. Ketersediaannya lalu bergantung pada paket Anda, dan pembagiannya bukan seperti dugaan orang — Opus dan Sonnet 4.6 diperlakukan berbeda pada langganan yang sama.
Extended context per paket:
Paket
Opus dengan context 1M
Sonnet 4.6 dengan context 1M
Max, Team, dan Enterprise
Termasuk dalam langganan
Butuh usage credits
Pro
Butuh usage credits
Butuh usage credits
API dan pay-as-you-go
Akses penuh
Akses penuh
Claude Code hanya memeriksa syarat paket itu ketika menyambung langsung ke Anthropic API. Arahkan base URL ke sebuah gateway sementara login tersimpan Anda tetap jadi kredensial aktif, dan ia berhenti memeriksa usage credits — opsi 1M tetap ada di picker dan gateway-lah yang menentukan apakah request berhasil. Itu perbedaan perilaku yang nyata, bukan celah yang layak diandalkan.
Sonnet 5 tidak punya versi 200K untuk dijadikan cadangan
Di Anthropic API, Sonnet 5 selalu berjalan dengan jendela sejuta token. Tidak ada varian 200K, tidak ada sufiks untuk dipilih, dan tidak ada usage credits yang dibutuhkan di paket mana pun. Sesi melakukan auto-compact sebelum jendelanya penuh, di sekitar 967 ribu token secara default.
Dua konfigurasi menganggarkannya 200K, dan keduanya layak dikenali karena gejalanya identik — sesi yang melakukan compact jauh lebih awal daripada dugaan Anda. Di balik gateway, Claude Code tidak bisa memverifikasi dukungan 1M, jadi ia menganggarkan secara konservatif sampai Anda memilih entri 1M di model picker. Dan variabel disable menahan setiap model berjendela 1M native ke 200K secara desain.
Tiga tempat menyetel jendelanya, dan mana yang menang
Auto-compact window adalah seberapa penuh konteks boleh terisi sebelum Claude Code memadatkan percakapan. Ia disetel di tiga tempat dengan prioritas ketat, dan yang di tengah punya sifat yang layak diketahui: launch flag tidak bisa didahului oleh scope setting berprioritas lebih tinggi, sedangkan command bisa.
# Three places to set the auto-compact window, in order of
# precedence. Accepts 100K to 1M tokens.
# 1. Environment variable — beats everything, and /autocompact
# reports the override instead of changing anything.
CLAUDE_CODE_AUTO_COMPACT_WINDOW=500000
# 2. The launch flag — overrides your saved setting for one
# launch without changing it. NOT preempted by managed settings.
claude --autocompact 500k
claude --autocompact auto # the window tuned for your model
# 3. The command, which saves to your user settings.
/autocompact 500k
/autocompact auto
# Accepted forms: 200000, 500k, 1M, or a bare 100-1000 meaning
# thousands. The env var takes ONLY the plain token count.
# Claude Code caps the window at the model's real context window.
Kalau Anda menjalankan command autocompact dan sesinya tetap memakai jendela lama, itu bukan bug — ada scope berprioritas lebih tinggi seperti managed settings yang menyediakannya. Claude Code tetap menyimpan nilai Anda untuk nanti dan memberi tahu bahwa ia melakukannya. Launch flag adalah jalan menembusnya untuk satu sesi tanpa berdebat dengan setting organisasi Anda.
Membatasi jendelanya dengan sengaja
Mematikan jendela besar terdengar aneh sampai Anda punya alasannya. Deployment yang butuh batas atas yang bisa diprediksi, kendali biaya yang mengasumsikan percakapan terbatas, dan perbandingan di mana Anda ingin dua sesi berperilaku sama semuanya alasan yang sah. Perilakunya saat Anda melakukan itu spesifik, dan interaksinya dengan auto-compact window sering menjebak orang.
# Cap every model at 200K, including ones with a native 1M
# window such as Sonnet 5 and Fable 5.
CLAUDE_CODE_DISABLE_1M_CONTEXT=1
# - 1M variants disappear from the /model picker
# - with auto-compaction ON, sessions compact at 200K.
# Setting the auto-compact window above 200K does NOT lift
# the hold, because the window is capped at the model's
# context window and the model is now treated as 200K.
# - with auto-compaction OFF, sessions stop at 200K with the
# context-limit error instead of compacting.
# Behind a gateway, Claude Code cannot verify 1M support, so a
# Sonnet 5 session budgets 200K. Pick the 1M entry in the model
# picker to get the full window back.
Gateway dan ID model kustom: tiga kasus, bukan satu
Pada gateway atau deployment kustom, Claude Code bisa mengasumsikan context window untuk sebuah ID model yang berbeda dari aslinya. Ada variabel untuk mendeklarasikan jendela yang benar, dan cara ia berlaku sepenuhnya bergantung pada bentuk ID-nya:
ID yang tidak diawali prefiks Claude, tidak memuat penanda 1M, dan tidak bisa diresolusi ke model Claude: variabelnya berlaku langsung dan compaction proaktif berjalan pada jendela yang dideklarasikan.
ID yang memuat penanda 1M tetapi selebihnya tak dikenali: Claude Code mengasumsikan jendela 1M dan variabelnya tidak berlaku sendirian. Setel juga variabel disable, dan harapkan peringatan startup bahwa batas 200K tidak ditegakkan — peringatan itu memang wajar pada konfigurasi ini.
ID yang diawali prefiks Claude atau bisa diresolusi ke model Claude: variabelnya baru berlaku ketika compaction dimatikan sepenuhnya. Claude Code meresolusi ID yang memuat nama model Claude ke model tersebut, bahkan yang membawa penanda 1M sekalipun.
Untuk ID model yang sama sekali tidak dikenali Claude Code, ada variabel yang membuatnya memadatkan percakapan hanya setelah API menolaknya karena terlalu panjang. Pemulihan itu tidak berjalan ketika gateway menulis ulang error-nya menjadi kalimat yang tidak dikenali Claude Code — dan itu persis situasi ketika Anda paling membutuhkannya. Kalau Anda menjalankan gateway, periksa dulu apa yang ia lakukan pada body error sebelum mengandalkan jalur tersebut.
Harganya lebih sederhana daripada konfigurasinya
Jendela 1M memakai harga model standar tanpa premi untuk token di atas 200 ribu. Pada paket yang extended context-nya termasuk dalam langganan, pemakaiannya tetap ditanggung langganan; pada paket yang menjangkaunya lewat usage credits, token itu ditagihkan ke credits. Tidak ada tarif long-context terpisah yang perlu dipikirkan.
Biaya sesungguhnya ada di tempat lain dan tidak tercetak di tagihan. Jendela lebih besar berarti prefix lebih besar untuk di-cache, percakapan lebih panjang untuk diproses ulang setiap kali sesuatu membatalkan cache itu, dan compaction yang jauh lebih mahal ketika akhirnya menyala setelah jeda melebihi masa hidup cache. Melanjutkan sesi yang sangat panjang setelah pembaruan versi adalah kasus terburuk dari ketiganya sekaligus.
Kenapa jendela lebih besar tidak otomatis berarti sesi lebih baik
Studi Anthropic sendiri atas sesi Claude Code menemukan bahwa sesi pengguna ahli lebih panjang, bukan lebih pendek — dua belas aksi dan sekitar 3.200 kata melawan lima aksi dan 600 kata untuk pemula. Panjang bukan masalahnya. Panjang yang tidak dikelola itulah masalahnya. Tiga hal memburuk seiring percakapan membesar, terlepas dari apakah ia muat:
Biaya setiap pembatalan cache sebanding dengan panjang percakapan, jadi ganti model di tengah tugas jauh lebih mahal pada 800K daripada pada 80K.
Compaction setelah jeda idle yang panjang memproses ulang seluruh riwayat sebagai input tanpa cache, dan tagihan itu sebanding dengan jendela yang Anda biarkan terisi.
Keputusan yang dibuat lebih awal memang masih ada di dalam jendela, tetapi ia bersaing dengan semua yang datang sesudahnya — muat tidak sama dengan ditemukan.
Kebiasaan yang selamat saat saya pindah ke jendela besar adalah menyetel ambang auto-compact jauh di bawah batas atas model, bukan tepat di batasnya. Compaction pada titik yang saya pilih, di antara tugas, jauh lebih murah daripada compaction yang menyala di tengah tugas setelah jeda idle. Jendela itu ruang cadangan untuk tugas yang memang membutuhkannya, bukan target untuk diisi.
Perlakukan jendela sejuta token sebagai asuransi, bukan sebagai kapasitas. Ia berarti sesi yang memang perlu membaca separuh repository tidak mati di tengah jalan, dan itu bernilai besar. Ia tidak berarti sesi yang sudah berjalan sejak pagi tadi masih layak diteruskan, dan disiplin yang membuat 200K bisa dikerjakan — compact di batas tugas, rewind alih-alih compact saat meninggalkan jalur, mulai baru saat topiknya berubah — persis disiplin yang membuat 1M layak dimiliki.