pigeon

Setup Guide

Soldiers handling carrier pigeons

Available on Android and iPhone.

Recordings

Pigeon asks where transcripts should go when you first open it. Pick Google Drive if you want an agent or chatbot to read them. Local keeps them on your phone at Documents/pigeon/, where agents can't reach them.

Connect Google Drive later
  1. Tap the gear icon (or long-press anywhere) to open settings
  2. Tap Google Drive → Connect
  3. Sign in with your Google account

Recordings upload to a pigeon/ folder on your Drive.

iCloud or Obsidian instead of Drive

iCloud (iOS): In Pigeon settings, switch the save location to iCloud. Recordings and transcripts sync to your other Apple devices automatically.

Obsidian: Change the save location in Pigeon settings to your Obsidian vault folder. In Obsidian, enable audio under Settings > Sync to include recordings.

Apple Watch

Pigeon works on Apple Watch as a companion to the iPhone app. Tap the complication to start recording from your wrist — audio is relayed through your iPhone for transcription and upload.

Add the complication

  1. Long-press your watch face → tap Edit
  2. Swipe to the complications page
  3. Tap a slot → scroll to Pigeon
  4. Press the Digital Crown to save

Record with Siri

Raise your wrist and say “Hey Siri, open Pigeon” to jump straight into recording. Tap the screen to stop.

How the relay works

Apple Watch streams audio to your iPhone over Bluetooth. Your iPhone handles transcription and uploads the recording to your configured storage (device or Google Drive). The watch itself doesn't store recordings.

Out of range

If your iPhone is out of Bluetooth range, the watch will queue the recording locally and sync it the next time the devices reconnect. Wi-Fi relay is also supported if both devices are on the same network.

Transcription

Pigeon asks this when you first open it too. The default works. Gemini is more accurate and needs an OpenRouter key.

All transcription options

Android

  • Local — Downloads a Parakeet speech model to your phone (Default ~126 MB, or High ~631 MB). Nothing leaves your device.
  • Gemini (OpenRouter) — Uses Gemini Flash via OpenRouter. Better accuracy, requires internet. Setup

iOS

  • On-device — Uses Apple's SpeechAnalyzer. Requires iOS 26 and iPhone 12 or newer.
  • Apple Cloud — Uses Apple's Speech Recognition servers. Available on all devices. Free, requires internet.
  • Gemini (OpenRouter) — Uses Gemini Flash via OpenRouter. Better accuracy. Setup

Transcripts save as .md files alongside each recording.

Get an OpenRouter key for Gemini
  1. Create an account at openrouter.ai
  2. Go to Settings → API Keys → Create Key → copy it
  3. In Pigeon, select Gemini transcription and paste the key

$5 covers roughly 50 hours of recording.

Agents

Pigeon saves to Google Drive, and an agent on your laptop reads the folder. It works on your real files and projects. Run it when you sit down, or on a schedule while the laptop is awake. To run with the laptop closed, use a webhook.

Works in any coding agent.

On your phone, paste it into Claude Code or Codex linked to your computer.

Then you have two commands: work reads your transcripts, executes what it can (code, research, analysis), and surfaces the rest. route just routes ideas to the right files without making code changes. Your agent tells you how to run them. In Claude Code it's /pigeon:work.

pigeon-work
> /pigeon-work
3 new transcripts found. I'll get started.
 
Done:
→ "research competitors in transcription space" → scratch/competitor-research.md
→ "add pagination to the search endpoint" → TODO.md
For you:
→ "DM Sarah about the event next week"
> |
Set it up yourself instead

1. Sync transcripts to your computer

Syncs your Drive pigeon/ folder to a local folder. Installs rclone and schedules hourly syncing. Skip this if you use iCloud, Obsidian, or Google Drive for desktop.

curl -sL https://pigeon.newyorkai.org/setup.sh | bash
irm https://pigeon.newyorkai.org/setup.ps1 | iex
curl -sL https://pigeon.newyorkai.org/setup.sh | bash

2. Install the commands

Each agent keeps commands in a different place.

claude plugin marketplace add derek-larson14/delegate-plugins && claude plugin install pigeon@delegate-plugins

Run it in a terminal. Or type /plugin marketplace add derek-larson14/delegate-plugins, then /plugin install pigeon@delegate-plugins, in Claude Code. The commands are /pigeon:work and /pigeon:route.

derek-larson14/delegate-plugins

In Co-Work, click Customize → Browse Plugins → Personal → Add marketplace from GitHub. Paste this, install pigeon, and turn on the Google Drive connector so Claude can read your transcripts. The commands are /pigeon:work and /pigeon:route.

