Context Window 1M Claude Code: Kapan Membantu, Kapan Merugikan

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.
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.
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.
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.
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.

Ringkasan Utama
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.
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.
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.
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.
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.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:
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.
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.
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:
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.
Sumber & bacaan lanjutan