This article is part of our guide to Agentic Infrastructure.
Key points:
Claude Routines are a great automation primitive. But the network rules that decide what an agent can reach are set per engineer - and that's the real enterprise risk. Here's why Routines need a centrally governed home.

This article is part of our guide to Agentic Infrastructure.
Key points:
The scary part of an autonomous agent is not the code it writes. It's what it's allowed to reach.
An agent that can only touch your repo and open a pull request is easy to reason about. An agent that can also call an arbitrary HTTP endpoint, pull a file from a storage bucket, and execute whatever it finds there is a different animal. The first is a productivity tool. The second is a remote code execution path wearing a friendly name.
This is the lens I want to put on Claude Routines. I like the feature a lot. But the more teams adopt it, the more one question matters: who controls what those Routines can reach?
A Routine is a Claude Code automation you configure once - a prompt, a repo, and connectors - and then run without sitting in front of it. There are three ways to fire one:
The important detail: Routines run on Claude Code's web infrastructure, so nothing depends on a laptop being open. This is genuinely useful. It turns Claude Code from an interactive assistant into a piece of always-on automation - the kind of thing you used to glue together with cron jobs, a server, and a pile of MCP tooling.
So this is not a "Claude Routines bad" article. Routines are one of the better agent automation primitives shipping right now. The gap I want to talk about is somewhere else.
Here is the thing a trigger does not give you: a centralized, admin-controlled answer to "what is this agent allowed to reach?"
In practice, that answer is assembled per engineer and per project. Each person configures the tools their agent can use and the domains it's allowed to call. That works fine for one developer on one repo. It stops working the moment you have a team.
Walk through what decentralized network rules actually mean:
None of this is unique to Claude Routines. It's the default reality of any per-developer agent setup - every engineer could already run an agent in YOLO mode on their machine with no guardrails. Routines just make the automation persistent and easy, which makes the governance question harder to ignore.
The trade-off is real: the same decentralization that makes Routines fast to adopt is what makes their blast radius hard to bound.
The fix is not to ban the automation. It's to move the rules off the individual and into one place the platform team controls.
That's what a governed runtime - a Remote Development Environment, in Qovery terms - is for. Instead of each engineer deciding what their agent can reach, the network rules become a centralized, admin-restricted policy that every agent inherits:
This is the same governance triad we apply to every agent action in Qovery's MCP server for infrastructure: RBAC, budgets, and audit. The point is to make the rules a property of the environment, set once by the people accountable for security, rather than a property of each engineer's local config. (We go deeper on the network-control side in what an agentic infrastructure platform is.)
This is where I want to be clear, because it's easy to read the above as "Routines vs. RDE." It isn't. They solve different problems and they fit together.
| Concern | Claude Routines | A governed runtime (Qovery RDE) |
|---|---|---|
| Job to do | Trigger agent work (schedule, API, webhook) | Run that work inside controlled boundaries |
| Where the rules live | Per engineer, per project | Centralized, admin-restricted |
| Network control | Configured by each developer | Domain allowlists + outbound proxy + DLP + kill switch |
| Access control | Tool/permission config | Org-wide RBAC |
| Auditability | Session-level | Full audit trail, attributed, SIEM-exportable |
| Best at | Automation and reach | Governance and blast-radius control |
A Routine is the trigger layer - the thing that decides an agent should run nightly, or on every PR, or when your pipeline calls it. A governed runtime is the home that run executes in. Put a great trigger on top of a governed environment and you get the best of both: persistent automation that can't reach anything the platform team didn't approve.
You don't have to choose. You have to decide where your Routines live.
The Routine itself is a Claude Code automation running on Claude's web infrastructure. The security question is less about the feature and more about its configuration: what tools, connectors, and domains the agent is allowed to use. When those rules are set per engineer, security depends on every individual getting it right. Putting the agent inside a centrally governed runtime moves that responsibility to the platform team.
Not from the per-engineer config alone - that's the gap. You centralize it by running agents inside a governed environment where domain allowlists, an outbound proxy, DLP filtering, and a kill switch are enforced for everyone, regardless of how each developer set up their local agent. See Qovery's approach to agent governance.
No. Routines are an automation trigger - schedule, API, or webhook. An RDE is the governed runtime the work executes in. They're complementary: the trigger decides when an agent runs, the runtime decides what it's allowed to reach while it does.
Any engineer can broaden what an agent can reach, and there's no central place to review or audit those rules. Broad access to something like an object store means trusting whatever content lands in it - which is how a benign "read the logs" permission turns into an arbitrary-code path.

Romaric founded Qovery to make Kubernetes accessible to every engineering team. He writes about platform strategy, developer experience, and the future of cloud infrastructure.
Qovery centralizes the rules - RBAC, budgets, domain allowlists, and a full audit trail - so every agent action stays scoped and attributable on your own infrastructure.