GitHub - forge-agents/forge: Universal CLI for coding agents, powered by the Agent Client Protocol

3 min read Original article ↗

Quickstart

Install globally using NPM:

npm i -g @forge-agents/forge

Then run forge to get started:

Install your first agent:

Run Claude Code with a prompt:

forge claude --model opus --mode acceptEdits "Create or update my CLAUDE.md"

What is Forge/ACP?

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

Why agent harnesses matter

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.

Managing Agents

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:

Install, uninstall, check installation status for agents

Note: Claude Code and Codex aren't ACP-native yet. The claude and codex entries point to Zed's ACP wrappers (@zed-industries/claude-code-acp and @zed-industries/codex-acp), which you'll need to install.

Install an agent:

Uninstall an agent:

Check if a given agent is installed

Usage

TUI mode

Run with a prompt

forge <agent> "Create or update AGENTS.md"

Specify model/mode

forge <agent> --model opus --mode acceptEdits "Create or update AGENTS.md"

Supported flags:

  • --model - Model identifier (run forge <agent> models to see options)
  • --mode - Session mode (run forge <agent> modes to see options)

Run headless

Prints response and exits:

forge <agent> -p "Create or update AGENTS.md"

Commands & Flags

forge -h

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/mode

forge <agent> -h

forge <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]

Share feedback

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.

FAQ

How do I set the model for Gemini CLI?

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.