Migrating Pllan to a New Machine

This guide moves an Pllan gateway to a new machine without redoing onboarding.

What Gets Migrated

When you copy the state directory (~/.pllan/ by default) and your workspace, you preserve:
  • Configpllan.json and all gateway settings
  • Auth — API keys, OAuth tokens, credential profiles
  • Sessions — conversation history and agent state
  • Channel state — WhatsApp login, Telegram session, etc.
  • Workspace filesMEMORY.md, USER.md, skills, and prompts
Run pllan status on the old machine to confirm your state directory path. Custom profiles use ~/.pllan-<profile>/ or a path set via PLLAN_STATE_DIR.

Migration Steps

1

Stop the gateway and back up

On the old machine, stop the gateway so files are not changing mid-copy, then archive:
pllan gateway stop
cd ~
tar -czf pllan-state.tgz .pllan
If you use multiple profiles (e.g. ~/.pllan-work), archive each separately.
2

Install Pllan on the new machine

Install the CLI (and Node if needed) on the new machine. It is fine if onboarding creates a fresh ~/.pllan/ — you will overwrite it next.
3

Copy state directory and workspace

Transfer the archive via scp, rsync -a, or an external drive, then extract:
cd ~
tar -xzf pllan-state.tgz
Ensure hidden directories were included and file ownership matches the user that will run the gateway.
4

Run doctor and verify

On the new machine, run Doctor to apply config migrations and repair services:
pllan doctor
pllan gateway restart
pllan status

Common Pitfalls

If the old gateway used --profile or PLLAN_STATE_DIR and the new one does not, channels will appear logged out and sessions will be empty. Launch the gateway with the same profile or state-dir you migrated, then rerun pllan doctor.
The config file alone is not enough. Credentials live under credentials/, and agent state lives under agents/. Always migrate the entire state directory.
If you copied as root or switched users, the gateway may fail to read credentials. Ensure the state directory and workspace are owned by the user running the gateway.
If your UI points at a remote gateway, the remote host owns sessions and workspace. Migrate the gateway host itself, not your local laptop. See FAQ.
The state directory contains API keys, OAuth tokens, and channel credentials. Store backups encrypted, avoid insecure transfer channels, and rotate keys if you suspect exposure.

Verification Checklist

On the new machine, confirm:
  • pllan status shows the gateway running
  • Channels are still connected (no re-pairing needed)
  • The dashboard opens and shows existing sessions
  • Workspace files (memory, configs) are present