Self-hosted service
coder/coder avatar
coder/coder

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.

17,384 stars1,666 forksGoAGPL-3.0

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 received new commits within the last day.
What is it written in?
Mainly Go, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on November 14, 2026, and from our analysis. They are not legal advice.

From daily snapshots

Star history

  • coder/coder17,384 ★ · +3,414
Star history
Repository2026-07-282026-11-14
coder/coder14k17.4k

3,414 Stars in the last 109 days, measured from the daily GitHub snapshot. Compare with other projects

Editorial 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 lives on the server side, not inside the workspace. 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 -fsSL 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.

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.37.9, v2.36.12 and v2.34.17, all on 2026-10-30. 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 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.

Frequently asked questions

What is Coder?

It is a self-hosted platform for cloud development environments and AI coding agents. Workspaces are defined with Terraform, connected through a secure Wireguard tunnel, and shut down automatically when not in use, and environments can run on EC2 virtual machines, Kubernetes pods or Docker containers.

How do I install Coder and start a first evaluation?

On Linux and macOS the install script is run with curl piped to sh, while Windows users take a binary or installer from the GitHub releases page. Starting the server with coder server and opening http://localhost:3000 lets you create the initial user, create a Docker template and provision a first workspace, using the built-in database and an evaluation tunnel address that you replace later.

Where do AI model credentials live in Coder?

Not in the workspace. The native coding agent's loop executes in the control plane on your own infrastructure, so no API keys are present in workspaces, every action carries the user's identity, and model governance, cost tracking and audit logging are centralized. You can bring any model, including Anthropic, OpenAI, Google, Bedrock or a self-hosted one.

What does Coder need for a production deployment?

An external PostgreSQL database of version 13 or later and an access URL reachable from your workspaces, passed as flags to the server command. The sample compose file warns that the access URL cannot be localhost or the loopback address for templates that are not running in Docker, and the documentation links validated architectures for sizing.

Official sources

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/coder-coder.svg)](https://hysenlabs.com/projects/coder-coder)

Star history chart for your README

markdown
[![Star history](https://hysenlabs.com/chart/coder-coder.svg)](https://hysenlabs.com/projects/coder-coder)

Was this useful?