Harvey: the free Claude Code agent that finds your clients and emails them for you
Harvey finds businesses that match your ideal customer, reads their website, writes them a personalized cold email, handles the replies and works the conversation toward a meeting. It runs on your Claude subscription, no API key. The setup, the settings that matter, and how not to burn your domain.
October 28, 2026 · 10 min read
Finding clients is three jobs at once: spotting the right businesses, understanding what's holding them back, then writing a message that makes them want to reply. Most people do one of the three, when they have time left over. Harvey does all three in a loop on your computer. It's an open source sales agent that runs on your Claude subscription, with no API key and no per-token bill.
It finds businesses that match your ideal customer, reads their website to pull out one specific fact, writes them a cold email that mentions it, reads the replies and works the conversation toward a meeting. By default, no email goes out without your approval. Here's how to install it, the settings that matter, and the rules to follow so you don't end up in spam.
The Claude AI Lab is my Skool community where I share my Claude systems and the more advanced modules. Access is $67/month.
Join the Lab →claude login). Harvey thinks and writes through it. A ChatGPT plan with Codex also works, as an option.python3 --version. Macs ship 3.9: install 3.13 with brew install python@3.13.What Harvey does
max_daily_claude_percent.usage.quiet_hours to your time zone.Install Harvey
git clone https://github.com/ethanplusai/harvey.git
cd harvey
claude
Set up Harvey for me. What I sell: [YOUR OFFER IN ONE SENTENCE]. My website: [YOUR WEBSITE URL]. My ideal customer: [INDUSTRY, COMPANY SIZE, CITY OR COUNTRY, ROLE OF THE PERSON TO CONTACT]. My time zone: [YOUR TIME ZONE]. I want every email to wait for my approval before it goes out. Ask me one question at a time and tell me what you're doing at each step.
python3.13, not python3. On a Mac, python3 points to 3.9 and Harvey won't start..env file. Every variable is explained inline. The only required one is your sending mailbox: harvey gmail auth connects Gmail once and for all.python3.13 -m venv .venv && source .venv/bin/activate && pip install -e .
cp .env.example .env && $EDITOR .env
harvey train https://your-site.com
harvey signals --confirm free
harvey discover
harvey dashboard
harvey run
harvey dashboard prints a private link to 127.0.0.1:5555. It only listens on your machine and requires a token, because it can approve emails and start Harvey.Tell it who to look for
harvey signals --confirm free turns on the 26 free ones at once. Paid ones are opted into one by one.harvey discover --estimate shows the cost before you spend anything.The emails: writing, approval, replies
skills/ folder holds its methods: email frameworks, objections, qualification. Edit a file and the next cycle picks it up, no restart.A to approve, E to edit, R to reject.harvey sending pause stops every send in flight.booking_method: your calendar link (booking_url), two or three specific times offered in the email, or it asks the prospect what they prefer.Don't burn your domain
getyourcompany.com for yourcompany.com. If a sending domain lands in spam, your main domain stays clean.harvey warmup checks them, along with domain age and blocklists, and answers READY or NOT READY.compliance.postal_address, to set before your first campaign).compliance.do_not_contact. The check applies even to an email you already approved.Your first week
harvey train learns your offer. Read the files it produces and fix whatever sounds off.harvey discover on the free source, build a first cohort of 20 to 30 businesses.skills/email_frameworks.md with your own wording, until you'd sign every email as is.harvey warmup says READY: the first sends, still on manual approval, 10 to 20 a day.harvey export writes a CSV of every deliverable prospect it found, ready for your usual sending tool. While your domain warms up, Harvey is already building your list.The real lever
A sales agent doesn't replace a clear offer. When Harvey's emails sound hollow, the cause is often upstream: a website that describes what you sell poorly, or an ideal customer that's too broad. Start there: an offer in one sentence, a precise customer, a buying signal that gives them away. Harvey does the rest in a loop, and you keep the part that really matters: approving, then talking to the people who reply.
Want to go further?
In the Lab, I share my Claude agent and sub-agent setups, and how to run them in parallel without breaking things.
A dedicated session or program, tailored to your tools and use cases.
And day-to-day, I post one reel a day on Instagram: @quentin_iamarketing