Search iThub

Search tools, categories and collections. Type at least two characters.

Explore all tools
↑ ↓ to explore resultsEnter to open · Esc to close

ForgeCode

Open-source Rust terminal coding agent with a Zsh plugin, multi-provider models, MCP and sandboxed worktrees

Visit website Save

ForgeCode is an Apache-2.0 terminal coding agent in Rust. It edits files and runs commands with your own model provider, adds a Zsh colon-prefix plugin, saved conversations, skills and MCP, plus an optional hosted factory.

Pricing
Freemium
Deployment
Windows / macOS / Linux app
Platforms
Windows, macOS, Linux
7,631stars1,454forks
1views
Updated

What is ForgeCode?

ForgeCode is a terminal coding agent written in Rust, developed in the open at tailcallhq/forgecode under the Apache-2.0 license. You run forge in a project directory, describe a change in plain language, and the agent reads files, applies patches, runs shell commands and keeps the conversation as a saved session. It talks to the model provider you configure rather than to one fixed model, and the README lists support for 300+ models through providers such as OpenAI, Anthropic, OpenRouter, Google Vertex AI, Groq and OpenAI-compatible endpoints.

The project has two layers. The open-source CLI is the part this listing is mainly about: an interactive terminal UI, a one-shot mode (forge -p "..."), a Zsh plugin that routes lines starting with : to the agent, MCP client support, skills, custom agents and custom commands. Alongside it, the ForgeCode website now presents a hosted product it calls a software factory: cloud machines on which several agents work through issues on a mission board, started from Slack, GitHub issues, alerts or a prompt, with pay-as-you-go pricing per agent-hour. The two are related but not identical, and the CLI does not require an account on the hosted service.

The CLI installs with curl -fsSL https://forgecode.dev/cli | sh. The v2.14.0 release, published on October 1, 2026, ships prebuilt binaries for macOS (Apple Silicon and Intel), Linux (glibc and musl, x86_64 and aarch64), Windows (x86_64 and ARM64) and Android (aarch64). Its notes list support for newer Claude models on the claude_code and anthropic providers, a pinned html2md dependency to repair the Android build, additional models for the Neuralwatt provider, and many dependency updates. Nix users can run nix run github:tailcallhq/forgecode for the development branch.

Configuration lives in ~/forge/.forge.toml and optional forge.yaml files. Provider credentials are entered through forge provider login, while the older .env approach is marked deprecated in the README. The project is maintained by Tailcall; the founder named on the ForgeCode blog is Tushar Mathur. Documentation is kept in the repository, so the README is the main reference for commands. The details above come from the repository, release page and official site.

Inside the application

ForgeCode screenshots

Explore the interface. Open a screenshot to view it at full size.

ForgeCode software factory diagram: people feed a Todo, In Progress, Done board, a fleet of agent workers, then review, quality, security, deploy and monitor stages
ForgeCode screenshot 1

Official architecture figure from the ForgeCode blog essay on the software factory, rendered from the published SVG.

Forge terminal session showing the startup banner and a prompt asking to rename a struct and ensure the code compiles
Interactive session start

Frame from the demo animation in the project README (recorded in early 2025, so the interface has changed since).

Forge terminal output summarising a completed rename, branch, commit and pull request created with the GitHub CLI
Task summary in the terminal

Later frame from the same README demo animation, showing the agent summary of the work it performed.

Source: official ForgeCode project page.

