Kembali ke panduan
Pemecahan masalah·30 September 2026·Baca 6 menit

Claude Code “Respons terhenti di tengah streaming” dan “Respons streaming berakhir sebelum data lengkap apa pun diterima” — apa yang menghentikan streaming

Kedua pesan berarti jawaban yang dialirkan dari model berhenti sebelum selesai. “Respons di atas mungkin tidak lengkap” dicetak ketika sebagian jawaban telah tiba lalu streaming terhenti, terputus, atau rusak; Claude Code mempertahankan bagian yang tiba, dan membalas continue akan melanjutkan giliran tersebut. “Respons streaming berakhir sebelum data lengkap apa pun diterima” berarti tidak ada data yang dapat digunakan yang tiba sama sekali, sehingga Claude Code mencoba ulang permintaan yang sama tanpa streaming — dan jika hal ini terus terjadi, penyebabnya biasanya adalah proxy atau gateway antara Claude Code dan penyedia model, sebagaimana dinyatakan oleh pesan itu sendiri.

Terakhir ditinjau pada .

Kedua pesan berarti jawaban yang dialirkan dari model berhenti sebelum selesai. “Respons di atas mungkin tidak lengkap” dicetak ketika sebagian jawaban telah tiba lalu streaming terhenti, terputus, atau rusak; Claude Code mempertahankan bagian yang tiba, dan membalas continue akan melanjutkan giliran tersebut. “Respons streaming berakhir sebelum data lengkap apa pun diterima” berarti tidak ada data yang dapat digunakan yang tiba sama sekali, sehingga Claude Code mencoba ulang permintaan yang sama tanpa streaming — dan jika hal ini terus terjadi, penyebabnya biasanya adalah proxy atau gateway antara Claude Code dan penyedia model, sebagaimana dinyatakan oleh pesan itu sendiri.

Error

dicetak oleh Claude Code
API Error: Response stalled mid-stream. The response above may be incomplete.

# the wording in Claude Code's current error reference for the same stall:
API Error: The response stopped arriving. The response above may be incomplete.

# when nothing complete arrived at all:
Streaming response ended before any complete data was received. Retrying without
streaming. If this keeps happening, check any proxy or gateway between Claude Code
and your model provider.

Ringkasan penyebab dan perbaikan

PenyebabPerbaikan
Koneksi tetap terbuka tetapi berhenti mengirimkan data, dan watchdog idle streaming Claude Code membatalkannyaBalas continue. Jika jeda panjang memang wajar pada koneksi Anda, naikkan CLAUDE_STREAM_IDLE_TIMEOUT_MS alih-alih menonaktifkan watchdog.
Koneksi terputus, komputer masuk mode tidur, atau server mengembalikan kesalahan di tengah responsBalas continue; bagian jawaban yang sudah selesai tetap dipertahankan. Periksa VPN, perpindahan Wi-Fi, dan pengaturan tidur jika hal ini berulang.
Proxy atau gateway di antaranya menyangga, memotong, atau menolak streaming — misalnya isi permintaan melebihi batas ukurannyaUji sekali tanpa proxy atau gateway tersebut. Naikkan batas ukuran isi dan waktu tunggu baca proxy, serta nonaktifkan buffering respons untuk rute API.
Hal ini dimulai tepat setelah peningkatan Claude CodeCatat versi di /status. Laporan Juli 2026 mengukur pesan terhenti sebesar 0% pada 2.1.210 dan 3,0–4,4% pada 2.1.217–2.1.218 di mesin yang sama.

Balas continue terlebih dahulu

Claude Code mempertahankan teks dan panggilan alat yang selesai sebelum kegagalan lalu menambahkan pemberitahuan. Dalam sesi interaktif, baca bagian yang tiba dan balas continue: giliran tersebut dilanjutkan dari sana. Dalam proses noninteraktif (claude -p), Claude Code mencetak blok teks terakhir yang selesai diikuti pemberitahuan; lanjutkan sesi tersebut dan kirim continue. Tidak ada hal lain yang perlu diubah jika ini terjadi sekali.

Bedakan pesannya

Referensi kesalahan Claude Code mencantumkan beberapa redaksi respons tidak lengkap berdasarkan penyebab: kesalahan server di tengah respons, koneksi terputus di tengah respons, komputer masuk mode tidur di tengah respons, respons berhenti tiba (stall), sebagian respons tidak pernah tiba, dan aliran respons memiliki format yang rusak. Laporan dari Juli 2026 mengutip redaksi lama untuk stall, “Respons stalled mid-stream”. Pesan terpisah “Streaming response ended before any complete data was received” adalah kasus ketika tidak ada data lengkap yang tiba, sehingga Claude Code mencoba ulang tanpa streaming alih-alih mempertahankan jawaban parsial.

Sesuaikan watchdog, jangan menonaktifkannya

