container-use

module
v0.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 9, 2025 License: Apache-2.0

README ยถ

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.


Install

First install Docker, then clone this repository:

curl -fsSL https://raw.githubusercontent.com/dagger/container-use/main/install.sh | sh

This will check for Docker (required), detect your platform, and install the latest cu binary to your $PATH.

Building

To build the cu binary without installing it to your $PATH:

make

The build uses the platform you are on by default. If you need to cross-compile you can use the TARGETPLATFORM environment variables. For example TARGETPLATFORM=linux/arm64 make to build for Raspberry Pi or TARGETPLATFORM=darwin/arm64 make to build for macOS Apple Silicon.

Integrate Agents

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.

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

The result of the instructions above will be to update your VSCode settings with something that looks like this:

    "mcp": {
        "servers": {
            "container-use": {
                "type": "stdio",
                "command": "cu",
                "args": [
                    "stdio"
                ]
            }
        }
    }

Once the MCP server is running, you can optionally) update the instructions for copilot using the following:

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 the global or project 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 --dangerously-skip-permissions

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'

container-use kilo code

Watch 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

Directories ยถ

Path Synopsis
cmd
cu command

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL