When the Agent Shouldn't Run on Your Laptop Microsoft has added an Azure Container Apps (ACA) provider to its open-source Conductor agent framework that relocates an agent's execution loop from the user's local machine into a Hyper-V isolated container in Azure, preventing sandbox escapes that exploit shared filesystems. The provider, enabled via a YAML block, runs model-driven shells, built-in tools, and MCP servers in ephemeral sessions that disappear when the session ends, while the workflow-level loop remains local. The feature is experimental and requires provisioning an ACA pool, with limitations including no tool allowlists and sessions under 30 minutes. Every coding agent I run executes its shell commands on the machine I work from. That’s the same machine holding my SSH keys, an az login session, a gh token, and about forty repos I’ve cloned and forgotten about. In fairness, the agent usually asks before it runs anything. I’ve also been known to start it with --dangerously-skip-permissions so it stops asking, because approving the fortieth ls in a row wears you down and I wanted to go get coffee. So the real control here is that I trust the agent to behave, which is less a control than a hope. So we added a new provider to Conductor https://github.com/microsoft/conductor called aca , and it does one thing: it takes the agent’s execution loop off your machine and runs it in a container in Azure that you throw away when it’s done. What it does what-it-does Normally Conductor runs each agent’s loop in the same process as the orchestrator: model calls, tool calls, file edits, all local. The aca provider relocates that sub-loop into an Azure Container Apps dynamic session https://learn.microsoft.com/azure/container-apps/sessions , a Hyper-V isolated container allocated out of a warm pool. The model-driven shell, the built-in tools, and any MCP servers you’ve declared all run in there. The workflow-level loop stays home. Routing, context, checkpoints, and the event bus still run on your machine, still with no LLM in the loop. Only the part where a model decides to run a command moves. Turning it on is one block of YAML: runtime: provider: name: aca pool endpoint: "https://my-agent-pool.