Skip to main content
Claude Managed Agents is Anthropic’s hosted agent harness on the Claude API, in public beta since April 2026. An agent is a versioned config: model, system prompt, tools, MCP servers, and skills. Each session runs in its own cloud container with bash, file tools, and git, or in a sandbox worker you host. Vaults hold credentials, scheduled deployments run agents on a cron, and the 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 as ant 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:
Then list, by name only, never secret values:
  • 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 to always_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: cloud or self_hosted, network rules, and packages.
  • Scheduled deployments (cron expression and timezone), webhook handlers, budgets, outcomes, and memory stores.

Steps

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.
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

Copy the system prompt into 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.
Then publish, and recreate each scheduled deployment as a schedule trigger. Guild converts a timezone schedule to UTC:
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.
You can also publish with the Publish Agent to Guild GitHub Action instead of 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_prompt built-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

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.
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.
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 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.
Skills such as xlsx and pdf that Anthropic provides have no direct equivalent. Check the Hub for a Guild skill, or write one.
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.

OpenClaw agents

AGENTS.md, skills, and the coding toolchain.

Credential policies

ALLOW and DENY rules by operation, resource, agent, and workspace.
Migrating a team? Talk to us.
Last modified on November 9, 2026