Container Use
Development environments for coding agents. Enable multiple agents to work safely and independently with your preferred stack.
Install / Use
/learn @RyanLisse/Container UseREADME
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.
<p align='center'> <img src='./_assets/demo.gif' width='700' alt='container-use demo'> </p>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.
Installing
make
This will build the cu binary but NOT install it to your $PATH. If you want to build and install the binary into your $PATH, run:
make install && hash -r
The make install command will put cu in your $PATH. In order to use it, you will need to restart your terminal or run hash -r to refresh your $PATH (or equivalent for your shell).
Agent Integration
Enabling container-use requires 2 steps:
- Adding an MCP configuration for
container-use - (Optional) Adding a rule so the agent uses containarized environments.
Claude Code
# Add the container-use MCP
npx @anthropic-ai/claude-code mcp add container-use -- <path to cu> stdio
# Save the CLAUDE.md file at the root of the repository. Alternatively, merge the instructions into your own CLAUDE.md.
curl -o CLAUDE.md https://raw.githubusercontent.com/dagger/container-use/main/rules/agent.md
goose
Add this to ~/.config/goose/config.yaml:
extensions:
container-use:
name: container-use
type: stdio
enabled: true
cmd: cu
args:
- stdio
envs: {}
Cursor
curl --create-dirs -o .cursor/rules/container-use.mdc https://raw.githubusercontent.com/dagger/container-use/main/rules/cursor.mdc
VSCode / GitHub Copilot
curl --create-dirs -o .github/copilot-instructions.md https://raw.githubusercontent.com/dagger/container-use/main/rules/agent.md
Kilo Code
Kilo Code allows setting MCP servers at global or project level - chose any as appropriate for your case. The video shows MCP server setting at global level.
{
"mcpServers": {
"container-use": {
"command": "replace with pathname of cu",
"args": [
"stdio"
],
"env": {},
"alwaysAllow": [],
"disabled": false
}
}
}
Examples
| Example | Description | |---------|-------------| | hello_world.md | Creates a simple app and runs it, accessible via localhost HTTP URL | | parallel.md | Creates and serves two variations of a hello world app (Flask and FastAPI) on different URLs | | security.md | Security scanning example that checks for updates/vulnerabilities in the repository, applies updates, verifies builds still work, and generates patch file |
Run with Claude Code
cat ./examples/hello_world.md | claude
Run with goose
goose run -i ./examples/hello_world.md -s
Run with Kilo Code in vscode
Prompt as in parallel.md but added a sentence 'use container-use mcp'
Watching your agents work
Your agents will automatically commit to a container-use remote on your local filesystem. You can watch the progress of your agents in real time by running:
cu watch
Security Score
Audited on Jun 7, 2025
