A Devcontainer for Elixir

I built a devcontainer that makes it safe(-er) to run Claude Code in YOLO mode (--dangerously-skip-permissions) on Elixir&Phoenix projects and it comes with Tidewave built-in. It’s based on Anthropic’s reference but made safer and tailored to Elixir.

The container makes it safe(-er) to run Claude with --dangerously-skip-permissions by:

  • Restricting all outbound traffic to a domain allowlist via a strict network firewall using the battle-tested Squid proxy
  • Hiding sensitive files (e.g. .env) from Claude using file permissions, with Claude deny rules as a secondary safeguard.
    • These files and folders are simply empty in your devcontainer. No more uploading .env files to Claude by accident!
  • Isolating Claude state in a per-project .claude folder, separate from your host’s ~/.claude

It has a few quality-of-life features as well, like:

  • a Makefile with extensive commands to control the devcontainer (e.g. make dc.up|down|rebuild) and to start services in it (e.g. make dc.tidewave|server|claude)
  • Git and Git Worktree support, so you can run multiple Claude Code instances in parallel in the same container
  • Oh-my-Zsh with git status, tab completion, and fancy colors

Try it out here:

4 Likes