Skip to content

fix: warn when claw migrate source is a remote-mode OpenClaw client#38237

Closed
alaamohanad169-ship-it wants to merge 1 commit into
NousResearch:mainfrom
alaamohanad169-ship-it:auto-fix-38230
Closed

fix: warn when claw migrate source is a remote-mode OpenClaw client#38237
alaamohanad169-ship-it wants to merge 1 commit into
NousResearch:mainfrom
alaamohanad169-ship-it:auto-fix-38230

Conversation

@alaamohanad169-ship-it

Copy link
Copy Markdown
Contributor

Summary

When hermes claw migrate is run against an OpenClaw installation configured as a remote-mode client (gateway.mode: "remote"), the tool completes successfully but reports ~33 "No X configuration found" skip entries with no explanation. The user has no indication that the bulk of their configuration lives on the remote server, not in the local openclaw.json.

This PR adds a clear warning when the source OpenClaw config has gateway.mode: "remote", following the same pattern as the existing _warn_if_openclaw_running() and _warn_if_gateway_running() warning functions.

Changes

  • hermes_cli/claw.py: Added _warn_if_remote_client(source_dir) function that reads the source OpenClaw config, detects gateway.mode: "remote", and prints a warning explaining what will and won't be migrated.
  • Called from _cmd_migrate() alongside the other pre-migration warning checks.

Warning message

⚠ Remote-mode OpenClaw client detected
This OpenClaw directory is configured as a remote-mode client (gateway.mode: "remote"). The full configuration (model settings, channels, MCPs, cron jobs, agent defaults, approvals) 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.

Testing

  • All 48 existing tests pass
  • Manually verified all scenarios: remote-mode warns, local-mode silent, no config silent, legacy filenames handled

Closes #38230

When
┌─────────────────────────────────────────────────────────┐
│          ⚕ Hermes — OpenClaw Migration                 │
└─────────────────────────────────────────────────────────┘

✗ OpenClaw directory not found: /data/data/com.termux/files/home/.openclaw
  Make sure your OpenClaw installation is at the expected path.
  You can specify a custom path: hermes claw migrate --source /path/to/.openclaw is pointed at an OpenClaw installation
configured as a remote-mode client (gateway.mode: "remote"), the
full configuration (model settings, channels, MCPs, cron jobs,
agent defaults, approvals) lives on the remote server, not in the
local openclaw.json. The migration would previously report ~33
"No X configuration found" skip entries with no explanation.

Now detects gateway.mode: "remote" in the source config and
prints a clear warning explaining that only workspace files and
skills will be migrated, and to run the tool against the server's
OpenClaw directory for the full configuration.

Closes NousResearch#38230
@alt-glitch alt-glitch added type/bug Something isn't working P3 Low — cosmetic, nice to have comp/cli CLI entry point, hermes_cli/, setup wizard labels Jun 3, 2026
@alaamohanad169-ship-it alaamohanad169-ship-it marked this pull request as ready for review June 5, 2026 06:41
@alaamohanad169-ship-it alaamohanad169-ship-it deleted the auto-fix-38230 branch June 6, 2026 02:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp/cli CLI entry point, hermes_cli/, setup wizard P3 Low — cosmetic, nice to have type/bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

claw migrate silently reports success when source is a remote-mode client with no local config

2 participants