CallingClaw
Your AI agent is smart but it can't join your meetings. CallingClaw fixes that. It joins Google Meet as a real participant with voice, vision, and hands. It listens to the conversation, speaks when spoken to, shares its screen to present documents, scrolls through pages, clicks buttons, and captures action items. After the meeting, it sends a branded summary to Telegram.
~5 minutes to your first AI meeting. Your agent does the setup. Backend starts in 3 seconds (Bun, no Docker). Dependencies install on first launch. You just paste API keys.
Runs locally on your Mac. No cloud servers, no data leaving your machine. Bring your own API keys. macOS 13+ required.
v2.9.2 · www.callingclaw.com · Changelog
Start here: paste this into Claude Code
Copy this block into Claude Code. The agent will clone the repo, install everything, walk you through API key setup, and verify the system is healthy. Do not skip steps.
GOAL: Set up CallingClaw — an AI meeting assistant that joins Google
Meet with voice, vision, and screen control. Get me to a working
system where I can join my next meeting. Do not skip steps. Verify
each step before proceeding.
CallingClaw is a Bun backend + Electron desktop app. It needs API
keys for voice (Gemini or OpenAI) and optionally Google OAuth for
calendar auto-join. Read CLAUDE.md for the full architecture.
STEP 1 — CLONE & INSTALL
git clone https://github.com/XEasonChan/callingclaw.git
cd callingclaw/callingclaw-backend && bun install
cd ../callingclaw-desktop && npm install
Verify: both install without errors
STEP 2 — API KEYS
cp callingclaw-backend/.env.example callingclaw-backend/.env
Ask me for each key. At minimum I need ONE voice key:
GEMINI_API_KEY — recommended (free tier, 10x cheaper)
OPENAI_API_KEY — alternative (best tool calling)
XAI_API_KEY — alternative (cheapest)
Optional but recommended:
OPENROUTER_API_KEY — for vision, analysis, computer use
Verify: keys are non-empty in .env
STEP 3 — START BACKEND
cd callingclaw-backend && bun run src/callingclaw.ts
Verify: curl http://localhost:4000/api/status returns
{"callingclaw":"running","version":"2.9.2",...}
STEP 4 — GOOGLE ACCOUNT (optional, for calendar + Meet join)
Open http://localhost:4000 in a browser. Click "Sign in with Google"
in the onboarding flow. This opens Chrome where you sign into your
Google account. CallingClaw imports the cookies for Meet access.
For calendar: add GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET, and
GOOGLE_REFRESH_TOKEN to .env (run scripts/refresh-google-token.ts
to generate the refresh token).
Verify: curl http://localhost:4000/api/status shows calendar: "connected"
STEP 5 — DESKTOP APP
cd callingclaw-desktop && npm start
Grant macOS permissions when prompted: Microphone, Screen Recording,
Accessibility. The app auto-starts the backend daemon.
Verify: tray icon appears, main window shows "Engine Running"
STEP 6 — TEST
Join a test meeting: /callingclaw join <your-meet-url>
Or use Talk Locally: click any meeting card in the Desktop app
Verify: AI speaks, transcript appears, action items captured
DONE. Tell me: "CallingClaw is running. Voice provider: [provider].
Calendar: [connected/not configured]. Ready to join meetings."
Without Claude Code
# Download the DMG (easiest)
# Get CallingClaw-2.9.2-arm64.dmg from Releases:
open https://github.com/XEasonChan/callingclaw/releases/latest
# Or from source:
git clone https://github.com/XEasonChan/callingclaw.git
cd callingclaw && cd callingclaw-backend && bun install
cp .env.example .env # add your API keys
bun run src/callingclaw.ts
# Open http://localhost:4000 in your browser
For AI agents: CLAUDE.md contains the complete architecture, module wiring, 5-layer context model, and known gotchas. It is the single source of truth for programmatic understanding of this codebase.
The full meeting lifecycle
CallingClaw doesn't start when you join a meeting. It starts when you have an idea.
You say: "Let's Discuss about Website Launch in a video call"