Install
openclaw skills install rescueclawClawHub Security found sensitive or high-impact capabilities. Review the scan results before using.
Provides automatic checkpoint creation and rollback to safely recover from failures during risky operations like config changes or updates.
openclaw skills install rescueclawProvides checkpoint/rollback safety net for risky operations.
Before modifying config, installing skills, or updating the gateway, create a checkpoint:
const rescueclaw = require('./rescueclaw-checkpoint');
await rescueclaw.createCheckpoint('About to apply config changes');
RescueClaw will take an immediate backup. If the agent goes unresponsive within the rollback window, it auto-restores.
Clear the checkpoint:
const rescueclaw = require('./rescueclaw-checkpoint');
await rescueclaw.clearCheckpoint();
The agent can also invoke RescueClaw CLI directly:
rescueclaw backup — manual snapshotrescueclaw status — check healthrescueclaw list — list backupsThe daemon binary is bundled for supported platforms (linux/arm64). On install, it copies to ~/.local/bin/rescueclaw. For other platforms, download from GitHub Releases.
Data is stored in ~/.openclaw/rescueclaw/ (user-local, no sudo required).
createCheckpoint(reason, rollbackWindowSec = 300)Creates a checkpoint file that RescueClaw monitors. If the agent becomes unresponsive within the rollback window, RescueClaw will immediately restore from the checkpoint backup.
Parameters:
reason (string): Description of what operation is about to be performedrollbackWindowSec (number, optional): How many seconds to monitor for issues (default: 300)Returns: Promise<void>
clearCheckpoint()Removes the checkpoint file, signaling that the risky operation completed successfully.
Returns: Promise<void>
getStatus()Gets RescueClaw daemon status by invoking the CLI.
Returns: Promise<object> with health status details
const fs = require('fs');
const rescueclaw = require('./rescueclaw-checkpoint');
async function updateConfig(newConfig) {
// Create safety checkpoint
await rescueclaw.createCheckpoint('Updating OpenClaw config', 180);
try {
// Perform the risky operation
fs.writeFileSync('~/.openclaw/openclaw.json', JSON.stringify(newConfig));
// Restart gateway
await exec('systemctl restart openclaw-gateway');
// If we get here, it worked!
await rescueclaw.clearCheckpoint();
console.log('✅ Config updated successfully');
} catch (err) {
console.error('❌ Config update failed:', err);
// Don't clear checkpoint - let RescueClaw auto-restore
}
}