Install prerequisites
Detect OS: uname -s → Darwin = macOS, Linux = Linux.
macOS (use Homebrew; install brew first if missing):
brew install git gh jq dtach node
curl -fsSL https://bun.sh/install | bash
Linux (Debian/Ubuntu):
sudo apt-get update && sudo apt-get install -y git curl jq dtach
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo bash -
sudo apt-get install -y nodejs
curl -fsSL https://bun.sh/install | bash
(type -p wget >/dev/null || (sudo apt update && sudo apt-get install wget -y)) \
&& sudo mkdir -p -m 755 /etc/apt/keyrings \
&& out=$(mktemp) && wget -nv -O$out https://cli.github.com/packages/githubcli-archive-keyring.gpg \
&& cat $out | sudo tee /etc/apt/keyrings/githubcli-archive-keyring.gpg > /dev/null \
&& sudo chmod go+r /etc/apt/keyrings/githubcli-archive-keyring.gpg \
&& echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null \
&& sudo apt update && sudo apt install gh -y
Choose, install, and authenticate ACP agent command(s).
Tangerine is an ACP client only. It does not bundle provider adapters or manage LLM credentials. Configure one or more ACP commands in top-level agents[]. tangerine install reads this config and installs Tangerine skills into the corresponding real agent directories via skills.sh (Claude Code, Codex, OpenCode, Pi); ACP itself is not a skill target.
Common choices:
| Agent | ACP package/path | Verify command |
|---|
| Claude Agent | ACP registry adapter @agentclientprotocol/claude-agent-acp | bunx --bun @agentclientprotocol/claude-agent-acp --help |
| Codex | Zed adapter @zed-industries/codex-acp | bunx --bun @zed-industries/codex-acp --help |
| OpenCode | native ACP in opencode-ai | bunx --bun opencode-ai acp --help |
| Pi | adapter pi-acp | bunx --bun pi-acp --help |
Example no-global-install config:
{
"agents": [
{ "id": "claude", "name": "Claude Agent", "command": "bunx", "args": ["--bun", "@agentclientprotocol/claude-agent-acp"] },
{ "id": "codex", "name": "Codex", "command": "bunx", "args": ["--bun", "@zed-industries/codex-acp"] },
{ "id": "opencode", "name": "OpenCode", "command":
Global install alternative:
bun add -g @agentclientprotocol/claude-agent-acp @zed-industries/codex-acp opencode-ai pi-acp
claude-agent-acp --help
codex-acp --help
opencode acp --help
pi-acp --help
Global-install config:
{
"agents": [
{ "id": "claude", "name": "Claude Agent", "command": "claude-agent-acp" },
{ "id": "codex", "name": "Codex", "command": "codex-acp" },
{ "id": "opencode", "name": "OpenCode", "command": "opencode", "args": ["acp"] },
{ "id": "pi", "name": "Pi"
Authenticate each underlying agent before starting Tangerine:
- Claude Agent adapter needs Claude Code/Claude Agent auth configured.
- Codex adapter needs Codex auth configured.
- OpenCode needs provider auth configured via OpenCode.
- Pi adapter needs Pi CLI/config/auth configured.