An open-source, local-first agentic development environment for Claude Code, Codex, OpenCode, and other coding agents — one workspace for agent workflows, projects, dev services, ports, files, diffs, and human review.
Install · Docs · Why Warpforge? · Agents · Memory · Modes · Agent tools · Projects & runtime
Warpforge is an agentic development environment (ADE): the operating layer around your coding agents. Agent conversations, project runtime, isolated worktrees, live services, configurable multi-agent workflows, and human review live in one place — so running several agents does not turn into managing several terminals.
It does not replace Claude Code, Codex, or OpenCode; those tools still do the coding. Warpforge gives them shared project context, parallel execution, runtime visibility, and a reviewable path from prompt to commit. Everything runs on your machine: there is no separate Warpforge account or API key, and your existing agent authentication stays with the underlying CLI.
Homebrew:
brew install --cask ephor/tap/warpforgeOr manually:
- Open the latest Warpforge release.
- Download
Warpforge_<version>_aarch64.dmg. - Open the DMG and drag Warpforge into Applications.
- Launch it and select the coding agents you want enabled.
The build is signed with a Developer ID certificate and notarized by Apple, so it opens without Gatekeeper workarounds. It needs macOS 11 or newer on an Apple Silicon Mac and ships its own daemon — no Rust toolchain or source checkout required.
Every release ships rpm, deb, and AppImage alongside the macOS DMG.
Via Homebrew (linuxbrew, AppImage):
brew install --cask ephor/tap/warpforgeOr natively (rpm / deb):
# Fedora / RHEL / openSUSE
sudo dnf install ./Warpforge_<version>_amd64.rpm
# Debian / Ubuntu
sudo dpkg -i ./Warpforge_<version>_amd64.deb
# Any distro (AppImage)
chmod +x ./Warpforge_<version>_amd64.AppImage && ./Warpforge_<version>_amd64.AppImageDownload the assets from the latest release — SHA256SUMS is published alongside them.
Updates are built in and signed. The in-app updater is the primary update channel for both install methods — Homebrew performs the initial install, and Warpforge keeps itself current afterwards (auto_updates is declared in the cask, so brew upgrade never fights the built-in updater). Warpforge checks the release feed shortly after its daemon comes up, and on demand from the app. Downloading and installing are always explicit actions — nothing installs in the background. An update carries both the desktop UI and its matching daemon, verifies an exact version and protocol handshake, and is refused with a clear list of blockers while agent tasks or runtime transitions are still active rather than interrupting work.
Note
macOS Apple Silicon and Linux x64 (Fedora 46+, Debian/Ubuntu via rpm/deb/AppImage) are validated desktop targets. Windows remains an opt-in preview.
Two features shell out to CLIs the app doesn't bundle: Node.js/npm for one-click agent install/update, and the GitHub CLI (gh, authenticated via gh auth login) for Open pull request — commit and push don't need it. See Install → Requirements for details.
Warpforge adds no model account or API-key layer. It looks for supported agent binaries on your PATH, speaks the Agent Client Protocol (ACP) to them over stdio, and stores your enabled-agent selection locally. If Claude Code, Codex, or OpenCode is already installed and authenticated, that setup is reused as-is — the CLI keeps owning authentication, model access, and the coding itself.
AI-assisted development becomes a coordination problem long before it becomes a model problem: agents wait on each other, services collide on the same ports, logs hide in terminal tabs, and finished work scatters across chats, worktrees, and diffs. Warpforge turns that sprawl into one visible workflow — Mission Control for every session, a runtime that travels with the task, human review at the moments that matter, and an orchestrator for when a task outgrows one agent.
Read the full pitch in Why Warpforge?
Warpforge detects Claude Code, Codex, OpenCode, Qwen Code, Goose, Junie, Cursor, and Pi as globally installed binaries and speaks ACP to them over stdio — no separate Warpforge account, no new API key, your existing agent login just works. Any other ACP-compatible agent can be added with a custom command.
See Bring your own agents for the full list and setup details.
A regular task is one conversation with one agent. Enable Orchestrator and that agent becomes a lead that can dispatch bounded sub-tasks to other harnesses and track their results in context. For repeatable work, configured workflow pipelines drive a fixed plan? → implement → review ⇄ fix sequence across stages, each with its own agent and model, pausing for human input at review limits and never committing automatically.
Details in Orchestration and workflows — and Choosing your mode for when each is worth its cost.
Claude Code reads CLAUDE.md, Codex reads AGENTS.md, opencode reads its own — teach one, and the other two still don't know. Warpforge gives them a single local store instead, with global and per-project scopes, full-text plus optional local-embedding search, and a dreaming pass that reviews stored facts against the codebase and proposes merges and corrections for you to approve — it never rewrites memory on its own.
Agents reach it through the same tool surface they use for everything else: 31 MCP tools covering the runtime (read a service's logs, restart it), the board (file a task), memory, and — for orchestrators — sub-agents and pipelines.
More in Cross-harness memory.
Register a project once and Warpforge reads or creates .warpforge/workspace.yaml, brings its services online in dependency order with captured logs and readiness detection, and gives every project a predictable 100-port range starting at 4000 — no more address already in use. A local Rust daemon owns all state behind a WebSocket API, so work survives closing the window. Review changed files as unified or split diffs, accept or reject hunks, commit, push, and open a pull request from the same workspace.
Full guide: Projects and their runtime · config schema: Configuration reference
Only needed to develop Warpforge itself or to run it where no build is published — the installer above is the recommended path otherwise.
git clone https://github.com/warpforgehq/warpforge.git
cd warpforge/desktop
bun install
bun run tauri devPrerequisites, running the checks, and building a local bundle: Build from source.
The Rust binary manages the project registry directly and can run the daemon by hand:
warpforge add <path> # register a project
warpforge remove <name> # unregister it
warpforge list # list projects and port ranges
warpforge init [path] # create workspace config (--add also registers it)
warpforge bootstrap [path] # generate a config interactively with an agentinstall.sh installs this as wf from published archives (macOS Apple Silicon only for now); it does not install the desktop app. Full command reference: CLI reference.
Warpforge is young software, shipped and built in the open: macOS Apple Silicon and Linux x64 are validated, Windows remains an unvalidated preview, and runtime state is local to one machine. See Architecture and current scope for the full picture.
Bug reports, design feedback, and focused pull requests are welcome. If you use Warpforge on a real multi-agent workflow, sharing what felt smooth — and what still sent you back to terminal juggling — is especially useful. Release notes live in CHANGELOG.md.


