Harvey Free and open source Runs on your AI plan

Cold email that finds its own leads. You hit send.

Harvey finds businesses, reads their sites and drafts a personal email for each, on the Claude or ChatGPT plan you already pay for. Nothing sends without your OK.

Get the free setup guide

By Raj Singh · October 2026 · 8 min read

FREE SETUP GUIDE

Your first approved email, this week.

  • Setup, plus the free key it needs before anything sends
  • Pointing it at your customers, not its samples
  • The mailbox setup that keeps you out of spam
  • The approval queue, and two settings I leave alone
  • What it can't check for Australian email law

One email opens every guide in the library.

One email. No follow-up unless I ship something that fits.

WHAT YOU NEED
  • Python 3.11 or newer. On a Mac, bare python3 is often 3.9. Use python3.13 by name.
  • Claude Pro or Max with Claude Code logged in, or a ChatGPT plan with the Codex CLI. Harvey calls the CLI, so there is no model API key and no per token bill. Usage limits on your plan still apply.
  • A sending mailbox on a second domain. The project suggests Google Workspace at about $7 a month, plus a domain you don't mind risking. Never your main one.
  • One free email checker key. Reoon (600 checks a month free) or ZeroBounce (100 free). Without one, every address stays a guess and Harvey never sends to it.
  • Codex users: macOS or Linux only, and Codex CLI 0.159.3 exactly. Harvey refuses any other version, newer ones included.
INSTALL

Install, then confirm what it looks for

terminalmacOS or Linux
git clone https://github.com/ethanplusai/harvey.git && cd harvey python3.13 -m venv .venv && source .venv/bin/activate && pip install -e . cp .env.example .env harvey signals --confirm free 21 signal(s) confirmed.

Skip the signals step and the first search finds nothing. This is what a run looked like before it:

what I got21 Oct 2026
DISCOVER, 0 results across 2 queries stopped early: no confirmed signals

Then teach it your business and connect the mailbox. harvey train reads your website with your Claude or ChatGPT login and writes your product, targeting and company into harvey.local.yaml.

terminalafter claude login
harvey train https://your-company.com harvey gmail auth harvey discover --estimate harvey discover harvey dashboard harvey run
Prove itOn the test install, the free map search for electricians in Melbourne returned 10 new companies and 17 observations, at an actual cost of $0.0000. Seven of the ten had no website, which is itself a signal Harvey can pitch on.
CONFIGURE

The settings that matter, and why

Defaults live in harvey.yaml. Your own values go in harvey.local.yaml, which harvey train and harvey setup write for you.

settingdefaultwhy
require_approvaltrueEvery email waits in the Outbox. I leave it on.
max_daily_sends50The project's ceiling for Gmail. Start at 10 to 20 on a new domain while it warms up.
send_to_riskyfalseKeeps it off catch all domains, where a bounce costs you reputation. I leave it off.
max_bounce_rate0.05Past 5% bounces, all sending stops.
quiet_hours.timezoneAmerica/New_YorkChange it to Australia/Melbourne, or it sleeps through your business day.
max_daily_claude_percent80Leaves 20% of your plan for your own work. Covers Codex too, despite the name.
heartbeat_interval_minutes15How often it wakes to prospect, write, send and read replies.
DAILY USE

Five minutes in the Outbox

MorningdashboardOpen the private link harvey dashboard prints. The Today queue shows what is waiting on you.
ReviewA, R, J, KOne email fills the screen. A approves, R rejects, J and K move. Read each one.
Repliessame queueHarvey sorts each reply by intent and drafts the answer. It waits for you too.
Cost--estimateBefore any paid search, the estimate prints the projected spend. The hard cap defaults to $1.00.
Stopkill switchharvey sending pauses or resumes all sending.
The habitharvey outbox --approve-all exists. Don't use it in the first month. The one at a time queue is the safety net.
THE TRAPS

What goes wrong, and the fix

"Ready to write for: 0"
Found companies but no emails get written. With no checker key, addresses stay guesses and are never sent to. Add a free Reoon or ZeroBounce key to .env.
It is selling SaaS to US marketers
Untrained, it uses the sample targets: SaaS and marketing agencies in the United States. Run harvey train on your own site first.
"persona: Field required"
A hand written harvey.local.yaml must hold the whole config, not only the lines you changed. Let harvey setup or train write it.
"502 Bad Gateway" from overpass
The free map search uses a shared public server that has busy moments. One of my two searches failed this way. Run it again later.
Codex refuses to run
It must be exactly 0.159.3, signed in with ChatGPT, not an API key. Windows is not supported for Codex. Use Claude there.
Australian prospects
The optional Precleared check covers UK, US, Canadian, German and French rules. Australia's Spam Act 2003 is not on that list, so keep an unsubscribe line in every email and check the Act yourself.
LinkedInIt can log into LinkedIn and prospect there. The project warns this breaks LinkedIn's terms and can get the account banned. It is off by default. Leave it off.
THE SHAPE OF IT

What's in the repo

harvey/agents/Scout, Writer, Sender and Handler, the sub agents skills/the playbooks it reads to write and reply prompts/the prompts behind each step harvey.yamlevery default, with a note on each data/harvey.dbyour prospects and mail, in one local file

Everything stays on your machine in that one database file. Back it up and you have backed up Harvey.

That is the whole thing

A plan you already pay for, a second domain, one free checker key and five minutes a day in the Outbox. Harvey does the finding and the drafting. You decide what goes out.

Open on GitHub →

↑ Unlocks the moment you submit the form above.

RS
WRITTEN BY

Raj Singh

I'm Raj Singh. I've led ecommerce at two Fortune 100 companies, and at one of them I ran about $8M a year in ads for four years. I've worked with AI since 2019. Now my engineering team and I ship AI products, including debtops.ai. Each guide here is written from a real install, with the output dated.

2
Fortune 100 companies
~$8M
A year in ads, at one
2019
Working with AI
38
Guides shipped
More guides

Then keep every reply in one place.

The Comp AI CRM guide researches the people who write back, and the OpenSEO guide finds what to fix on the sites Harvey flags.