The cross-platform composition engine
The cross-platform composition engine
The cross-platform composition engine
Build powerful software environments and containerized operations from modular components and simple functions. Perfect for complex software delivery and AI agents. Built by the creators of Docker.
Build powerful software environments and containerized operations from modular components and simple functions. Perfect for complex software delivery and AI agents. Built by the creators of Docker.
Build powerful software environments and containerized operations from modular components and simple functions. Perfect for complex software delivery and AI agents. Built by the creators of Docker.




Building Blocks
Components for modern software and workflows
Components for modern
software and workflows
Components for modern
software and workflows
Turn
containers
,
LLMs
,
files
,
repositories
,
directories
,
and more into programmable and stateful objects. Get full type safety across with a consistent interface that works in any supported language.
Chain functions to do anything, anywhere
Chain functions to do anything, anywhere
Chain functions to do anything, anywhere
Write function chains that work consistently anywhere. Functions automatically cache results and maintain pure state between runs—no more rebuilding what hasn't changed.
Write function chains that work consistently anywhere. Functions automatically cache results and maintain pure state between runs—no more rebuilding what hasn't changed.
Go
Python
TypeScript
func (m *Api) Run(dir *dagger.Directory, db *dagger.Service) *dagger.Service { return dag.Container(). From("alpine:latest"). WithServiceBinding("db", db). WithMountedDirectory("/app", dir). WithWorkdir("/app"). AsService(dagger.ContainerAsServiceOpts{ Args: []string{"go", "run", "/app/main.go"}, }) }
Go
Python
TypeScript
func (m *Api) Run(dir *dagger.Directory, db *dagger.Service) *dagger.Service { return dag.Container(). From("alpine:latest"). WithServiceBinding("db", db). WithMountedDirectory("/app", dir). WithWorkdir("/app"). AsService(dagger.ContainerAsServiceOpts{ Args: []string{"go", "run", "/app/main.go"}, }) }
Go
Python
TypeScript
func (m *Api) Run(dir *dagger.Directory, db *dagger.Service) *dagger.Service { return dag.Container(). From("alpine:latest"). WithServiceBinding("db", db). WithMountedDirectory("/app", dir). WithWorkdir("/app"). AsService(dagger.ContainerAsServiceOpts{ Args: []string{"go", "run", "/app/main.go"}, }) }
Go
Python
TypeScript
func (m *Api) Run(dir *dagger.Directory, db *dagger.Service) *dagger.Service { return dag.Container(). From("alpine:latest"). WithServiceBinding("db", db). WithMountedDirectory("/app", dir). WithWorkdir("/app"). AsService(dagger.ContainerAsServiceOpts{ Args: []string{"go", "run", "/app/main.go"}, }) }
Open Platform
Get everything you need to ship fast, with confidence
Add capability, control, predictability, and observability to your workflows or AI coding agents — without adding more to your plate.
CLI & SDKs
Rapidly prototype, develop, and ship
Prototype, test, debug, and ship interactively and quickly through your terminal. Write applications in Python, TypeScript, Go, or any language you prefer with type-safe connections. Mix components across language ecosystems.
LLMs
Make agents that run free, not wild
Add agentic capabilities into your workflows, or give agents the perfect environment and set of tools so they can do their magic without wreaking havoc.
Tracing
See every step
Built-in tracing, logs, and metrics that show exactly what's happening at every step. Debug complex agent interactions immediately instead of guessing what went wrong.




Engine
Run it on any platform, any language
Containerized execution runtime that creates cacheable, reproducible operations. Works with any compute platform or tech stack, automatically optimizing for speed and cost.




Modules
Share & Reuse
Build reusable modules to share with your team or grab existing ones from the Daggerverse — stop coding the same automation patterns from scratch.




