Skip to content

Migration

Paulus1337 edited this page Jul 28, 2026 · 2 revisions

Migrating from OpenClaw

Phoenix asks before it touches anything.

phoenix

If an OpenClaw config exists, first flight shows you exactly what is on the table and waits for an answer:

Found an existing OpenClaw setup at ~/.openclaw/openclaw.json
Migrating would carry over: 13 API key(s), the Telegram bot token, 5 persona file(s).
Starting fresh leaves OpenClaw untouched and sets up new.
Migrate it? [Y/n]
  • Enter or y: bring it across.
  • n: start fresh. Your OpenClaw install is not read further, not copied, and not modified.

Nothing is migrated without your say so. If the prompt cannot reach you (no terminal attached, for example), phoenix starts fresh rather than guessing.

What comes across when you say yes

  • Model choice and fallback chain
  • Every API key, all providers, whole rotation rings
  • Claude Code OAuth token
  • Telegram bot token and allowlists
  • Workspace and approval settings
  • Personality: SOUL.md, AGENTS.md, USER.md, IDENTITY.md, TOOLS.md
  • Memory: MEMORY.md and your daily notes

Your assistant wakes up as itself, same soul, same rules, same memories, not a stranger.

Prefer to do it by hand, or script it? phoenix migrate --secrets --write converts a config without the interactive prompt, and phoenix migrate --from PATH points at a specific file.

Safe cutover

openclaw gateway stop        # old bird rests, do not uninstall yet
phoenix service install      # new bird takes the chats

Phoenix refuses to install its service while the old gateway is still running, so the two never fight over the same bot.

Live with it a few days. Rollback is just starting OpenClaw again. Happy? Then remove OpenClaw. Nothing was burned prematurely.

Clone this wiki locally