Skip to navigation

Transfer State Manually

View as Markdown

Use manual transfer when you need to inspect or move specific state files. OpenShell preserves the native home/workspace during routine lifecycle operations, and NemoClaw transfers the complete tree during rebuild. Use manual transfer for an independent backup or a targeted cross-sandbox move.

Download State

Use nemohermes <name> download to copy files from the sandbox to your host. The wrapper rejects a directory that contains a symbolic link or another special file before it invokes the OpenShell download or creates the host destination.

For Hermes, prefer Persist Sandbox State for normal lifecycle preservation of state.db. Use manual download and upload only when you need to inspect or transfer a specific file.

SANDBOX=my-hermes
BACKUP_DIR=~/.nemoclaw/backups/$(date +%Y%m%d-%H%M%S)
mkdir -p "$BACKUP_DIR"
nemohermes "$SANDBOX" download /sandbox/SOUL.md "$BACKUP_DIR/"
nemohermes "$SANDBOX" download /sandbox/.hermes/state.db "$BACKUP_DIR/"
nemohermes "$SANDBOX" download /sandbox/.hermes/platforms/ "$BACKUP_DIR/platforms/"

Do not copy /sandbox/.hermes/config.yaml or /sandbox/.hermes/.env between sandboxes. The gateway, CLI, TUI, and Web Dashboard share those native files, and NemoClaw recreates their managed route and credential placeholders for the destination sandbox. The retired reserved profile at .hermes/profiles/dashboard-home/ is a one-time migration source, not active dashboard state. Do not create or manually transfer that directory. Startup removes named generated hash and runtime-state metadata, then migrates other safe legacy files and WhatsApp session state into the native Hermes home. It removes a legacy config.yaml or .env only when its contents match the generated projection of the native files; otherwise those files merge only when the native destination is absent or byte-identical. Conflicting or linked state stops migration without deleting either copy.

Upload State

Use nemohermes <name> upload to copy files from the host into a sandbox.

For Hermes, prefer Persist Sandbox State for normal lifecycle preservation of state.db. Use manual download and upload only when you need to inspect or transfer a specific file.

SANDBOX=my-hermes
BACKUP_DIR=~/.nemoclaw/backups/20260320-120000 # pick a timestamp
nemohermes "$SANDBOX" upload "$BACKUP_DIR/SOUL.md" /sandbox/
nemohermes "$SANDBOX" upload "$BACKUP_DIR/state.db" /sandbox/.hermes/
nemohermes "$SANDBOX" upload "$BACKUP_DIR/platforms/" /sandbox/.hermes/platforms/