Persistent, isolated workspaces for AI coding agents. container gives each project its own Docker or Podman environment.
$ npx -y skills add aerovato/container --agent claude-code
FAQ
container is a Claude Code plugin with 1 hand-picked skill for development work, indexed on Flowy. Install it with the command on its page. It includes container. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.
Repo: aerovato/container

containerPersistent, isolated workspaces for AI coding agents.
container gives each project its own Docker or Podman environment. Agents can install dependencies, configure tools, and modify their environment without polluting your base system or interfering with other projects.
Isolation also makes hands-off agent workflows more practical by limiting destructive operations to the project workspace and explicitly mounted resources.
macOS and Linux:
curl -fsSL https://container.aerovato.com/install.sh | sh
Windows PowerShell:
irm https://container.aerovato.com/install.ps1 | iex
Alternatively, install through npm:
npm install -g @aerovato/container
Run the guided onboarding flow:
container init
Choose your coding harnesses, development tools, runtime, and mounts, then accept the initial image build.
Navigate to a project and start its workspace:
cd /path/to/project
container
Your project is mounted at /root/<project-name>. The container and anything installed inside it persist between sessions.
Start your preferred coding agent and work normally:
opencode
npm install <package>
Want an agent to configure Container for you? Install the portable Container skill on the host, then ask your agent to set up packages, harnesses, tools, mounts, permissions, or migrations.
npx skills add aerovato/container --skill container
npx skills add aerovato/container --skill container --global # All projects
The skill is host-side because agents inside managed containers cannot access Container's host configuration.
container # Open the current project's workspace
container run /path/to/project # Open a specific project
container run /path -- -p 8080:80 # Pass runtime flags
container list # List managed containers
container stop # Stop the current workspace
container remove # Remove the current workspace
container settings # Change common settings
container init # Re-run onboarding
Rebuild the shared image when updating tools or customizations:
container build
container build tools
container build harness
container build user
Add packages and setup commands to:
~/.code-container/Dockerfile.User
Then rebuild the user layer:
container build user
Harnesses, tools, runtime flags, mounts, and base-image settings are configured through ~/.code-container/settings.json.
See Configuration for settings details and Permissions for hands-off harness permissions.
container limits what an agent can access, but it does not make the agent trusted.
The current project is mounted read-write and can be changed or deleted. Enabled configurations and optional credentials may also be available inside the container. Containers retain network access, and container does not protect against prompt injection or agent misalignment.
Keep important work under version control and only mount resources the agent needs.
__mocks__/
fs/
fs.ts
promises.ts
.github/
README/
banner.jpg
workflows/
publish.yml
.gitignore
.husky/
pre-commit
.ignore
.prettierignore
.prettierrc
AGENTS.md
Changelog.md
CLAUDE.md
eslint.config.mjs
LICENSE.md
package-lock.json
package.json
README.md
resources/
Dockerfile.User
scripts/
build-binary.sh
build-js.sh
generate-release-notes.sh
package-release.sh
precommit.sh
release.sh
skills/
container/
references/
configuration.md
migration.md
permissions.md
troubleshooting.md
windows.md
SKILL.md
src/
args.ts
commands/
attach.ts
build.ts
create.ts
list.ts
remove.ts
run.ts
settings.ts
shared.ts
stop.ts
upgrade.ts
config.ts
container-client.ts
container.ts
docker.ts
dockerfile-core.ts
dockerfile-harness.ts
dockerfile-tools.ts
harness-packs.ts
main.ts
onboarding.ts
platform/
fs.ts
os.ts
paths.ts
shell.ts
setup.ts
tool-packs.ts
tos.ts
types.ts
update-check.ts
tests/
args.test.ts
commands.test.ts
config.test.ts
docker.test.ts
onboarding.test.ts
platform/
fs.test.ts
helpers.ts
os.test.ts
paths.test.ts
shell.test.ts
setup.test.ts
setup.ts
tos.test.ts
tsconfig.json
tsconfig.test.json
vitest.config.ts
website/
astro.config.mjs
public/
_headers
banner.png
favicon.ico
fonts/
CascadiaMono.woff2
CascadiaMonoLicense
InterLicense
InterVariable.woff2
Sentient-Variable.woff2
SentientLicense
install.ps1
install.sh
logos/
claude.svg
codex.svg
cursor.svg
github.svg
src/
components/
GetStarted.astro
pages/
index.astro
styles/
global.css
tsconfig.json© 2026 Flowy · Free and open source
Built for Claude Code · Not affiliated with Anthropic