Skip to content

Development environments for coding agents. Enable multiple agents to work safely and independently with your preferred stack.

License

Notifications You must be signed in to change notification settings

ugmurthy/container-use

 
 

Repository files navigation

container-use

container-use

Containerized environments for coding agents. (📦🤖) (📦🤖) (📦🤖)

Experimental Discord

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.

container-use demo

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:

  1. Adding an MCP configuration for container-use
  2. (Optional) Adding a rule so the agent uses containarized environments.
# 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

Add this to ~/.config/goose/config.yaml:

extensions:
  container-use:
    name: container-use
    type: stdio
    enabled: true
    cmd: cu
    args:
    - stdio
    envs: []
curl --create-dirs -o .cursor/rules/container-use.mdc https://raw.githubusercontent.com/dagger/container-use/main/rules/cursor.mdc
curl --create-dirs -o .github/copilot-instructions.md https://raw.githubusercontent.com/dagger/container-use/main/rules/agent.md

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

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

About

Development environments for coding agents. Enable multiple agents to work safely and independently with your preferred stack.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 98.5%
  • Makefile 1.1%
  • Dockerfile 0.4%