Claude Code menjalankan empat pengatur waktu yang menghentikan aliran ketika tidak ada aktivitas, sehingga koneksi yang terputus mengalami kegagalan dan dicoba ulang alih-alih menggantung: tenggat waktu untuk byte pertama, watchdog tingkat peristiwa (300 detik), watchdog tingkat byte (180 detik pada API Anthropic langsung, 300 detik pada layanan lainnya, termasuk ANTHROPIC_BASE_URL kustom), dan, pada beberapa penyedia, batas waktu tidak aktif pada body selama lima menit. CLAUDE_STREAM_IDLE_TIMEOUT_MS mengatur kedua watchdog; nilai di bawah lima menit dinaikkan menjadi lima menit dan watchdog tingkat byte dibatasi maksimal 30 menit. Masukkan pengaturan ini ke dalam blok env di settings.json agar agen latar belakang juga mendapatkannya:

~/.claude/settings.json
{
  "env": {
    "CLAUDE_STREAM_IDLE_TIMEOUT_MS": "600000"
  }
}

Di balik proxy atau gateway, uji tanpa proxy atau gateway tersebut

Jika pesan percobaan ulang tanpa streaming berulang, keluarkan hop tersebut sekali: hapus HTTPS_PROXY untuk satu sesi, atau atur NO_PROXY="*", lalu jalankan tugas yang sama. Jika masalah berhenti, hop tersebut adalah penyebabnya. Penyebab yang umum adalah batas ukuran isi permintaan yang terlampaui oleh sesi panjang, buffering respons yang mengubah streaming langsung menjadi keheningan panjang, dan waktu tunggu baca yang lebih singkat daripada jeda berpikir model. Perhatikan bahwa batas waktu byte pertama tidak berjalan ketika ANTHROPIC_BASE_URL mengarah ke gateway, tetapi watchdog tingkat byte tetap berjalan.

Jika Anda melakukan panggilan melalui Kunavo

Kunavo adalah salah satu gateway yang dimaksud oleh pesan tersebut, jadi inilah yang dilakukannya pada /v1/messages, endpoint yang dipanggil Claude Code. Streaming upstream ditahan sampai menghasilkan peristiwa konten pertamanya; kesalahan upstream atau streaming kosong sebelum titik tersebut menggagalkan percobaan, yang kemudian dicoba ulang pada kanal lain jika model memilikinya, atau dikembalikan sebagai kesalahan HTTP — tidak pernah sebagai streaming 200 yang berakhir tanpa isi. Stall setelah konten mulai dikirim bukan sesuatu yang dapat dicoba ulang oleh gateway, dan watchdog serta continue Claude Code adalah alat yang tepat untuk menanganinya. Cara streaming berakhir di sisi yang kompatibel dengan OpenAI, serta cara membedakan jawaban lengkap dari jawaban yang terpotong, dijelaskan di Kesalahan streaming API LLM.

Pertanyaan umum

Apa arti “Respons di atas mungkin tidak lengkap” di Claude Code?

Jawaban streaming berhenti setelah sebagian jawaban tiba — karena stall, koneksi terputus, kesalahan server, atau komputer masuk mode tidur. Claude Code mempertahankan teks dan panggilan alat yang selesai lalu menambahkan pemberitahuan. Balas continue dan giliran tersebut dilanjutkan dari bagian yang sudah tiba.

Apakah “Response stalled mid-stream” sama dengan “The response stopped arriving”?

Keduanya menjelaskan kasus yang sama: koneksi tetap terbuka tetapi berhenti mengirimkan data sampai watchdog streaming membatalkannya. Referensi kesalahan Claude Code saat ini menggunakan “The response stopped arriving”; laporan yang dibuat pada Juli 2026 mengutip “Response stalled mid-stream”.

Mengapa Claude Code mengatakan “Retrying without streaming”?

Karena streaming berakhir sebelum data lengkap apa pun diterima, sehingga tidak ada yang dapat dipertahankan. Claude Code mengirim ulang permintaan yang sama tanpa streaming. Jika pesan tersebut terus muncul, periksa proxy atau gateway antara Claude Code dan penyedia — batas ukuran isi, buffering, dan waktu tunggu baca adalah penyebab yang umum.

Haruskah saya menonaktifkan watchdog streaming?

Tidak. Watchdog ada agar koneksi mati gagal dan mencoba ulang alih-alih menggantung sesi tanpa batas. Jika koneksi Anda memang wajar hening dalam waktu lama, naikkan CLAUDE_STREAM_IDLE_TIMEOUT_MS (nilai di bawah lima menit dinaikkan menjadi lima menit) alih-alih mengatur CLAUDE_ENABLE_STREAM_WATCHDOG atau CLAUDE_ENABLE_BYTE_WATCHDOG ke 0.

Apakah penggunaan gateway dengan ANTHROPIC_BASE_URL membuat hal ini lebih mungkin terjadi?

Setiap hop antara Claude Code dan penyedia merupakan tempat tambahan yang dapat menyangga, memotong, atau membuat streaming mengalami timeout, jadi uji tanpa gateway ketika pesan tersebut berulang. Watchdog tingkat byte juga berjalan pada koneksi gateway; batas waktu byte pertama tidak berjalan ketika ANTHROPIC_BASE_URL merutekan melalui gateway.

Panduan terkait

Detail semantik error lainnya tersedia di referensi error; mendapatkan kunci hanya perlu satu menit melalui pendaftaran dan panduan autentikasi.