PROJECT WORKSHEET

Focus.AI Labs Workshop Series

UNCLASSIFIED
Est. Time
15 min
Published
July 8, 2025

Dagger and Container Use

What You'll Build

Unlock the power of isolated development with Dagger and Container Use—no more worrying about missing dependencies or system conflicts.

Dagger and Container Use

Container Use lets each of your coding agents have their own containerized environment. Go from babysitting one agent at a time to enabling multiple agents to work safely and independently with your preferred stack.

Install

Lets check out dagger and container-use

brew install dagger/tap/dagger
brew install dagger/tap/container-use

Setup the environment

mkdir myrepo
git init myrepo

Now lets use containers!

# Add Container Use MCP server
cd /path/to/repository
claude mcp add container-use -- cu stdio

# Add agent rules (optional)
curl https://raw.githubusercontent.com/dagger/container-use/main/rules/agent.md >> CLAUDE.md

Then start up claude, and ask it to do something

make an awesome looking markdown to html converter using zig

And then it starts up its own development container:

This creates an isolated environment to build stuff. Why? I said to use zig, but I don’t have zig on my system. But it goes and setups the environment thats needed.

$ which zig
zig not found

Go to another terminal, and then start up another claude, and give it another task. You can then see them both running in their own environments:

cu list
ID                TITLE                           CREATED        UPDATED
uncommon-chamois  Zig Hacker News Scraper         7 seconds ago  7 seconds ago
brief-calf        Zig Markdown to HTML Converter  5 minutes ago  19 seconds ago

So we have 2 isolated environments, with everything that they need to do their job, working independently without messing up the host environment.

See what happened

$ cu checkout uncommon-cham?ois
Switched to branch 'cu-uncommon-chamois'
lsq
CLAUDE.md		hn_scraper.zig		hn_top_stories_20270.md
$ cu checkout brief-calf
Switched to branch 'cu-brief-calf'
ls
build.zig			final_output.html		output.html
built_output.html		markdown_converter_final.zig	README.md
CLAUDE.md			markdown_converter_fixed.zig
example.md			markdown_converter.zig
## Dagger

Launch it with

```shell
dagger

Start up an alpine container:

container | from alpine | terminal

That’s cool.

Materials Needed

  • Computer with internet access
  • Basic command line knowledge
  • Text editor
← All Projects

Subscribe to our newsletter

Powered by Buttondown.

Ready to distill signal from noise?

Whether you're exploring possibilities or ready to build, we'd love to hear what you're working on.