Hawk Goes Hermetic: Docker-First Execution
We merged the biggest change to how Hawk executes code in the repo: container-first mode. Hawk is still in development — no public install yet.
The problem with permission prompts
Every AI coding agent asks "are you sure?" before running commands. It's the right thing to do when code runs directly on your machine. But it destroys flow. You're constantly context-switching between thinking and approving.
The solution: hermetic execution
In the codebase, Hawk runs all commands inside a Docker container by default. Your project is mounted at the same path, but everything the agent does is sandboxed.
This means:
- No permission prompts — the container is the permission system
- No accidental damage — can't rm your home directory
- Self-extending environments — agent can install tools it needs on the fly
- Reproducible — same container, same results, every time
How it works
When you run Hawk from source (or after a future public release): 1. Checks if Docker is running (fails clearly if not) 2. Builds or pulls the graycode/hawk image (Go, Python, Node, git, ripgrep pre-installed) 3. Starts a container with your project mounted 4. All Bash commands route through docker exec
The status bar shows container status in real-time — just like you'd expect.
DevEnv: self-extending containers
The agent has a new DevEnv tool. If it needs something not in the base image (say, Ruby or Terraform), it writes a Dockerfile, rebuilds, and hot-swaps the container. No restart, no manual setup.
Opt out if you want
If you prefer host mode: hawk --no-container. But we think once you try hermetic mode, you won't go back.
What's next
We're working on container image publishing so the image is available on Docker Hub. First run will be instant instead of building locally.