Harvey is an open-source sales agent that runs on your own computer. It finds businesses, researches them, writes cold email sequences, and handles replies. This post gives you the repo, two ways to set it up, and the rules you should follow before sending a single email.
What you need
The repo: github.com/ethanplusai/harvey (MIT licence, free to use).
A Claude Pro or Max plan with Claude Code installed and signed in (
claude login). Harvey calls theclaudecommand-line tool on your plan instead of using an API key. It can optionally use a ChatGPT plan through Codex on macOS or Linux. Claude Code quickstartPython 3.11 or newer. The README warns that macOS's built-in Python 3.9 will not work.
A sending mailbox: Gmail/Google Workspace (recommended, on a separate domain), Microsoft 365, plain SMTP, or Instantly.
Optional paid lead sources: OpenStreetMap is the free default. DataForSEO and Serper cost extra and need their own accounts.
Step by step
Option A: guided setup
Clone the repo and open Claude Code inside it:
git clone https://github.com/ethanplusai/harvey.git
cd harvey
claudeType this into Claude Code. The repo's
CLAUDE.mdturns Claude into the setup wizard:
set up Harvey for meOption B: manual setup
python3.13 -m venv .venv && source .venv/bin/activate && pip install -e .
cp .env.example .env
harvey train https://your-company.com
harvey signals --confirm free
harvey discover
harvey dashboard
harvey runWhat each step does:
.envholds your credentials. The only required value is your mail provider.harvey trainreads your website so Harvey learns what you sell.Fill in
harvey.yaml(or a privateharvey.local.yaml) with your persona, product and ideal customer. Use this prompt in Claude Code to draft it:
Read harvey.yaml. Help me fill in the persona, product and icp sections.
I sell: [product/service]. Price: [range]. Best customers: [industry,
city, company size]. Signs they need me: [e.g. no online booking, outdated
website]. Keep the tone plain and honest. Do not invent results or clients.
Show me the changes before saving.harvey discoverfinds companies. It estimates the cost before spending anything on paid sources.harvey dashboardopens a local dashboard atlocalhost:5555with your pipeline, outbox, conversations and usage.harvey runstarts the loop. By default it wakes every 15 minutes, handles replies first, then sends, writes and prospects.
Approve before anything goes out. Every email waits in the Outbox for your approval by default (require_approval). Keep it that way. Read each email, then approve or reject it.
Good to know
Meetings are not booked automatically yet. The reel says Harvey "books meetings on autopilot". The README lists calendar auto-booking under "Next". Today it moves conversations towards a meeting; you book it.
"Free" means the software is free. You still need a paid Claude Pro or Max plan, a mailbox and, if you choose them, paid lead sources.
Subscription use has limits. It does use your Claude plan instead of API credits. But Anthropic says Pro and Max limits "assume ordinary, individual usage of Claude Code and the Agent SDK", and reserves the right to enforce its rules. A loop running around the clock can hit your limits. Harvey has a setting (
max_daily_claude_percent) to cap usage. Claude Code legal and complianceCold email rules apply to you. The README says you are the sender and points to CAN-SPAM, GDPR and PECR. Rules depend on where your recipients are. Include who you are and an easy way to opt out, and email only businesses where your offer is relevant. This is not legal advice.
Protect your domain. The README advises a separate sending domain with SPF, DKIM and DMARC, a 2 to 4 week warm-up, and stopping if bounces pass about 3%.
No LinkedIn scraping. Harvey keeps LinkedIn automation off because it breaks LinkedIn's terms.
Sources
Found this useful? Follow @kevinsingh.me on Instagram for a new AI tool every day, and subscribe so you don't miss the next one.