mkdir -p ~/.codex/skills/pigeon-work ~/.codex/skills/pigeon-route && curl -sLo ~/.codex/skills/pigeon-work/SKILL.md https://pigeon.newyorkai.org/commands/pigeon-work.skill.md && curl -sLo ~/.codex/skills/pigeon-route/SKILL.md https://pigeon.newyorkai.org/commands/pigeon-route.skill.md mkdir "$env:USERPROFILE\.codex\skills\pigeon-work","$env:USERPROFILE\.codex\skills\pigeon-route" -Force >$null; iwr https://pigeon.newyorkai.org/commands/pigeon-work.skill.md -OutFile "$env:USERPROFILE\.codex\skills\pigeon-work\SKILL.md"; iwr https://pigeon.newyorkai.org/commands/pigeon-route.skill.md -OutFile "$env:USERPROFILE\.codex\skills\pigeon-route\SKILL.md"
mkdir -p ~/.cursor/commands && curl -sLo ~/.cursor/commands/pigeon-work.md https://pigeon.newyorkai.org/commands/pigeon-work.md && curl -sLo ~/.cursor/commands/pigeon-route.md https://pigeon.newyorkai.org/commands/pigeon-route.md mkdir "$env:USERPROFILE\.cursor\commands" -Force >$null; iwr https://pigeon.newyorkai.org/commands/pigeon-work.md -OutFile "$env:USERPROFILE\.cursor\commands\pigeon-work.md"; iwr https://pigeon.newyorkai.org/commands/pigeon-route.md -OutFile "$env:USERPROFILE\.cursor\commands\pigeon-route.md"
mkdir -p .github/prompts && curl -sLo .github/prompts/pigeon-work.prompt.md https://pigeon.newyorkai.org/commands/pigeon-work.md && curl -sLo .github/prompts/pigeon-route.prompt.md https://pigeon.newyorkai.org/commands/pigeon-route.md mkdir .github\prompts -Force >$null; iwr https://pigeon.newyorkai.org/commands/pigeon-work.md -OutFile .github\prompts\pigeon-work.prompt.md; iwr https://pigeon.newyorkai.org/commands/pigeon-route.md -OutFile .github\prompts\pigeon-route.prompt.md

Copilot prompts are per-project. Run this in each project you want to use Pigeon with.

mkdir -p ~/.pigeon/commands && curl -sLo ~/.pigeon/commands/pigeon-work.md https://pigeon.newyorkai.org/commands/pigeon-work.md && curl -sLo ~/.pigeon/commands/pigeon-route.md https://pigeon.newyorkai.org/commands/pigeon-route.md mkdir "$env:USERPROFILE\.pigeon\commands" -Force >$null; iwr https://pigeon.newyorkai.org/commands/pigeon-work.md -OutFile "$env:USERPROFILE\.pigeon\commands\pigeon-work.md"; iwr https://pigeon.newyorkai.org/commands/pigeon-route.md -OutFile "$env:USERPROFILE\.pigeon\commands\pigeon-route.md"

Downloads both commands to ~/.pigeon/commands. Move them to wherever your tool keeps custom commands, or tell it: "Read ~/.pigeon/commands/pigeon-work.md and do it."

For the full Delegate workspace in Claude Code, check out Delegate.

Webhooks

Pigeon sends each memo to a URL you control the moment it's transcribed. Your agent builds that receiver, and it can hand each memo to an agent that runs in the cloud: a Claude Code scheduled task, a Cursor cloud agent, or your own server. Your laptop can be closed. The agent works on a copy of your GitHub repo, not the files on your laptop.

Builds the receiver on Cloudflare or Vercel.

On your phone, paste it into Claude Code or Codex linked to your computer.

Then in Pigeon:

  1. Open settings and turn on send to webhook
  2. Paste the address, copy the secret Pigeon made to your server, then tap send test

The secret is sent with every request so your server knows it's you.

The webhook guide covers the receiver, the payload, and a way to send one test before you have a server.

Run on a schedule

Process transcripts automatically so you talk into your phone and come back to finished work.

Runs while your computer is awake.

On your phone, paste it into Claude Code or Codex linked to your computer.

Running agents unattended. When Pigeon runs on a schedule, voice transcripts flow into an agent that can read files, write files, and execute code without you watching. The plugin commands scan for prompt injection, but no scan is perfect. Review your logs periodically. If you want an extra layer of protection, install Belay.

Only set this up if you trust the full chain: your phone, your cloud sync, and the agent's tool access. If something in that chain is compromised, a manipulated transcript could trigger real actions on your computer.

Chatbots

Chatbots work best with Google Docs. If you save transcripts as Google Docs (toggle in app settings), any chatbot with Drive access can read them directly. Markdown files need to be opened as Google Docs first.

Works in ChatGPT, Claude, and Gemini.

Shortcuts

Record on your Mac

Get the Pigeon Shortcut — records audio, transcribes on-device, and saves a transcript to your folder. Launch it from Spotlight or Raycast by typing "pigeon."

One-tap recording shortcuts

Long-press the Pigeon icon on your home screen and tap Record to start immediately. Or set up a system shortcut:

Android: Swipe down twice → tap the pencil to edit tiles → drag Pigeon into your active tiles. Tap the tile to record; tap again to stop.

iOS: Long-press the Lock Screen → Customize → tap the widget area at the bottom → find Pigeon → select the waveform widget. Tap to record from your Lock Screen.

Long-press the Lock Screen to enter edit mode Long-press Lock Screen → Customize
Tap Customize, then add a widget Add Widget
Find and select Pigeon Find Pigeon
Choose the waveform widget Select waveform widget