Download

Forge IDE 0.4.2

Download for macOS

21 MB .dmg · Apple Silicon · macOS 13 or later · signed and notarized. This build is arm64 only and will not run on an Intel Mac.

Build from source

Linux x86-64 builds and passes tests in CI, but has no packaged build yet. Windows and Linux ARM64 are not supported yet. Intel Macs are not a current target.

Forge IDE editing forge-agent's compaction.rs on macOS. Left: file explorer showing the forge-agent, forge-agent-proto, forge-ide, forge-tui-rs workspace. Center: the compaction.rs source open in the editor. Right: the Forge Agent panel showing a documentation-comment task with Read, code-search, Read, and Edit tool calls, a checkpoint marker, and a +3 −2 diff summary.
Forge IDE editing Forge's own compaction.rs. The agent panel shows the task, tool calls, the applied edit, and a checkpoint the run can be rewound to.

Overview

Forge is a terminal-based autonomous AI coding agent that runs locally on the operator's machine. It connects to any OpenAI-compatible endpoint, to Anthropic via direct API key, to ChatGPT Codex via OAuth against an existing ChatGPT Plus subscription, or to local model servers such as LM Studio, Ollama, llama.cpp, and vLLM. No mandatory cloud, no telemetry. Claude subscription (Pro/Max) login is not supported — Anthropic's terms restrict subscription OAuth credentials to its own applications. Use an Anthropic API key instead.

The agent is built around a small Rust core and a terminal UI, and is designed to be readable and tailorable rather than feature-maximal. The codebase is intentionally small enough that an operator can read it, understand what the agent is doing, and modify it when their workflow demands something a vendor wouldn't ship.

A standalone graphical IDE built on the same Rust agent core ships alongside the terminal client as a second surface, distributed as a signed and notarized .dmg for Apple Silicon on macOS 13 or later. That build is arm64 only — an Intel Mac will not run it, and Intel is not a current target. Linux x86-64 builds and passes tests in CI but has no packaged build, so it means building from source; Windows and Linux ARM64 are not supported yet. See the release notes for the current per-component platform table. The CLI and the GUI run against the same agent and can be used independently — the GUI isn't a replacement for the terminal experience, and the terminal isn't a fallback for the GUI.

Capabilities

