
Ada bug OpenClaw yang cukup sempit, tapi dampaknya bisa bikin recovery makin berantakan. Saat openclaw setup --baseline dijalankan terhadap file config yang malformed atau root-nya bukan object, command tersebut dapat menganggap config tidak ada, keluar dengan status sukses, lalu mengganti isi file lama dengan baseline config baru.
Fix resminya sudah di-merge ke branch main pada 21 Juli 2026 lewat PR #112010. Namun pada saat artikel ini ditulis, stable release terbaru masih v2026.7.1. Artinya, pengguna stable belum boleh menganggap fix tersebut sudah tersedia hanya karena kodenya sudah masuk ke repository.
Apa yang sebenarnya terjadi
Jalur yang terdampak adalah:
openclaw setup --baseline
Sebelum fix, baseline setup memakai parsing yang terlalu permisif. Config yang tidak valid bisa diperlakukan seperti config kosong atau belum ada. Command kemudian membuat baseline baru dan melanjutkan pembuatan workspace atau session state.
Masalah utamanya bukan sekadar command gagal membaca config. Ia bisa:
- keluar dengan status
0seolah setup berhasil; - mengubah hash dan isi file config lama;
- mengganti config bermasalah dengan baseline config baru;
- membuat workspace atau session state setelah file lama tertimpa.
Kalau operator sedang mencoba recovery, perilaku seperti ini berbahaya. Config yang rusak biasanya masih menyimpan petunjuk penting: provider, channel, binding, path workspace, atau perubahan terakhir yang memicu error. Begitu file itu ditimpa, proses diagnosis kehilangan evidence asli.
Config seperti apa yang terdampak
Berdasarkan test resmi di PR, kasus yang diperiksa mencakup:
- JSON atau JSON5 malformed;
- root config berupa string;
- root config berupa array;
- root config berupa
null; - konflik saat config berubah setelah snapshot dibaca.
Jadi ini bukan cuma masalah satu koma yang hilang. Struktur config yang valid secara sintaks tetapi salah tipe juga termasuk jalur yang harus ditolak, bukan diam-diam diganti.
Apa yang diubah oleh fix
Fix memindahkan baseline setup ke jalur canonical config snapshot-for-write. Setelah perubahan ini, OpenClaw seharusnya:
- membaca config melalui mekanisme snapshot yang sama dengan mutation config lain;
- menolak config malformed atau root non-object;
- mempertahankan byte file asli;
- keluar dengan status nonzero;
- mengarahkan operator ke
openclaw doctor; - tidak membuat workspace atau session directory ketika validasi awal gagal;
- menolak write jika config berubah setelah snapshot diambil.
Maintainer melaporkan sembilan test terfokus lolos. Dalam bukti reproduksinya, kondisi setelah fix menghasilkan rc: 1, file tetap utuh, workspace tidak dibuat, session directory tidak dibuat, dan doctor guidance muncul.
Siapa yang perlu waspada
Risikonya paling relevan jika Anda:
- memakai OpenClaw stable
v2026.7.1atau versi lebih lama; - sedang memperbaiki config yang gagal parse;
- menjalankan ulang baseline setup sebagai langkah recovery;
- punya satu Gateway dengan banyak provider, channel, agent binding, atau workspace;
- mengandalkan backup manual dan belum punya versioned config backup.
Kalau setup berjalan normal dengan config valid, bug ini bukan alasan untuk panik. Scope-nya spesifik pada baseline setup saat config yang sudah ada malformed atau bukan object.
Langkah aman sebelum fix masuk stable
1. Jangan jadikan setup --baseline sebagai langkah pertama
Kalau config bermasalah, inspeksi dan backup dulu. Jangan langsung meminta setup membuat baseline baru di atas file yang belum dipahami.
2. Simpan salinan byte-for-byte
Buat backup dengan nama bertimestamp sebelum command yang dapat menulis config. Pastikan backup berada di lokasi yang tidak ikut ditimpa oleh flow setup.
Contoh prinsipnya:
cp /path/to/openclaw-config.json /path/to/backup/openclaw-config-before-recovery.json
Sesuaikan path dengan instalasi Anda. Jangan menebak lokasi config kalau setup menggunakan path custom.
3. Jalankan diagnosis read-only lebih dulu
Gunakan pemeriksaan config dan openclaw doctor sebelum mutation. Tujuannya sederhana: cari error sambil menjaga evidence asli tetap utuh.
4. Catat checksum sebelum dan sesudah
Untuk server produksi, checksum membantu membuktikan apakah recovery command mengubah file.
sha256sum /path/to/openclaw-config.json
5. Jangan upgrade dari commit main hanya untuk mengejar satu fix
Fix memang sudah merged, tetapi main bukan stable release. Menarik build terbaru hanya demi satu patch bisa membawa perubahan lain yang belum melalui jalur rilis stabil. Untuk production, pilihan lebih waras adalah backup, hindari jalur bermasalah, lalu tunggu stable release yang mencantumkan fix ini.
Apakah perlu upgrade sekarang?
Belum ada stable baru setelah v2026.7.1 saat artikel ini ditulis. Jadi belum ada versi stable yang bisa direkomendasikan khusus untuk bug ini.
Keputusan operasionalnya:
- Config valid dan sistem normal: tidak perlu tindakan darurat.
- Config malformed, belum menjalankan baseline setup: backup file asli, jalankan diagnosis read-only, dan tahan
setup --baseline. - Config mungkin sudah tertimpa: hentikan mutation tambahan, cari backup atau version history, lalu bandingkan file serta state yang dibuat pada waktu setup.
- Mengelola banyak server: tambahkan backup config dan checksum ke SOP recovery sekarang, tanpa menunggu release berikutnya.
Kesimpulan operasional
Bug ini menunjukkan masalah klasik dalam recovery tooling: command yang terlihat membantu justru bisa menghapus evidence yang dibutuhkan untuk memperbaiki sistem.
Sampai fix resmi masuk stable release, anggap openclaw setup --baseline sebagai command yang dapat menulis ulang state. Kalau config sedang rusak, backup dulu, diagnosis dulu, baru lakukan mutation. Jangan biarkan langkah recovery pertama menjadi langkah yang menghilangkan config asli.


