A lightweight macOS menubar app for quick message dispatch with voice input, clipboard images, and global hotkeys.
LobbyDrop lives in your menubar as a tiny lobster emoji. Press a hotkey, type or dictate a message, optionally attach a screenshot, and fire it off to an OpenClaw agent, a Slack channel, or a vibe-kanban board.
- Global hotkeys — summon the app from anywhere with customizable key combos
- Voice input — dictate messages using Apple's on-device speech recognition (free, no API keys)
- Clipboard images — auto-detects recently copied screenshots; manual paste too
- Three delivery modes:
- Agent — send to an OpenClaw agent
- Agent+Slack — send to agent with Slack relay
- Kanban — create issues on a vibe-kanban board via Claude CLI
- Auto-stop recording — configurable silence timeout (2–15 seconds)
- Fully configurable — all hotkeys, paths, and settings adjustable in-app
- macOS 13 (Ventura) or later
- Swift 5.9+ (for building from source)
- OpenClaw CLI (for Agent/Slack modes)
- Claude CLI (for Kanban mode)
git clone https://github.com/nkraus/LobbyDrop.git
cd LobbyDrop
swift build -c release# Run directly
.build/release/LobbyDrop &
# Or copy to a convenient location
cp .build/release/LobbyDrop /usr/local/bin/
LobbyDrop &Add LobbyDrop to System Settings > General > Login Items or create a LaunchAgent:
mkdir -p ~/Library/LaunchAgents
cat > ~/Library/LaunchAgents/com.lobbydrop.plist << 'EOF'
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.lobbydrop</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/bin/LobbyDrop</string>
</array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
EOF- Build and launch LobbyDrop
- Look for the lobster emoji in your menubar
- Press Control+Option+L (or click the lobster) to open
- Type a message and press Cmd+Return to send
| Default | Action |
|---|---|
Control+Option+L |
Toggle main popover |
Control+Option+K |
Open in Kanban mode |
Control+Option+R |
Toggle voice recording |
All hotkeys are customizable — click the gear icon, then "Record" next to any hotkey to set a new combo.
- Press Control+Option+R or click the mic icon
- Speak your message — live transcription appears below the text field
- Press the hotkey again, click the mic, or just wait for the silence timeout
- Transcribed text is inserted into the message field for editing before send
- Auto-detect: If you copy a screenshot within 20 seconds of opening LobbyDrop, it auto-attaches
- Manual paste: Click the clipboard icon to attach any recent image
- Remove: Click the X on the image preview to remove it
Agent — Sends your message to an OpenClaw agent via the CLI. The agent processes it and delivers a response.
Agent+Slack — Same as Agent, but also relays the agent's response to a configured Slack channel.
Kanban — Creates an issue on a vibe-kanban board. Uses Claude CLI in pipe mode to determine title, description, and priority from your message.
Click the gear icon in the popover header to access settings.
| Setting | Description | Default |
|---|---|---|
| Language | Speech recognition locale | English (US) |
| On-device | Force on-device processing (no network, more private) | Off |
| Silence | Auto-stop timeout after last speech detected | 5s |
Click "Advanced" in settings to configure paths and integrations.
| Setting | Description | Default |
|---|---|---|
| OpenClaw | Path to openclaw CLI binary |
/usr/local/bin/openclaw |
| Claude CLI | Path to claude CLI binary |
/usr/local/bin/claude |
| Slack target | Slack channel ID for message relay | (empty) |
| Project name | Display name for kanban project | My Project |
| Project ID | vibe-kanban project UUID | (empty) |
| Work dir | Working directory for kanban commands | (empty) |
OpenClaw (Agent mode)
- Install OpenClaw and ensure
openclawis in your PATH - Configure at least one agent:
openclaw agents list - Set up a Slack channel if using Agent+Slack mode
- In LobbyDrop settings, verify the OpenClaw path and set your Slack target channel ID
Kanban (vibe-kanban)
- Install Claude CLI:
npm install -g @anthropic-ai/claude-code - Install vibe-kanban:
npm install -g vibe-kanban - Set up a vibe-kanban project and note the project UUID
- In LobbyDrop Advanced settings, configure:
- Claude CLI path
- Project ID (the UUID from vibe-kanban)
- Work dir (your project's root directory — must have a
.claude/config with vibe-kanban MCP server) - Project name (used in the prompt sent to Claude)
On first use, macOS will prompt for:
- Microphone — required for voice input
- Speech Recognition — required for transcription
Grant both in System Settings > Privacy & Security.
LobbyDrop is a pure Swift Package Manager project — no Xcode project file needed.
- NSStatusItem + NSPopover for the menubar UI
- Carbon RegisterEventHotKey for global hotkeys (no Accessibility permission needed)
- NSPasteboard polling for clipboard image detection
- SFSpeechRecognizer (Apple Speech framework) for free on-device transcription
- Process to shell out to
openclawandclaudeCLIs
All settings are stored in UserDefaults under LobbyDrop.* keys.
| Shortcut | Action |
|---|---|
Cmd+Return |
Send message |
Cmd+C/V/X/A |
Copy/Paste/Cut/Select All in text field |
LobbyDrop is free and open source — and actively maintained.
Got an idea? Open an issue — I ship fast and love building what people actually need. Bug reports, feature requests, and PRs are all welcome.