Project log

  • Forge 0.4.2 released

    A .gz file now opens in the editor, decompressed by the same DEFLATE implementation written for the PNG decoder in 0.4.0 — a different header over the same payload, so it cost a header parse and no new dependency, and the trailer's checksum and length are both verified. Anything that genuinely is not text now says so plainly instead of reporting a UTF-8 decoding fault. A saved agent conversation no longer stores whole tool results: one here had reached 11.4 MB on the strength of a single 7.4 MB result, and since the transcript is rewritten in full on every new message that was eleven megabytes re-serialised each time on the event-loop thread. Saved output is capped at 64 KB keeping both ends, with the untruncated copy remaining in the agent's own log, which is what rewind reads — the largest conversation drops to 3.4 MB and all thirty-five fall 27% in total. The agent composer grows with what is typed rather than scrolling inside three fixed lines, and the send button turns red, shows a stop square, and interrupts the turn while one is running, instead of sitting inert for its duration. Editor tabs also gained a right-click menu for copying paths. Multi-cursor edits are undoable. Signed build attached to the release. See the 0.4.2 release notes.

  • Forge 0.4.1 released

    Three memory and correctness fixes in the editor. An undo step used to be a copy of the whole buffer, so an eighteen-thousand-line file held roughly 136 MB of undo history; a step is now the one region of lines that differs, measured at 25 KB for two hundred steps on a 1.1 MB file against 215 MB as whole copies. Undo depth became a setting rather than a constant. Terminal scrollback in a saved session stored a colour beside every single character; it is now text plus the runs of colour over it, which took real saved sessions from 12.3 MB to 0.5 MB with nothing dropped — every character keeps its own colours, described once per run instead of once per character, and sessions written by earlier builds still load. And Restart Window now carries a window's identity even when the shared window record has no entry for it; previously the window came back apparently new while a megabyte of its saved state sat on disk under the old id. Windows are also planned one at a time, so a single missing entry no longer sends every window down the folder-only path. Signed build attached to the release. See the 0.4.1 release notes.

  • Forge IDE is available as a signed build

    A signed and notarized .dmg is attached to the 0.4.0 release, so installing the IDE no longer means building it. It carries a Developer ID signature, the hardened runtime, and a stapled notarization ticket — which means it installs without a Gatekeeper prompt and without needing to reach Apple at first launch. The build is arm64 and requires macOS 13 or later; the bundled forge-agent and forge-server binaries are signed individually as well. Distribution testing on a .dmg had been noted as beginning in July and is what this closes.

  • Forge 0.4.0 released

    The IDE now decodes images itself rather than through the image crate — DEFLATE and zlib, PNG across all five colour types and bit depths 1 through 16 including Adam7 interlacing, and GIF89a including LZW and all four frame-disposal methods, in about a thousand lines, decode-only. Output was compared byte for byte against the crate it replaces over a 25-megabyte image before that crate was removed; six crates left the dependency graph. The agent gained a working area of its own under the system temporary directory, so scratch scripts and one-off reproductions stop landing in the user's project — auto-approved writes are confined to it by resolved-path comparison rather than string prefix, the directory is created 0700, and one that is a symlink or owned by another user is refused. A conversation driven far past the context limit can now recover instead of wedging permanently, and single tool results are bounded as they arrive so the recovery path is a backstop rather than what keeps a session alive. The terminal client rewrites only the transcript lines that changed instead of reprinting the whole live block on every spinner tick, which had been sustaining 11.2 KB/s of escape sequences for the length of a run. Full detail in the 0.4.0 release notes and the per-component changelogs.

  • Forge 0.3.1 released

    A same-day patch on 0.3.0, carrying two fixes. A session title was cut to length by byte index rather than character boundary, so any multi-byte character landing on the cut point panicked the agent's runtime thread — an emoji in a prompt, a CJK identifier, an accented word, or the box-drawing characters models reach for when sketching a diagram. The same pattern was present in seven places across the agent and the editor; all seven now cut on character boundaries and count their limits in characters, with a property test walking every cut point of a mixed ASCII/emoji/CJK string. Separately, an editor window with no folder open named the home directory in its status bar — which is the account name, so it placed the user's name in the corner of every screenshot of an empty window. It now reads No folder. See the 0.3.1 release notes.

  • Forge 0.3.0 released — IDE and CLI ship together

    Forge 0.3.0 is publicly available. The Forge IDE joins the terminal client as a second, independent surface; both run against the same forge-agent binary. The repository is now a Cargo workspace at github.com/Vulkgryph/Forge, carrying forge-agent, forge-tui-rs, and forge-ide. macOS on Apple Silicon is the verified platform; Linux x86-64 builds and passes tests in CI, and Linux ARM64, Windows, and Intel Macs are intended but not yet end-to-end smoke-tested. See the 0.3.0 release notes for the full component breakdown and the per-component CHANGELOGs.

  • Repository temporarily private — Forge IDE release preparation

    The Forge repository has been set to private while the Forge IDE is prepared for release and undergoes internal review. The CLI's public source is unchanged in substance — both surfaces will re-emerge together as a monorepo at the same URL when the IDE release is ready. Existing installs continue to work; new clones and forge-update pause during this window. The v0.1.0, v0.2.0, and v0.2.1 release tags remain in the repository history for the moment of re-release.

  • Forge IDE reaches 0.1.0 code stability

    The IDE is now stable enough to be used as the primary editor in production work on the maintainer's own flow. Reliability across all flows is not yet fully established — expected for a first release — but the core loop is solid. Distribution testing on the signed .dmg begins now; public release follows when that testing passes.

  • Forge 0.2.1 released

    Reliability release. Ends the edit_file "old_string not found" loop by returning bounded recovery hints (closest match, whitespace diffs, or a disambiguation list) instead of a bare error — especially valuable for weaker local models. Restores token counting on streaming OpenAI-compatible endpoints (mlx_lm, vLLM, llama.cpp, LM Studio, OpenAI), which had been silently breaking auto-compaction on long local sessions. Recovers tool calls that misbehaving servers leak as raw text so the agent no longer stalls at high context on mlx_lm. Installer now checks for curl, ripgrep, and bun up front. See the CHANGELOG.

  • Forge 0.2.0 released

    0.2.0 ships streaming reasoning display for chain-of-thought models (compact "Thinking…" line with Ctrl+T to expand), fixes compatibility with strict OpenAI-compatible servers like mlx_lm that require the system message first, and corrects a Ctrl-key shortcut leak into the input field. It also formally completes the Claude subscription OAuth removal first patched into 0.1.0 — Anthropic is still fully supported via API key. See the CHANGELOG for details.

  • Forge 0.1.0 released

    Forge is now publicly available. Source is on GitHub at github.com/Vulkgryph/Forge under the Vulkgryph organization. Installation, configuration, and usage notes live in the repository README. Reach [email protected] for inquiries.

  • Project page expanded

    Forge's project page now describes the agent's capability surface ahead of the public release push. Repository and documentation links remain pending until the public push lands.

  • Project page established

    Forge now has a project page and Git-backed project log source. Detailed changelogs can remain in the repository when public.

Documents