OpenClaw & AI Operasional

Bug OpenClaw setup --baseline Bisa Menimpa Config Rusak: Backup Dulu Sebelum Setup Ulang

Bug OpenClaw dapat membuat setup --baseline menimpa config malformed atau non-object. Fix sudah merged ke main, tetapi belum masuk stable release.

Bug OpenClaw setup --baseline Bisa Menimpa Config Rusak: Backup Dulu Sebelum Setup Ulang

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 0 seolah 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:

  1. membaca config melalui mekanisme snapshot yang sama dengan mutation config lain;
  2. menolak config malformed atau root non-object;
  3. mempertahankan byte file asli;
  4. keluar dengan status nonzero;
  5. mengarahkan operator ke openclaw doctor;
  6. tidak membuat workspace atau session directory ketika validasi awal gagal;
  7. 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.1 atau 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.

Sumber primer

Lanjut membaca

Artikel yang masih relevan