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. Check out the Container Use playlist to see examples of how others are using it.
It's an open-source MCP server that works as a CLI tool with Claude Code, Cursor, and other MCP-compatible agents.
- 📦 Isolated Environments: Each agent gets a fresh container in its own git branch - run multiple agents without conflicts, experiment safely, discard failures instantly.
- 👀 Real-time Visibility: See complete command history and logs of what agents actually did, not just what they claim.
- 🚁 Direct Intervention: Drop into any agent's terminal to see their state and take control when they get stuck.
- 🎮 Environment Control: Standard git workflow - just
git checkout <branch_name>
to review any agent's work. - 🌎 Universal Compatibility: Works with any agent, model, or infrastructure - no vendor lock-in.
🦺 This project is in early development and actively evolving. Expect rough edges, breaking changes, and incomplete documentation. But also expect rapid iteration and responsiveness to feedback. Please submit issues and/or reach out to us on Discord in the #container-use channel.
# macOS (recommended)
brew install dagger/tap/container-use
# All platforms
curl -fsSL https://raw.githubusercontent.com/dagger/container-use/main/install.sh | bash
Container Use works with any MCP-compatible agent. The setup is always the same: add cu stdio
as an MCP server.
👉 Complete setup guide for all agents (Cursor, Goose, VSCode, etc.)
Example with Claude Code:
# Install Claude Code
npm install -g @anthropic-ai/claude-code
# 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
Ask your agent to create something:
Create a hello world app in python using flask
Your agent will work in an isolated environment and give you URLs to view the app and explore the code!
container-use is an Model Context Protocol server that provides Environments to an agent. Environments are an abstraction over containers and git branches powered by dagger and git worktrees. For more information, see environment/README.md.