When your AI needs a second opinion.

Just talk. Claude automatically delegates to Codex, Gemini, Ollama, or Claude Code and brings the results back — no flags, no syntax, plain English. Or go agentic: multiple Claude agents collaborating via @mentions with a live web dashboard.

Claude Code
>

Mention one backend → one-shot relay. Mention multiple → multi-agent team. Automatic.

Two workflows. One tool.

Quick relay for a second opinion, or agentic mode for autonomous multi-agent collaboration.

šŸ’¬

You just talk

Describe what you need in plain English. No flags, no syntax — just say it.

šŸ“ž

Claude phones a friend

Your prompt, repo context, and optional diffs are relayed to Codex, Gemini, Ollama, or Claude Code in a sandboxed environment.

✨

Get refined results

The backend's response flows back to Claude, who synthesizes it and presents the results in your session.

Relay, team, or agentic. You choose.

One backend for a quick second opinion. Multiple backends for iterative refinement. Agentic mode for persistent multi-agent sessions with a live dashboard.

one backend mentioned

One-shot relay

Mention a single backend and Claude routes it automatically. Ask once, get an answer.

# Ask a backend for a second opinion
Ask Codex to review my
recent changes for issues
# Get a quick code review
Ask Gemini to find bugs
in the auth middleware
multiple backends mentioned

Multi-agent team

Mention multiple backends and Claude spins up a team. Delegates, reviews, and iterates until convergence.

# Multi-agent review
Spin up Codex and Gemini to
review the docs
# Iterative convergence
Loop 3 rounds with Claude
and Ollama on the API design
persistent agent sessions

Agentic mode

Claude agents communicate via @mentions across persistent sessions. An orchestrator routes messages, enforces guardrails, and streams events to a live web dashboard.

# Launch a multi-agent session
$ phone-a-friend agentic run \
  --agents reviewer:claude,critic:claude \
  --prompt "Review the auth module"
# Open the live dashboard
$ phone-a-friend agentic dashboard
@mention routing live dashboard creative agent names guardrails SQLite persistence session replay Claude agents only
Agentic web dashboard showing live session with agent cards and @mention routing

See the full agentic docs for guardrails, session replay, and dashboard API.

Built for safety, speed, and observability.

Guardrails, sandboxing, and a live dashboard. From quick relays to autonomous multi-agent sessions.

šŸ”Œ

Backend-agnostic

Codex, Gemini, Ollama, and Claude Code. Add new backends via the RelayBackend protocol.

šŸ”’

Sandboxed by default

Read-only sandbox prevents accidental writes. Escalate only when needed.

šŸ“Š

Live observability

Real-time web dashboard streams every message, thinking step, and turn via SSE. Watch agents collaborate live.

šŸ”„

Multi-round refinement

The /phone-a-team loop delegates, reviews, and iterates with convergence checking across rounds.

šŸ’¬

@mention routing

Agents address each other by name — @ada.reviewer:, @all, @user. The orchestrator handles delivery.

🧠

Persistent sessions

Agents accumulate context across turns. Later responses build on earlier ones — genuine multi-turn reasoning.

šŸ›”ļø

Guardrails

Turn limits, ping-pong detection, session timeouts, and turn budget warnings. No runaway agents.

🌊

Streaming output

Claude and Ollama stream tokens as they arrive — see results in real time instead of waiting.

Up and running in seconds.

Install via npm, run setup, and start talking.

  1. 1

    Install the CLI

    $ npm install -g @freibergergarcia/phone-a-friend

    Or install as a Claude Code plugin (commands and skills only):

    > /plugin marketplace add freibergergarcia/phone-a-friend
  2. 2

    Run setup

    First run shows a guided menu. Choose Setup to configure backends and install the Claude plugin automatically.

    $ phone-a-friend
  3. 3

    Start relaying

    Talk naturally in Claude Code. The plugin loads /phone-a-friend and /phone-a-team skills automatically.

    > Ask Gemini to review the error handling in relay.ts
  4.  

    Uninstall

    The Claude plugin is removed automatically.

    $ npm uninstall -g @freibergergarcia/phone-a-friend