Skip to main content
The Rubber Duck CLI (duck) is a voice-first coding companion that runs as a local daemon. It manages Pi RPC sessions per workspace and streams events over a Unix domain socket.

Installation

Install globally via npm:
npm install -g rubber-duck
Or run without installing:
npx rubber-duck --help

macOS App Integration

If you’re using the Rubber Duck menu bar app on macOS, the CLI binary is automatically installed on first launch:
  • Downloaded from GitHub Releases to ~/Library/Application Support/RubberDuck/duck
  • Symlinked to /usr/local/bin/duck
  • Auto-updated when the app version changes

Basic Usage

The CLI provides four core commands:
duck [path]        # Attach to workspace and stream live events
duck say <message> # Send a prompt to the active session
duck sessions      # List all sessions with status
duck doctor        # Check system health and dependencies

Quick Start

Attach to your current workspace:
duck .
In another terminal, send commands:
duck say "run tests and summarize failures only"
duck say "refactor the authentication logic"
List active sessions:
duck sessions --all
Check system health:
duck doctor

Requirements

  • Node.js: Version 22 or higher
  • Pi binary: Resolved in this order:
    1. RUBBER_DUCK_PI_BINARY environment variable
    2. Local cli/node_modules/.bin/pi
    3. pi from system PATH

Environment Variables

RUBBER_DUCK_PI_MODEL
string
default:"gpt-4o-mini"
Override the default AI model for Pi sessions. Examples: gpt-4o, claude-3-5-sonnet-20241022
RUBBER_DUCK_PI_THINKING
string
default:"off"
Control thinking verbosity level. Options: off, minimal, low, medium, high, xhigh
RUBBER_DUCK_PI_BINARY
string
Explicit path to the Pi binary executable
NO_COLOR
boolean
Disable colored terminal output when set to any value

Next Steps

Command Reference

Complete reference for all CLI commands and options

Output Format

Learn about event streaming and JSON mode

Daemon Architecture

Understand the daemon process and runtime files

Build docs developers (and LLMs) love