Key capabilities

  • Interactive terminal session Running forge with no arguments opens a persistent conversational UI in the current directory. The agent reads files, writes patches and runs commands while keeping context across the session. Options such as -C start it in another directory and --agent selects a specific agent.
  • One-shot and piped prompts forge -p "..." runs a single prompt and exits, and piped input is accepted as the prompt. This makes it usable from scripts and CI jobs, although you should treat any automated run as one that can edit files and execute commands.
  • Zsh plugin with the colon prefix After forge setup installs the plugin, lines starting with : are sent to Forge instead of the shell. Commands include :new, :conversation, :retry, :compact, :model and :doctor. Other shells use the plain CLI.
  • Three built-in agents forge implements changes and can modify files, sage (alias :ask) researches and reads code without editing, and muse (alias :plan) writes implementation plans into a plans/ directory. Splitting read-only agents from the implementing agent gives a safer way to explore an unfamiliar codebase first.
  • Multi-provider model access forge provider login walks through credentials for the listed providers, and OpenAI-compatible endpoints can be added with a custom URL. The default model and reasoning effort (none through max) can be set per session or saved globally with :config-model and related commands. Prompts and file context go to whichever provider you choose.
  • Saved and branchable conversations Every conversation is stored and can be listed, resumed, renamed, cloned, dumped as JSON or HTML, or deleted from the CLI. :conversation - toggles to the previous one, and :clone branches a session so a different approach can be tried without losing the first.
  • AI commit messages forge commit reads the diff, writes a message and commits, while --preview only prints the message. In the Zsh plugin, :commit-preview places the command in your buffer for editing. Check the staged diff first, since the message is generated from it.
  • Shell command suggestion forge suggest "find large log files" turns a description into a command. It is meant for commands you then read and run yourself; in the plugin flow the suggestion lands in your shell buffer instead of running.
  • File attachments with fuzzy search Typing @ and pressing Tab searches project files and inserts an @[path] reference, which attaches that file as context. This keeps prompts specific without pasting source into the terminal.
  • Skills Reusable workflows live in SKILL.md files with YAML front matter. Built-in skills cover creating a skill, executing a plan and writing a GitHub pull request description. Project skills in .forge/skills override global ones in ~/forge/skills, which override built-ins.
  • Custom agents, commands and AGENTS.md An AGENTS.md file in the project root, or in ~/forge, supplies persistent instructions that Forge reads at the start of every conversation. Markdown agent files and YAML command files in .forge add project-specific roles and shortcuts.
  • MCP server management The forge mcp subcommands list, import, show, remove and reload Model Context Protocol servers, so external tools can be added to an agent. Review what each server can reach before enabling it in a repository with sensitive files.
  • Semantic workspace search forge workspace sync (or :sync) indexes a codebase so the agent can search by meaning. The README states that indexing sends file content to a workspace server that defaults to https://api.forgecode.dev; setting FORGE_WORKSPACE_SERVER_URL points it elsewhere for self-hosting.
  • Sandboxed worktrees forge --sandbox experiment-name creates an isolated git worktree and branch and starts the session there. Experimental changes stay off your main working tree until you decide to merge them.
  • Restricted shell mode The README describes a restricted shell mode that limits file system access and unintended changes. It reduces exposure but is not a replacement for running the agent in a container or a disposable checkout when the task is untrusted.
  • Prebuilt binaries and updates Release assets cover macOS, Linux, Windows and Android on the architectures named in the release page. forge update installs the latest version and forge doctor diagnoses the shell environment.
  • Hosted software factory (separate product) The official site describes cloud factories billed per agent-hour, with Small, Medium, Large and Ultra machine sizes at $0.20, $0.40, $0.80 and $1.60 per agent-hour. Enterprise adds bring-your-own-cloud on AWS, Google Cloud or Azure, SAML SSO and organisations. It is optional and independent of the CLI.
Advertisements

Where ForgeCode fits

Understanding an unfamiliar repository

Switch to the read-only sage agent with :ask and ask how a subsystem works, where a data flow starts, or which files a change would touch. Because that agent does not modify files, it is a reasonable first pass. Check the answer against the code it cites before acting on it, and run forge workspace sync only if you accept the indexing data path described in the README.

Planning before implementing

Use :plan to have the muse agent write a plan into plans/, then review that file as you would a design note. The execute-plan skill can run it afterward. Planning first makes the scope visible and gives you a document to edit when the first attempt misunderstands the task.

Scripted and one-off changes

For a mechanical change, call forge -p with a precise prompt from a script or alias. Run it on a clean branch, inspect git diff, and run your normal tests. In CI, prefer a throwaway checkout, because the agent can edit files and run commands with the permissions of the account that started it.

Experimenting without touching your branch

Start with forge --sandbox name to work in an isolated git worktree and branch. Compare the result with git diff against the base, discard the worktree if the approach fails, and merge only what you reviewed. This also suits trying a different model on the same task.

Commit and pull request hygiene

Use :commit-preview so the generated message lands in your shell buffer for editing, and the github-pr-description skill for a pull request body from the diff. Reviewers still need the code to be correct; treat generated text as a draft that you stand behind.

Standardising agent behaviour for a team

Commit an AGENTS.md with coding conventions and commands the agent should avoid, plus project agents and skills under .forge. New contributors then get the same instructions, and changes to those files go through normal code review.

Install

curl -fsSL https://forgecode.dev/cli | sh

Reviews of ForgeCode

No reviews yet

Be the first to share your experience with ForgeCode.

Loading review form…

Alternatives to ForgeCode

Compare ForgeCode with these tools →