Universal CLI for coding agents, powered by the Agent Client Protocol
npm i -g @forge-agents/forge
Install globally using NPM:
npm i -g @forge-agents/forgeThen run forge to get started:
forgeInstall your first agent:
forge claude installRun Claude Code with a prompt:
forge claude --model opus --mode acceptEdits "Create or update my CLAUDE.md"Forge is a terminal interface for AI coding agents. It implements the Agent Client Protocol (ACP) - an open standard that lets any editor work with any agent, similar to how LSP standardized language servers.
Key features:
- Unified history - Single conversation history across all agents
- Growing agent ecosystem - 15+ agents with new ones added weekly
- Full ACP feature set - Tool calls, session modes, agent plans, etc
Models and their harnesses are co-dependent. ACP lets you run each model in its purpose-built harness (Sonnet in Claude Code, GPT in Codex) instead of a one-size-fits-all solution.
This also enables hyper-specialized agents for domain-specific problems - like Stakpak for DevOps workflows, or custom agents built for your team's specific needs.
For a deeper dive, see Viv Trivedy's great article: Agents Should Be More Opinionated.
Note: Forge has install logic for all agents listed at agentclientprotocol.com/overview/agents, but note that not all of them are running yet. Please file an issue for any agents you have trouble running!
To view available agents, run:
forge agents- Claude Code (via Zed's SDK adapter)
- Codex CLI (via Zed's adapter)
- Gemini CLI
- Augment Code
- Code Assistant
- fast-agent
- Goose
- Kimi CLI
- LLMling-Agent
- Mistral Vibe
- OpenCode
- OpenHands
- Qwen Code
- Stakpak
- VT Code
Note: Claude Code and Codex aren't ACP-native yet. The
claudeandcodexentries point to Zed's ACP wrappers (@zed-industries/claude-code-acpand@zed-industries/codex-acp), which you'll need to install.
Install an agent:
forge <agent> installUninstall an agent:
forge <agent> uninstallCheck if a given agent is installed
forge <agent> checkforgeforge <agent> "Create or update AGENTS.md"forge <agent> --model opus --mode acceptEdits "Create or update AGENTS.md"
Supported flags:
--model- Model identifier (runforge <agent> modelsto see options)--mode- Session mode (runforge <agent> modesto see options)
Prints response and exits:
forge <agent> -p "Create or update AGENTS.md"Commands:
forge start TUI [default]
forge agents list all available agents
forge <agent> <subcommand> manage agent <install|uninstall|check|modes|models>
forge <agent> [prompt..] run agent with prompt
Options:
-h, --help show help [boolean]
-v, --version show version number [boolean]
--print-logs print logs to stderr [boolean]
--log-level log level [string] [choices: "DEBUG", "INFO", "WARN", "ERROR"]
--project path to start forge in [string]
-c, --continue continue the last session [boolean]
-s, --session session id to continue [string]
Examples:
forge Start TUI
forge claude install Install claude
forge claude "Update my CLAUDE.md" Run claude with prompt
forge claude --model opus --mode bypassPermissions "Refactor the authentication module" Run with specific model/modeforge <agent> [prompt..]
run agent with prompt
Options:
--mode mode to use for the agent [string]
--model model to use for the agent [string]
-p, --print Run headless, print response and exit [boolean]
--project path to start forge in [string]
-c, --continue continue the last session [boolean]
-s, --session session id to continue [string]
-h, --help show help [boolean]Have feedback, found a bug, or want to request a feature? Open the command palette (default: Ctrl+P) and select "Share feedback" to create a GitHub issue. You can also directly visit github.com/forge-agents/forge/issues.
Gemini doesn't support model selection through ACP. Set export GEMINI_MODEL=<model>> before running Forge to avoid "Requested entity was not found" errors with OAuth.
