Skip to Content
runelay
Migrate from your agents

Overview

What runelay migrate brings from each agent, and what stays behind.

runelay migrate reads the agents installed on your computer and sends their MCP servers, logins, memories, skills and global instructions to your runelay server in one go.

curl -fsSL runelay.com/cli | sh
runelay migrate

It logs in through the browser if needed, prints a summary per agent, asks once and sends everything. Then it registers runelay in the agents it can wire and opens /connectors/reconnect for any account that still needs a sign-in.

At a glance

AgentMCP serversLoginsMemoriesGlobal instructionsSkillsrunelay connect
Claude CodeYesYesYesCLAUDE.mdYesYes
CodexYesYesYesAGENTS.mdYesYes
CursorYesNo, encryptedNoNoYesYes
GrokYesYesNoAGENTS.mdYesYes
GeminiYesNoNoGEMINI.mdYesNo
OpenCodeYesNoNoAGENTS.mdYesNo

Logins means OAuth tokens the agent already holds, so the account arrives connected. Servers that authenticate with headers arrive connected for every agent, because the headers come along with the server.

What comes along

  • Remote MCP servers (a url or httpUrl) become connections. Headers come with them, and ${VAR} references are expanded from your shell environment on your computer before sending. Servers marked enabled: false are skipped, and so are entries for runelay itself or Executor.
  • The same server in several agents becomes one connection. When more than one agent holds a login for it, runelay keeps the one with a refresh token, then the one that expires last.
  • Memories keep their name, description and type. Memories listed under ## Regras de ouro in a MEMORY.md arrive pinned.
  • Global instruction files become one pinned memory per agent, so every agent sees them. The block that runelay pull manages is left out.
  • Skills are folders with a SKILL.md. The shared ~/.agents/skills folder is read too. Duplicates across agents are merged, first one wins.
  • Running it again does not touch connections that already work.

What stays behind

  • Local MCP servers (a command instead of a URL) stay in the agent. The summary lists them as staying on the agent. Add them in the panel if you want them in runelay; that needs RUNELAY_ENABLE_STDIO on a server, or the desktop app.
  • Logins runelay cannot read: Cursor, Gemini and OpenCode accounts, and OAuth accounts in any agent that never signed in. They arrive as connections that ask for login, and the CLI opens /connectors/reconnect to walk through them one tab at a time.
  • Servers on private addresses (localhost, LAN) are skipped unless the server allows them with RUNELAY_ALLOW_PRIVATE_URLS. The CLI prints each skipped server with the reason.
  • Agent settings other than MCP servers, memories, skills and instructions (models, permissions, hooks) are not read.

After the migration

Many providers rotate the refresh token every time it is used. Once runelay refreshes a migrated token, the agent's copy may stop working and that agent asks for login again. The CLI names those accounts at the end.

To avoid two copies, run with --replace (or answer t at the prompt). After a successful import, runelay removes the migrated servers from each agent's config and leaves only the runelay entry. Local command servers are never removed.

FlagWhat it does
--yes, -ySkips the confirmation. Required without a terminal.
--replaceRemoves the migrated MCP servers from the agents after the import.

On macOS, RUNELAY_SKIP_KEYCHAIN=1 skips reading logins from the Keychain. RUNELAY_MEMORY_DIR and RUNELAY_SKILLS_DIR replace the folders runelay reads memories and skills from; with RUNELAY_MEMORY_DIR set, global instruction files are not read.

On this page