Herm is a model-agnostic, general-purpose AI agent built for safe, flexible execution. It natively supports multiple isolation methods (containers, in-process Unix-like sandboxes, and host sandboxes such as sandbox_exec on macOS or bubblewrap on Linux).
The Herm CLI defaults to containers with self-building environments, so you can run anything safely without approval interruptions.
The logo and mascot feature a hermit crab called Herm, representing the hermetic nature of the agent. 🐚
Containerized by default: Use the CLI on your host; the agent itself runs inside Docker containers and can only access files from your current work directory. No permission prompts.
Multi-provider — Anthropic, OpenAI, Gemini, Grok, OpenRouter, Ollama, Azure OpenAI, Vertex AI, or Bedrock… You can mix and match models, like Grok as the main agent, Haiku for exploration, and Gemini for vision.
Self-building dev environments — Herm extends container environments by writing Dockerfiles dynamically. Environments are scoped per project (current work directory).
100% open-source — Everything is open: system prompts, skills, tools. No hidden instructions, no black boxes. You can fork it to make it your own.
- macOS or Linux (arm64 and amd64)
- Docker (through Docker Desktop or OrbStack) when using the default container-based isolation
Use the install method that suits you:
curl -fsSL https://hermagent.com/install.sh | shbrew tap aduermael/herm
brew install hermOr read the instructions to build from source.
herm
Herm is also distributed as a native iOS and macOS application. It cannot be used as a coding agent in that context, but it has an in-process Unix-like sandbox and a Luau-scriptable runtime that allow it to accomplish a wide variety of tasks fully on-device. Herm can even write programs for itself in that environment, mount file storage, and leverage OS frameworks for web browsing, location, calendars, and more.
Herm for iOS/macOS is not yet available on the App Store, but is in active development in this repository.
Rough priority order, subject to change.
- Benchmarks: measure Herm against Claude Code, Codex, Grok Build and other coding agents.
- PR review bot: Herm bot (GitHub Action) that reviews pull requests.
- Safe connectivity: Let Herm talk to external APIs and databases without ever seeing your credentials. (We'll probably use SFAE for this)
herm/
├── app/apple/ iOS and macOS app (SwiftUI)
├── cmd/
│ ├── herm/ Herm CLI
│ └── debug/ Debug utilities
├── prompts/ System prompts and tool docs (embedded)
├── scripts/ Build helpers
├── tools/ Repo tooling
├── docs/ Website (GitHub Pages → hermagent.com)
├── external/
│ ├── langdag/ LLM client/orchestration submodule
│ └── cpsl/ Native sandbox backend submodule
├── img/ Demo assets
├── install.sh Installer (published at hermagent.com/install.sh)
├── THIRD-PARTY-NOTICES Third-party license attributions
├── CPSL_BUILD.md
├── CONTRIBUTING.md
├── go.mod
├── LICENSE
└── README.md
See CONTRIBUTING.md for setup, tests, CI checks, coding standards, and pull request expectations.
Join the Discord to chat, ask questions, or share feedback.
Herm is distributed under the MIT License.
Third-party software included with Herm is redistributed under its own licenses. See THIRD-PARTY-NOTICES for attributions, required NOTICE excerpts, and license texts.