Environment
- Hermes Agent: latest (main, ba57ebe)
- OpenClaw: 2026.5.7
- OS: macOS 15.x (Apple Silicon)
- Migration command:
hermes claw migrate --preset full
Problem
When hermes claw migrate is run against an OpenClaw installation in gateway.mode: "remote", the tool completes successfully and reports items as migrated, but the actual OpenClaw configuration (model, channels, MCPs, cron jobs, agent defaults, approvals) produces ~33 "No X configuration found" skip entries with no explanation.
There is no warning that the source directory is a thin remote-mode client whose configuration lives on a remote server, not in the local openclaw.json.
Steps to reproduce
Create a minimal openclaw.json that reflects the remote-mode client schema:
```json
{
"gateway": {
"mode": "remote",
"remote": {
"url": "wss://your-server/gateway",
"token": "..."
}
},
"commands": { "native": "auto" },
"meta": { "lastTouchedVersion": "2026.5.7" }
}
```
Run:
```
hermes claw migrate --source /path/to/.openclaw --preset full --dry-run
```
Observe the output: no errors, no warnings about the config being a remote client, and 20+ categories skipped silently.
Expected behavior
When the migration detects gateway.mode: "remote" and the local openclaw.json lacks agents, channels, models, and other server-side keys, it should warn the user:
Warning: this OpenClaw directory appears to be a remote-mode client. The full configuration (model settings, channels, MCPs, cron jobs) lives on the remote server, not in this local directory. Only workspace files and skills will be migrated. To migrate the complete configuration, run this tool against the server's OpenClaw directory instead.
Impact
Users running OpenClaw in remote mode get a near-empty migration with no indication that the bulk of their configuration (channels, models, MCP servers, cron jobs, approval rules) was never read, because it lives on the remote server rather than in the local openclaw.json. The summary reports no errors, so there is no signal anything was missed.
Environment
hermes claw migrate --preset fullProblem
When
hermes claw migrateis run against an OpenClaw installation ingateway.mode: "remote", the tool completes successfully and reports items as migrated, but the actual OpenClaw configuration (model, channels, MCPs, cron jobs, agent defaults, approvals) produces ~33 "No X configuration found" skip entries with no explanation.There is no warning that the source directory is a thin remote-mode client whose configuration lives on a remote server, not in the local
openclaw.json.Steps to reproduce
Create a minimal
openclaw.jsonthat reflects the remote-mode client schema:```json
{
"gateway": {
"mode": "remote",
"remote": {
"url": "wss://your-server/gateway",
"token": "..."
}
},
"commands": { "native": "auto" },
"meta": { "lastTouchedVersion": "2026.5.7" }
}
```
Run:
```
hermes claw migrate --source /path/to/.openclaw --preset full --dry-run
```
Observe the output: no errors, no warnings about the config being a remote client, and 20+ categories skipped silently.
Expected behavior
When the migration detects
gateway.mode: "remote"and the localopenclaw.jsonlacksagents,channels,models, and other server-side keys, it should warn the user:Impact
Users running OpenClaw in remote mode get a near-empty migration with no indication that the bulk of their configuration (channels, models, MCP servers, cron jobs, approval rules) was never read, because it lives on the remote server rather than in the local
openclaw.json. The summary reports no errors, so there is no signal anything was missed.