MigrateGuides

Migrate to Guild

Move agents from Vercel eve, LangChain and LangGraph, Runlayer, or Arcade to Guild with a skill, a GitHub Action, or an agent that opens a pull request.

Migration guides by platform

Each guide, in the Guild docs, covers how the pieces map, the steps, and what doesn’t map one to one for that platform.

  • Migrate from LangChain

    Open-source libraries for building agents, plus LangSmith to trace, test, and deploy them.

    Read the guide
  • Migrate from Runlayer

    Controls how a company's people and agents use AI tools, with its own agents launched from chat.

    Read the guide
  • Migrate from Arcade

    Tools that act with each user's own accounts, for agents you build somewhere else.

    Read the guide
  • Migrate from Vercel eve

    Vercel's open-source TypeScript framework for long-running agents.

    Read the guide

Every migration to Guild follows the same four steps, whatever the source platform: inventory what the agent uses, map each piece to a Guild primitive, scaffold the Guild agent with the CLI, and prove it runs with guild agent test. The guides below give the concept map and CLI commands for each platform. They also list what does not map 1:1, so nothing gets lost.

Text
1source repo -> detect platform -> inventory (tools, models, triggers, secrets by name)2            -> pick Guild agent type -> guild agent init -> port -> guild agent test3            -> MIGRATION.md -> (you decide) guild agent save --publish

Choose the Guild agent type

You haveGuild agent typeWhy
Instructions plus tools, text in and outNativeNo container, ready right after init
Typed input/output or deterministic stepsTypeScriptagent.ts with @guildai/agents-sdk
A Python LangGraph v1 graphLangGraphlanggraph.json + graph.py, models and tools through Guild
Shell, files, git, or a repositoryOpenClawAGENTS.md + skills/, built-in coding toolchain
A portable recipe with parametersGooserecipe.yaml with a response schema

See Agent types for the full comparison.

Three ways to migrate

Before you start

Bash
1npm install -g @guildai/cli2guild auth login3guild workspace list4guild workspace select

Publish from GitHub Actions

Once the migrated agent is in your repository and guild agent test passes, publish it with the Publish Agent to Guild Action. The Action uploads the agent directory, validates it, and publishes a version. Your repository can be private: the workflow sends the files to Guild, so Guild never needs access to it. Publish from GitHub Actions covers automatic releases, multiple agents, and troubleshooting.

Prepare your account

  1. Create an account API key in the Guild account that will own the agent. Give it Agents: Read & write (agents:write).
  2. In your GitHub repository, open Settings > Secrets and variables > Actions. Add the full <api_key_id>:<api_key_secret> value as a repository secret named GUILD_API_KEY. Don't commit the key or paste it into a coding-agent conversation.
  3. Choose a target in owner~name form, such as myorg~hello. The owner must match the key's Guild account.

You need permission to add workflows and configure Actions secrets in the repository. Your GitHub organization must also allow the Action to run. If these controls are restricted, ask your repository owner. You don't need to install a GitHub App or authorize Guild to read the repository.

Add a release workflow

Save this as .github/workflows/publish-agent.yml:

YAML
1name: Publish agent2on:3  workflow_dispatch:4    inputs:5      version:6        description: New agent version7        required: true8        default: '1.0.0'9        type: string10
11permissions:12  contents: read13
14concurrency:15  group: guild-publish-myorg-hello16  cancel-in-progress: false17
18jobs:19  publish:20    if: github.ref == 'refs/heads/main'21    runs-on: ubuntu-latest22    steps:23      - uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v624        with:25          persist-credentials: false26      - name: Publish to Guild27        id: publish28        uses: guildaidev/publish-agent-action@v1.0.029        with:30          path: agents/hello31          agent: myorg~hello32          version: ${{ inputs.version }}33          create-if-missing: 'true'34          agent-type: GOOSE35          overwrite: 'true'36        env:37          GUILD_API_KEY: ${{ secrets.GUILD_API_KEY }}

Then adjust it for your repository:

  • Replace myorg~hello with your target, and agents/hello with your agent directory.
  • If your default branch isn't main, change the branch condition.
  • Merge the workflow onto your default branch. Run workflow appears only after the merge.

For a migrated agent, also:

  • Set path to the folder guild agent init created, and agent-type to the type you scaffolded: GUILD_TYPESCRIPT, GUILD_NATIVE, LANGGRAPH, or OPENCLAW.
  • Read what create-if-missing and overwrite do before the first run, then follow Release and verify.

Set up with a coding agent

Copy this prompt into Claude Code, Codex, or another coding agent that has access to your repository. The agent prepares a workflow for you to review. It never asks for your key or publishes without your confirmation.

Text
1Help me publish agents from this repository to Guild using the official Action:2https://github.com/marketplace/actions/publish-agent-to-guild3Read the setup guide: https://docs.guild.ai/cli/github-actions4
51. Inspect the repository and propose agent directories, types, and dependencies.6   Check Guild's supported package format. Report incompatibilities; do not7   silently remove unsupported recipe fields or change agent behavior.82. Ask me to confirm the Guild owner~name target for each directory, whether9   missing targets may be created privately, and whether repository source may10   replace Guild editor changes. Ask whether releases should be manual or on merge.113. Add a workflow using guildaidev/publish-agent-action@v1.0.0 with contents: read,12   checkout with persist-credentials: false, and the confirmed directory mapping.13   Use per-target concurrency with cancel-in-progress: false. Keep publishing off14   pull_request and pull_request_target; pass GUILD_API_KEY only to the publish step.154. Tell me how to create an account key with Agents: Read & write and store it as16   the GUILD_API_KEY Actions secret. Never ask me to paste it here, read it back,17   print it, or commit it. Explain any extra dependency-read permissions needed.185. Use an explicit version per target: 1.0.0 for a new agent, otherwise higher19   than the latest published version. Do not assume the Action reads VERSION files.20   For automatic releases, keep versions in source and explain where to bump them.216. Validate the YAML and workflow, then show me the diff for approval. Do not22   merge, trigger a release, change visibility, or create a workspace without asking.23   After I authorize a test release, verify the resulting agent/version and report24   any validation errors. Publishing success does not prove runtime behavior.

Move your first agent with us.

Bring the agent you want to move. We'll walk through the port on Guild with you, credentials and policies included.