easyclaw-config-migration
v0.1.0Migrate settings from EasyClaw into OpenClaw by locating EasyClaw desktop/runtime config files, comparing them with ~/.openclaw/openclaw.json, and safely generating or applying a selective merge. Use when a user mentions EasyClaw, wants to copy settings/configs from EasyClaw into OpenClaw, asks wher...
Installation
EasyClaw Config Migration
Locate three config sources before making changes:
~/Library/Application Support/@cfmind/easyclaw/easyclaw.json— EasyClaw desktop UI settings~/.openclaw/easyclaw.json— EasyClaw/OpenClaw bridge config with reusable runtime settings~/.openclaw/openclaw.json— active OpenClaw config
Most directly reusable settings live in ~/.openclaw/easyclaw.json. The desktop easyclaw.json is mostly UI state and usually does not map cleanly into OpenClaw.
Workflow
1. Inspect and compare
Run:
python3 scripts/report_easyclaw_config.py
This prints: - which files exist - redacted summaries - fields that can be migrated automatically - fields that are desktop-only / no direct OpenClaw equivalent
If you only need a report, stop here and summarize the findings.
2. Review the migration map
Read references/mapping.md when deciding what should be copied automatically versus left for manual review.
Default stance:
- copy only fields with clear semantic equivalents
- do not invent mappings for desktop-only UX settings
- preserve user changes already present in ~/.openclaw/openclaw.json unless the migration is explicitly requested
3. Apply a selective merge
Run:
python3 scripts/merge_easyclaw_config.py --apply
Behavior:
- create a timestamped backup of ~/.openclaw/openclaw.json
- merge only supported fields from ~/.openclaw/easyclaw.json
- print changed paths
Dry run first when practical:
python3 scripts/merge_easyclaw_config.py
4. Validate and summarize
After applying, read ~/.openclaw/openclaw.json or use normal OpenClaw validation/status commands if needed. Summarize:
- what was migrated
- what was intentionally skipped
- where the backup was written
Notes
- Treat tokens, secrets, and auth blobs as sensitive. Redact them in chat unless the user explicitly wants raw values.
- If only the desktop EasyClaw file exists, explain that most of it is app/window preference state and not the main OpenClaw runtime config.
- If both
~/.openclaw/easyclaw.jsonand~/.openclaw/openclaw.jsonexist, prefer a selective merge over wholesale overwrite. - Never overwrite
~/.openclaw/openclaw.jsonwithout creating a backup first.