Mjolnir (mj) is a full-featured frontend (ACP client)
for Codex and Claude. It gives
both agents the same terminal workflow, team configuration, review pipeline,
and remote-control surface, without taking them out of the harness they were trained to use.
- Codex and Claude teams: use either agent in its native harness for coding and review, or split the roles between them without changing tools or workflows.
- Integrated adversarial review: automatically challenge changes with an independent, cross-provider reviewer with access to specialized static analysis tooling.
- [Remote control]: run the workspace and control plane on your machine while driving the session from another browser or device.
- Parallel subagents: delegate to as many as 16 write-capable agents in fresh sessions, with live progress and completed reports returned to the primary agent.
- Mid-turn steering: queue a correction while a supported agent is working, then use Cancel to apply the oldest queued correction to the running turn.
- Worktree sessions: start work in a linked Git worktree and keep agent changes separate from the current checkout, whichever coder you choose.
- Shared project knowledge: carry verified discoveries across Claude and Codex sessions through one local, inspectable memory interface synchronized into each provider's native memory files.
- Local voice input: dictate prompts on macOS, Linux, and Windows with cross-platform, on-device speech recognition.
Choose one of four teams during onboarding, from /mjconfig, or with
Shift+Tab in a session:
- Codex
- Claude
- Codex coder + Claude reviewer
- Claude coder + Codex reviewer
The coder owns the primary session. The reviewer backs the independent review pass that challenges changed turns, plus the default subagent pool. Switching teams keeps Mjolnir's terminal, permissions, sessions, tools, and remote workflow unchanged.
Mjolnir itself, its remote-control server, transcripts, and workspace tools run on infrastructure you control. Model requests still use the selected provider under its terms and data boundaries.
Claude and Codex should not have to rediscover the same build requirement, architecture constraint, or debugging conclusion in separate sessions. Mjolnir gives both agents one local project-knowledge layer and synchronizes it into their native memory files before sessions start.
Agents can save verified discoveries as they work, or you can manage them directly:
mj memory list
mj memory add "Release builds must run through Nix"
mj memory add --global "Prefer concise commit messages"
mj memory forget m7Use /memory for the same workflow inside an interactive session. Knowledge
can be project-scoped or global, remains readable in Mjolnir's local
memories.json, and is synchronized into provider-native memory rather than
being added to a user prompt.
Mjolnir imports Claude Code's native project MEMORY.md into its shared store,
then writes a managed section to Claude and Codex native memory files. This
lets a discovery made in one agent remain useful when you switch teams without
altering either provider's user messages.
See Shared project knowledge for behavior, controls, and source ownership.
You need credentials for at least one configured model provider. Mjolnir ships
with built-in Codex and Claude ACP routes (and Anvil on Android) and manages
the Node.js runtime those routes need: an embedded Node 24 on macOS, Linux,
and Windows, and Termux's nodejs package on Android (installed via pkg when
npx is missing). A system Node.js installation is only required when
installing through npm/npx. Provider use may incur cost.
Review the data and trust boundaries before connecting a private repository.
Choose any of the following methods.
Release installer: macOS and Linux on x86-64 or ARM64; Android on ARM64:
curl -fsSL https://raw.githubusercontent.com/BrokkAi/mjolnir/master/install.sh | bashHomebrew: macOS (Apple Silicon or Intel) and Linux (x86-64 or ARM64 glibc):
brew install brokkai/tap/mjolnirnpm or npx: macOS, Linux, Windows, and Android with Node.js 18 or later:
# Linux: install the WebKitGTK 4.1 runtime first.
# Ubuntu/Debian: sudo apt-get install libwebkit2gtk-4.1-0
# Fedora: sudo dnf install webkit2gtk4.1
npm install -g @brokkai/mjolnir
# Or run without a global install:
npx -y @brokkai/mjolnircrates.io: install the terminal client and desktop voice worker with Rust:
# Linux: install WebKitGTK 4.1 development files first for `mj app`.
# Ubuntu/Debian: sudo apt-get install libwebkit2gtk-4.1-dev libasound2-dev
# Fedora: sudo dnf install webkit2gtk4.1-devel alsa-lib-devel
cargo install --locked brokk-mjolnir brokk-mj-voice-workerRelease archive: download the archive for Linux, macOS, Windows, or Android from GitHub Releases.
Build from source:
git clone https://github.com/BrokkAi/mjolnir.git
cd mjolnir
cargo build --release
./target/release/mj --cwd .Desktop release packages include mj-voice-worker; Android packages omit
voice support. See the full installation guide
for platform details, upgrades, checksums, and custom install paths.
Open a repository and run:
mjFirst launch discovers available provider credentials and opens setup on the
team those credentials support: Claude coder + Codex reviewer with both
providers signed in, or that provider's own team with one. Press Shift+Tab
to switch teams later, or open the Team tab in /mjconfig. Team and
adapter route changes apply to a new session. In an active session, /model,
/effort, and their /mjconfig entries change the model or reasoning effort
without restarting when the connected ACP agent advertises the corresponding
control; choices made during a turn apply after that turn completes.
The 10-minute evaluation uses a checked-in disposable fixture to exercise a delegated subagent change, its pushed-back report, explicit review, session resume, and headless output without risking a real repository.
For a quick read-only headless check:
mj --print --permission-mode manual "summarize this repository; do not modify files"Use an isolated worktree for an interactive coding session:
mj --worktree- Teams and adversarial review
- Install and run
- Start with Codex
- Start with Claude
- 10-minute evaluation
- Remote control
- Mid-turn steering and terminal controls
- Voice dictation
- Subagents
- Shared project knowledge
- Delegation and adversarial review
- Permissions and workspace scope
- Sessions, worktrees, and resume
- Headless automation
- Other agents and models
- License and use cases
- Data and trust boundaries
See CONTRIBUTING.md for development setup, runtime invariants, tests, and dependency-license maintenance. Maintainers tagging a release should follow RELEASING.md. Repository-specific agent guidance lives in AGENTS.md.
Mjolnir and its voice worker are licensed under GPL-3.0-only. See
LICENSE. Official release archives include the corresponding source
offer, dependency reports, and supplemental notices.
See License and use cases
and Third-party notices.