Examples
Examples
See Dagger in action
Components for modern
software and workflows
Explore projects built with Dagger, for inspiration or a quick start.
Testimonials
Testimonials
“A-ha!” moments
Jordan Parker
When @solomonstre drops an open-source Claude Code... ya run with it. "Toy Programmer" + added MCP & cursor-rules + an updated version of @zbeyens phenom "dotai" repo
Kyle Penfound
This is so awesome to play with. I just made a new frontend for my main demo repo without any hand-holding, writing integrations, or anything. Just core dagger + bring your own LLM. In a 2 minute video. Most of which is for the sake of the recording
Benjie D.
So im finally coming around on this whole AI thing is the future...Solomon Hykes demo of an agent writing a curl clone in 5 minutes using Dagger is still lingering in my mind...if any of you are curmudgeons like me you might want to watch...
Yves
If you don’t know where to start to create AI agents, you should have a look at Dagger agents. That makes it so easy to build tools that will benefit from AI but as real developer tool.
Steeve Morin
Few understand the implications of this. This will be absolutely defining
Alberto Fuentes
I'm feeling a "docker moment" in real time. Even though I didn't know the CI tool, it seems so promising for multiple areas.
Matias Pan
@dagger_io experimental AI tooling is really interesting. I just leveraged two separate modules (Strava and Notify). It took me 20 minutes to build the prompt and less than 5 to write the code.
Ankur Duggal
This is crazy cool! If you have worked with LLMs this is amazing!
Peter Jausovec
all your dagger functions are now available for agents to use. built-in function registry.
Madhav Jivrajani
This is nuts. @dagger_io has always had amazing dev exp, but the fact that it lends itself so seamlessly to something like this is endlessly impressive, massive props @solomonstre and the team!
Austen
Ok, my mind is a little blown right now. I never considered having LLMs accept containers as inputs and then interact with them to accomplish some goal.
Adrian Duermael
CEO at Cubzh
That's why tools like @dagger_io are going to be so powerful! (standardized text interface, multi-language modules and a neatly integrated web GUI over the CLI) Great AI assistant experiences largely depend on well-designed interfaces they can easily leverage.
Steeve Morin
Founder of ZML
I think few realize where Dagger sits in the agentic race. I know I didn’t until I was shown. Incredible.
Corentin Kerisit
If you can relate, you need @dagger_io and fast.
Pedro Piñera
Founder, CEO - Tuist
It’ll take time for people to realize the value of @dagger_io but I’m optimistic it’ll reach critical mass and break the vendor locking that many CI providers benefited from for many years.
Pedro Piñera
Founder, CEO - Tuist
I just tried to set up a CI pipeline using @dagger_io to compile and test an Elixir project and OMG. The portability is so priceless. Blog post in progress 😀
David Flanagan
My entire CI/CD pipeline is Dagger and I'd love for dev to be too; still a few changes that need to happen there though.
Watch this space 😃
Edouard Bonlieu
Co-founder @gokoyeb , deploy apps and databases on high-performance infrastructure around the world. Previously built @scaleway
Excited to hear @solomonstre talking about @dagger_io and Dagger functions. Need to push the @gokoyeb function to the Daggerverse
Jordan Parker
When @solomonstre drops an open-source Claude Code... ya run with it. "Toy Programmer" + added MCP & cursor-rules + an updated version of @zbeyens phenom "dotai" repo
Kyle Penfound
This is so awesome to play with. I just made a new frontend for my main demo repo without any hand-holding, writing integrations, or anything. Just core dagger + bring your own LLM. In a 2 minute video. Most of which is for the sake of the recording
Benjie D.
So im finally coming around on this whole AI thing is the future...Solomon Hykes demo of an agent writing a curl clone in 5 minutes using Dagger is still lingering in my mind...if any of you are curmudgeons like me you might want to watch...
Yves
If you don’t know where to start to create AI agents, you should have a look at Dagger agents. That makes it so easy to build tools that will benefit from AI but as real developer tool.
Steeve Morin
Few understand the implications of this. This will be absolutely defining
Alberto Fuentes
I'm feeling a "docker moment" in real time. Even though I didn't know the CI tool, it seems so promising for multiple areas.
Matias Pan
@dagger_io experimental AI tooling is really interesting. I just leveraged two separate modules (Strava and Notify). It took me 20 minutes to build the prompt and less than 5 to write the code.
Ankur Duggal
This is crazy cool! If you have worked with LLMs this is amazing!
Peter Jausovec
all your dagger functions are now available for agents to use. built-in function registry.
Madhav Jivrajani
This is nuts. @dagger_io has always had amazing dev exp, but the fact that it lends itself so seamlessly to something like this is endlessly impressive, massive props @solomonstre and the team!
Jordan Parker
When @solomonstre drops an open-source Claude Code... ya run with it. "Toy Programmer" + added MCP & cursor-rules + an updated version of @zbeyens phenom "dotai" repo
Kyle Penfound
This is so awesome to play with. I just made a new frontend for my main demo repo without any hand-holding, writing integrations, or anything. Just core dagger + bring your own LLM. In a 2 minute video. Most of which is for the sake of the recording
Benjie D.
So im finally coming around on this whole AI thing is the future...Solomon Hykes demo of an agent writing a curl clone in 5 minutes using Dagger is still lingering in my mind...if any of you are curmudgeons like me you might want to watch...
Yves
If you don’t know where to start to create AI agents, you should have a look at Dagger agents. That makes it so easy to build tools that will benefit from AI but as real developer tool.
Steeve Morin
Few understand the implications of this. This will be absolutely defining
Alberto Fuentes
I'm feeling a "docker moment" in real time. Even though I didn't know the CI tool, it seems so promising for multiple areas.
Matias Pan
@dagger_io experimental AI tooling is really interesting. I just leveraged two separate modules (Strava and Notify). It took me 20 minutes to build the prompt and less than 5 to write the code.
Ankur Duggal
This is crazy cool! If you have worked with LLMs this is amazing!
Peter Jausovec
all your dagger functions are now available for agents to use. built-in function registry.
Madhav Jivrajani
This is nuts. @dagger_io has always had amazing dev exp, but the fact that it lends itself so seamlessly to something like this is endlessly impressive, massive props @solomonstre and the team!
Build workflows that build software.
Build workflows that build software.
Build workflows that build software.
Build workflows that build software.
Community
Join the community
Connect, learn, and share with fellow engineers and builders.