CI that keeps up
← Changelog
v1.0 beta · Oct 22, 2026

Workspaces

Dagger 1.0 introduces workspaces. A workspace is a context in which you configure and run Dagger, usually one Git repository. One simple configuration file, dagger.toml, specifies the modules to load, and other settings. Modules get a new API to access their workspace dynamically. They can load files on demand, find your projects and read their native configuration.

This has three major benefits:

  1. Dagger ingests only the files that are needed, when they are needed. This makes a huge difference in large monorepos.
  2. Modules can discover projects dynamically, and adjust pipeline coverage with no manual configuration.
  3. Modules can dynamically read and apply native configuration. For example, dagger.io/go scans each go.mod for local dependencies, and ingests them so that the build succeeds. It also reads the Go version, and builds a container with that version installed. This eliminates the "dual stack" problem, where CI configuration duplicates information that is already available in native toolchain configuration.

Dagger also writes dagger.lock, which pins each module, image and Git or HTTP source to an exact version.

dagger.toml replaces dagger.json for workspace configuration. Dagger 1.0 can still load dagger.json. To convert it, run dagger workspace migrate.