Comparison
Nairi vs Claude Managed Agents
Anthropic's Claude Managed Agents is a hosted REST API: Claude-only, Anthropic-orchestrated, and you build the Slack or Discord bot yourself. Nairi is the team-agent product: pick the harness, mention it from Slack or Discord, self-host the runtime if you need to. Here's an honest side-by-side.
TL;DR
Claude Managed Agents is Anthropic's hosted agent runtime, launched in public beta on April 8, 2026. You call a REST API. Anthropic runs the agent loop, the sandbox, the MCP connector, the vault, the memory, and the session lifecycle. The SDK surface is polyglot. Distribution runs through Anthropic's API and through Claude Platform on AWS. If your job is to embed a Claude-powered agent into a service you're building, it's the right primitive.
Nairi is the product on top of that question. A turn-key team agent in Slack and Discord. Pick the harness (Claude Code, Codex, OpenCode, Cursor) per agent. Configure rules, skills, MCP servers, and scheduled jobs from a dashboard. The agent is owned by the org and mentionable by anyone in the channel. The runtime is an open-source Go daemon you can self-host on your own hardware if you need to.
Honest framing: pick Claude Managed Agents if you want to build a vertical agent feature on Anthropic's runtime and you're happy on Claude-only. Pick Nairi if you want the team-agent product without writing a Slack or Discord bot, you want harness optionality, or you have a compliance bar that needs a self-hosted agent loop.
Side by side
Structural differences first, then the areas where Claude Managed Agents matches or wins.
What you actually get on day one
A turn-key team agent. Install the Slack or Discord app, pick the channels, mention it. No code to write, no bot to deploy. The agent is the product.
A hosted REST API. You call /v1/agents, /v1/environments, /v1/sessions and wire the rest yourself. Anthropic's own cookbook for the Slack use case says to "wrap the agent in a Slack bot built with Bolt for Python" that your team builds and runs.
Pick your harness and model
Per-agent choice of Claude Code, Codex, OpenCode, or Cursor. Bring your provider key. Mix harnesses across the same org for different jobs.
Claude-only. The agent config doc states: "All Claude 4.5-family and later models are supported." No GPT, no Gemini, no local model, no Codex, no OpenCode, no Cursor.
Run the agent loop on your own hardware
The nairid daemon is open-source Go. The full loop, message receive, harness invocation, tool execution, response back, runs inside the daemon. Docker, Kubernetes, a VM, an air-gapped box. Whatever fits.
Self-hosted sandboxes move tool execution to your infra, but the agent loop stays on Anthropic. Their docs are explicit: "keep the orchestration on Anthropic's side." Managed Agents is also "not currently eligible for Zero Data Retention or HIPAA Business Associate Agreement coverage."
Slack and Discord, out of the box
Slack and Discord are both first-class. The same agent runs in either, with the same rules, skills, and config. Install, pick channels, mention.
Neither, natively. You build the Slack or Discord bot yourself with Bolt or discord.py, host it, and call the Managed Agents API from inside it. The chat surface is your responsibility.
Team sharing
The agent is owned by the org. Anyone in the org can mention it from Slack or Discord. Rules, skills, MCP configs apply to every conversation.
Sessions are created per API call. Vaults and credentials are workspace-scoped, meaning, per Anthropic's docs, "anyone with an API key for the same workspace can reference them." There is no built-in "shared team agent in a channel" abstraction.
MCP support
Per-agent MCP configs. Add MCP servers to a specific agent. Composio-hosted MCPs supported alongside self-hosted servers.
Up to 20 MCP servers per agent, with OAuth and bearer credentials stored in vaults. MCP Tunnels (research preview) cover private-network MCP servers via Cloudflare.
Hosted long-running primitives
Per-agent containers with the harness and tools configured. Scheduled jobs for cron-style runs. No multi-agent orchestration primitive today.
Memory, multiagent orchestration, outcomes evaluation, webhooks, computer use, code execution, all integrated. Anthropic ships features here every two weeks.
SDKs
Public REST API with nr_-prefixed keys. Curl works. Native SDKs are not the focus.
Polyglot SDKs (Python, TypeScript, Java, Go, C#, Ruby, PHP) plus an ant CLI. Pure API surface with consistent SSE event shape.
Distribution
SaaS at nairi.ai. Self-host option for teams that need it.
Anthropic's API directly, plus Claude Platform on AWS for IAM auth and AWS Marketplace billing. First-party enterprise distribution we can't match.
Pricing model
One team subscription. Every teammate uses every agent. No per-API-call billing.
Consumption-only. Standard token rates plus per-session-hour active runtime. No per-seat or per-agent subscription. Light usage is genuinely cheap.
Claude Managed Agents descriptions reflect Anthropic's public docs at platform.claude.com as of June 2026. Managed Agents is still labeled public beta and ships changes every two weeks. Verify the current behavior before relying on any specific detail.
Two clicks and a mention, or a bot you build and run yourself
The clearest difference shows up on day one in what your team actually has in front of them. Claude Managed Agents is a REST API. You create an agent, create an environment, create a session, stream events back over SSE. Anthropic's own cookbook for the Slack use case is direct about what's still on you: "you'll wrap the agent in a Slack bot built with Bolt for Python." Translation: install Bolt, register a Slack app, handle the events API, plumb message text into the Sessions endpoint, stream the SSE response, post replies, manage thread state, ship and host that bot.
That's the right shape if you're a product engineering team building a vertical AI feature where the chat surface is part of the product. It's the wrong shape if what you want is a team agent in a channel for support triage, on-call response, PR review, or scheduled ops jobs. In the second case you don't want to be running a Slack bot. You want the agent.
Nairi ships the Slack and Discord apps, the per-thread session handling, the per-channel access controls, and the dashboard for rules, skills, MCP servers, and scheduled jobs as the product. Install the app, pick the channels you want the agent in, configure the agent in the dashboard, mention it. Two clicks, no bot to deploy, no Bolt project to maintain. The agent itself is what's shipped, not the toolkit to build one.
Claude-only, or pick the harness per agent
Managed Agents is a Claude-only runtime. Their agent config doc states "all Claude 4.5-family and later models are supported." That's the entire model surface. The harness is also a proprietary Anthropic agent loop, not Claude Code. Branding guidance forbids partners from calling their integration a "Claude Code Agent." If your team has standardized on a different harness like Codex, OpenCode, or Cursor, Managed Agents isn't an option without rewriting your harness choice.
Nairi treats the harness as a per-agent decision. Run one agent on Claude Code where it's strong, one on Codex where it has the edge, one on OpenCode for the open-source path, one on Cursor for the IDE-integrated workflow. Each agent has its own provider key. You can mix them in the same org. The choice isn't structural, it's a config field.
The bet is that harness and model optionality matters more over time, not less. New harnesses ship every few weeks. New models with new capability curves arrive every few months. Teams that lock to one vendor's runtime pay the switching cost later. Nairi makes the harness a setting on an agent so the choice can change without re-platforming.
Run the full agent loop on your own hardware
Anthropic does ship self-hosted sandboxes for Managed Agents, and it's a real concession to compliance: tool execution moves to your infrastructure so the agent's code, filesystem, and network egress stay in your environment. The catch is that the agent loop itself stays on Anthropic. Their docs say it directly: "keep the orchestration on Anthropic's side but move tool execution into infrastructure you control." Managed Agents is also "not currently eligible for Zero Data Retention or HIPAA Business Associate Agreement coverage." For most teams that's fine. For regulated industries, government contractors, financial services, or any org with a hard compliance bar, it's a blocker.
Nairi's nairid daemon is open-source Go. The full agent loop runs inside the daemon: receiving messages from Slack or Discord, calling the configured harness, executing tools, posting back. Nothing phones home for orchestration. You can run it in Docker, on Kubernetes, on a single VM, or on an air-gapped box. Most teams take the managed offering because they don't want to run a daemon. The self-hosted path exists for the teams that need it.
Honest framing: if your team has no compliance constraint and no preference for owning the runtime, this difference doesn't show up day to day. If you've ever had a procurement conversation derailed by data residency or self-host posture, you already know how often this kind of detail decides the deal.
Where Claude Managed Agents wins
Honest comparison pages are honest both ways. Here's where Anthropic's hosted runtime has the edge and we wouldn't try to claim parity.
Hosted infra breadth. Memory, multiagent orchestration, outcomes evaluation, webhooks, computer use, code execution, MCP Tunnels for private networks, live MCP config updates on active sessions. Anthropic ships features here every two weeks. The raw runtime surface is broader than ours and the gap is real.
First-party model and runtime. Anthropic ships the model and the harness. No "we hope this stays compatible when Claude 5 drops" risk. For a team committed to Claude as the model, first-party is the cleanest dependency.
AWS Marketplace distribution. Claude Platform on AWS supports IAM auth, AWS-native billing, and Marketplace procurement. For an enterprise that buys through AWS, that's a real distribution edge we can't match.
Polyglot SDKs. Python, TypeScript, Java, Go, C#, Ruby, PHP, plus an ant CLI, all calling the same REST API with a consistent SSE event shape. If you're embedding the runtime into a service in any of those languages, the SDK story is mature.
Consumption pricing. Standard token rates plus per-session-hour active runtime. No per-seat, no per-agent subscription. For bursty or low-volume workloads, the math is genuinely cheap.
Brand and procurement gravity. A Fortune 500 buyer recognizes Anthropic instantly. That matters for the kind of deals that go through procurement, security review, and vendor onboarding.
Common questions
What teams ask when they're weighing the two.
Skip building the bot. Ship the agent.
Install the Slack or Discord app, pick your channels, mention an agent. Pick the harness you want per agent. Self-host the runtime if you need to.