ant CLI applies agents from files with ant apply.
The built-in toolset gives every agent bash and file tools by default, so most Managed Agents move to Guild OpenClaw agents. Agents without sandbox work move to Native.
This guide covers Claude Managed Agents. The Claude Agent SDK (
claude_agent_sdk or @anthropic-ai/claude-agent-sdk) runs the agent loop in your own process; port that code to a Guild TypeScript, Native, or OpenClaw agent.Who this is for
Teams running Claude Managed Agents who want models from more than one provider, ready-made integrations, and agents that start from Slack mentions or GitHub events, with every run in one workspace.Concept map
Before you start
Inventory
If the agent lives in a repository asant apply files, you’ll find a claude-lock.json at the root and folders such as agents/, environments/, deployments/, and skills/. In an agent file, the frontmatter is the request body and the Markdown body is the system prompt. If the agent was created in the Console or a script, export it first:
- The system prompt, model, and every tool in
tools, including which built-in tools are turned off. - Each tool’s permission policy. The built-in toolset defaults to
always_allow, and MCP toolsets default toalways_ask. - Every MCP server URL and the vault credential it uses.
- Custom tools and the code in your app that answers them.
- Skills, subagents, and workflows.
- The environment:
cloudorself_hosted, network rules, and packages. - Scheduled deployments (cron expression and timezone), webhook handlers, budgets, outcomes, and memory stores.
Steps
- Sandbox agent → OpenClaw
- Tools only → Native
Use this path when the agent keeps the built-in bash and file tools, works on a repository, or uses skills that drive files and commands.Copy the system prompt into
1
Scaffold an OpenClaw agent
--category and --owner stop the CLI from prompting, which a script or coding agent can’t answer. List categories with guild agent categories.2
Move the system prompt and tools
AGENTS.md. Copy custom skills into skills/<name>/; they keep the same SKILL.md format. Each MCP server becomes the catalog integration for the same service, with only the operations the agent calls. Check the real names with guild integration operation list <owner~integration> --json.For an MCP server with no catalog integration, create one from the server’s URL in the web app by choosing the MCP protocol in Create an integration.3
Test
guild agent test collects files by walking your local directory and honoring .gitignore, the same way guild agent save does, so new files such as logic.ts are uploaded even without git add.The first
guild agent save --wait --publish after guild agent init fails with “No saved state… use —force” because of the .gitignore the scaffold writes. Add --force to that first save for now.guild agent save --publish. The Action needs an account API key with the agents:write scope:
Credentials and policies
Vault credential values are write-only, so you can’t export them. Connect each service again as a Guild credential on the matching integration. Use member scope for MCP servers each person connected with their own account, and workspace or agent scope for service accounts. Like vaults, the credential proxy keeps secret values out of the agent. Guild splits a tool approval into two controls:- Who can call it. Add a credential policy rule scoped to the agent and workspace that allows or denies the operation. DENY wins over ALLOW.
- Sign-off on each call. Add the
ui_promptbuilt-in and have the agent confirm with the user before it calls the tool. The run pauses until someone answers.
What doesn’t map 1:1
Approvals the platform enforces
Approvals the platform enforces
always_ask pauses a tool call on Anthropic’s side until your app answers. On Guild, a credential policy scoped to the agent and workspace decides whether the agent can call the operation at all. For sign-off on each call, the agent’s instructions tell it to confirm with ui_prompt first, and the run pauses until someone answers.Self-hosted sandboxes
Self-hosted sandboxes
A self-hosted environment runs tool calls on a worker you host. Guild runs agents in its own containers, so self-hosted sandboxes move to Guild’s runtime.
Session budgets and outcomes
Session budgets and outcomes
A per-session dollar cap (
max_list_cost) and outcome grading inside a session have no direct equivalent. Guild spend budgets apply per workspace, agent, or user, and Guild Evaluations grade sessions after they run.Memory stores
Memory stores
Memory stores mounted at
/mnt/memory/ have no equivalent across runs. An OpenClaw agent’s MEMORY.md seeds its memory on the first turn. Keep durable state in an outside store reached through an integration.Anthropic-provided skills
Anthropic-provided skills
Skills such as
xlsx and pdf that Anthropic provides have no direct equivalent. Check the Hub for a Guild skill, or write one.Webhooks
Webhooks
Guild has no outbound session webhooks. Have the agent post its result through an integration, such as Slack or GitHub.
Three ways to migrate
guild-migrate skill
Ask your coding agent: “Migrate the Managed Agents files in this repository to Guild.” It reads the
ant apply files and writes MIGRATION.md.Publish Agent to Guild Action
Commit the port to your repository, then publish it from GitHub Actions with an account API key.
Migration agent
Point Migrate to Guild at your repository; it opens a draft pull request. The guild-migrate skill ships in the same package.
Related pages
OpenClaw agents
AGENTS.md, skills, and the coding toolchain.Credential policies
ALLOW and DENY rules by operation, resource, agent, and workspace.