Back to blog
2026-07-28 Thijs Creemers

Boundary is now Wagoe


Two things drove the rename.

The name was already taken in our corner of the industry. HashiCorp ships a product called Boundary, and it sits close enough to us — backend infrastructure, developer tooling — that the two blur together in search results and in conversation. A name you have to qualify every time you say it is not doing its job.

And we started a company. It is called Wagoe. Having the framework and the company share a name is worth more to us than the cost of the rename — and that cost is never lower than it is right now, before 1.0.

It is pronounced wagooh. The oe is Dutch: the vowel in "boot", not the "oh" in "go".

The rename is complete and the framework is functionally unchanged — same architecture, same APIs, same behaviour. Only names moved.

What changed

Before After

Namespaces

boundary.*

wagoe.*

Maven group

org.boundary-app

com.wagoe

Artifacts

boundary-core, boundary-user, …

wagoe-core, wagoe-user, …

Config keys

:boundary/…

:wagoe/…

Environment

BND_ENV, BND_*

WAG_ENV, WAG_*

CLI

boundary new

wagoe new

Website

boundary-app.org

wagoe.org

Installer

get.boundary-app.org

get.wagoe.org

Repository

github.com/thijs-creemers/boundary

github.com/wagoebv/wagoe

MCP resources

boundary://…

wagoe://…

The old domains and repository URL redirect permanently, so existing links keep working.

Upgrading

This is a breaking change for coordinates, config keys and environment variables. There is no compatibility shim — the rename happened before 1.0, so we took the clean break rather than carrying aliases forever.

  1. Update your dependency coordinates:

    ;; before
    org.boundary-app/boundary-core {:mvn/version "1.0.0-beta-1"}
    ;; after
    com.wagoe/wagoe-core {:mvn/version "1.0.0-beta-1"}
  2. Rename namespace requires: boundary.wagoe.

  3. Rename config keys: :boundary/:wagoe/

  4. Rename environment variables: BND_WAG_ (notably BND_ENVWAG_ENV)

  5. Re-run the installer:

    curl -fsSL https://get.wagoe.org | bash

TODO: confirm whether a migration script is worth shipping. The rename was driven by a scripted, per-phase substitution; the same approach would work for downstream projects and could be published as a wagoe migrate-from-boundary command.

One thing that did not change

boundary is still the right word for an architectural seam — the FC/IS boundary between functional core and imperative shell, the persistence boundary, the HTTP boundary. Those terms stay. Only the product name moved.

Which is the whole point: the word was always better as a description than as a name. If you find something the rename missed, open an issue at github.com/wagoebv/wagoe.