Coder: A Self-Hosted Control Plane for Cloud Dev Environments and AI Agents
Secure environments for developers and their agents. Coder Agents runs a native AI coding agent whose loop executes in the control plane on your infrastructure, with no API keys in workspaces.
At a glance
- What is it?
- Coder is a self-hosted platform that defines cloud development environments in Terraform and runs AI coding agents with the agent loop in the control plane, keeping API keys out of workspaces. This review covers its architecture, setup, and the trade-offs of adopting it.
- Who is it for?
- Adopt Coder if you need self-hosted, Terraform-defined cloud dev environments and want AI agents to run without API keys in workspaces, especially if you already use Terraform and need centralized model governance. Do not adopt it if you lack the operational capacity to run a PostgreSQL-backed server and manage WireGuard tunnels, or if your team expects a fully managed SaaS.
- Can I use it commercially?
- Yes, with strict conditions. AGPL-3.0 is a network copyleft licence: if people use a modified version over a network, for example as a hosted service, you must offer them its source code under the same licence.
- Is it still maintained?
- Yes. The repository last received commits 1 day ago.
- What is it written in?
- Mainly Go, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on September 14, 2026, and from our analysis. They are not legal advice.
DEEP OPEN-SOURCE ANALYSIS
The Problem: Ephemeral Dev Environments and Agent Credential Leakage
Coder addresses two related pains. First, developers waste days onboarding into local environments that drift from production. Second, AI coding agents, when run inside a developer's workspace, often require API keys or model credentials to be present in that environment. The README states that Coder's agent loop executes in the control plane on your infrastructure, with no API keys in workspaces. That is a security posture, not just a convenience. For teams that must not scatter LLM credentials across every developer machine or container, this design is the core value. The intended user is an engineering platform team that wants to standardize environments as code while also delegating coding tasks to agents under central control.
How Workspaces and Agents Are Defined: Terraform Is the Contract
The workspace is not a hand-configured VM. It is defined in Terraform. The README lists EC2 VMs, Kubernetes Pods, and Docker Containers as supported targets. A template is a Terraform configuration that describes the infrastructure. When a developer requests a workspace, Coder provisions it from that template. The agent, meanwhile, runs in the control plane. That means the agent's loop, the part that reads files, runs commands, and interacts with the model, lives on the server side, not inside the workspace. The workspace only receives the execution results. This separation is what allows the no-API-keys-in-workspaces claim. The control plane holds the credentials and the governance. This is a different architecture from running an agent locally in a container, and it has consequences for latency and for what the agent can observe directly.
Getting Started: From Install Script to First Workspace
The quickstart is direct. On Linux or macOS, run the install script with `curl -L https://coder.com/install.sh | sh`. On Windows, grab a binary or installer from GitHub Releases. Then start the server with `coder server` and open http://localhost:3000. That brings up a UI where you create an initial user, select a Docker template, and provision a first workspace. For evaluation, the server uses a built-in database and sets up a `*.try.coder.app` access URL. For production, the README says to add PostgreSQL version 13 or later and an external access URL, like so: `coder server --postgres-url <url> --access-url <url>`. Without those flags, you are not production-ready. The README points to validated architectures for sizing, but it does not give concrete numbers. You will need to read that documentation separately. The CLI also exposes a full list of flags and environment variables via `coder --help`.
The AI Gateway and Agent Integrations: Centralized Model Control
Coder's AI features are not bolted on. The README describes an AI Gateway that centralizes authentication, auditing, and cost controls for AI tooling. The gateway is the choke point for model access. Agents like Claude Code, Codex, and OpenCode can be run isolated in Coder workspaces, according to the Coder Registry module search. The README also mentions a Coder Agents Chat Action that starts a Coder Agents chat against a GitHub issue or pull request. That is a concrete integration point for automation. The governance story is that user identity is attached to every action, and audit logging is centralized. If you need to know which developer triggered which agent action and at what cost, this design gives you a single place to look. The trade-off is that all model traffic flows through your control plane, which becomes a network and performance bottleneck.
Operational Costs: What the README Does Not Tell You
The README is silent on several operational realities. First, the control plane runs the agent loop, so it must have network access to both the model APIs and the workspaces. That means your infrastructure must allow the control plane to reach the workspaces, likely over the WireGuard tunnel. Second, the built-in database is for evaluation only. Production requires PostgreSQL 13 or later, which is another service to run and back up. Third, the README mentions automatic shutdown of idle resources, but it does not explain how idle is defined or configured. You will need to dig into the documentation. The validated architectures page is referenced, but without details, sizing is guesswork. For a small team, this operational overhead might be heavier than using a managed cloud IDE. For a large organization with compliance requirements, the control is worth the cost.
Licensing and Maintenance: AGPL-3.0 and the Upgrade Cadence
Coder is licensed under AGPL-3.0. That is a strong copyleft license. If you modify the server code and offer it as a network service, you may need to release your modifications. That is a real constraint for companies that want to fork or embed Coder in a proprietary product. The README does not discuss this, but the license identifier is in the repository metadata. On maintenance, the repository shows regular releases: v2.36.3 and v2.35.6 on the same day, with v2.36.1 a few days earlier. That suggests an active release train. You will need to track upgrades, especially for security fixes in the control plane, since it holds credentials. The README mentions a coderd Terraform Provider for declaratively managing your Coder deployment as code, which can help automate upgrades, but that is an additional tool to learn.
A Real Alternative: Running Agents in Workspaces with Open-Source Tools
The most direct alternative is to run an AI coding agent like Claude Code or Codex directly inside a development container or VM, without Coder's control plane. That approach is simpler to start: you install the agent in your existing environment, and it has direct access to the filesystem and tools. The difference is that the agent loop runs where the credentials are, so API keys end up in the workspace. You would need to manage those credentials separately, perhaps with secret injection, and you lose centralized audit logging. Another alternative is a cloud IDE service that provides managed environments, but that does not give you self-hosting or Terraform-defined infrastructure. Coder's approach is to centralize the agent loop and credential management, which is a deliberate trade-off between simplicity and control. If your team does not need that centralization, a plain agent-in-container setup is lighter.
Who Should Adopt and What to Verify First
Coder is a good fit for platform teams that already use Terraform and want to offer consistent, ephemeral environments to developers. It is also a fit for organizations that want to delegate coding tasks to AI agents without exposing model credentials to every workspace. The control-plane agent loop is the differentiator. However, if you are a solo developer or a small team without the appetite to run a PostgreSQL-backed server and manage a WireGuard tunnel, the operational burden is high. Before adopting, verify that your target infrastructure is covered by a template or module in the Coder Registry. Check that your model provider is supported by the AI Gateway. Read the validated architectures documentation for sizing. And review the AGPL-3.0 license implications with your legal team. The README gives you the quickstart, but the real decision rests on those details.
Editorial conclusion
Adopt Coder if you need self-hosted, Terraform-defined cloud dev environments and want AI agents to run without API keys in workspaces, especially if you already use Terraform and need centralized model governance. Do not adopt it if you lack the operational capacity to run a PostgreSQL-backed server and manage WireGuard tunnels, or if your team expects a fully managed SaaS. Before adopting, verify that your target infrastructure (EC2, Kubernetes, Docker) is covered by a template or module in the Coder Registry, and confirm that your preferred AI model provider (Anthropic, OpenAI, Google, Bedrock, or self-hosted) integrates with the AI Gateway. Also check the AGPL-3.0 license implications for your distribution model, and review the validated architectures documentation for sizing guidance.
Community notes