Back to blogs

October 23, 2026

Meet Harvey: The Open-Source AI Sales Agent That Runs on Your Own Subscription

AI agentssales automationopen sourcecold emailagent governancecompliance
Meet Harvey: The Open-Source AI Sales Agent That Runs on Your Own Subscription

Most “AI sales agent” products share a business model: you pay per seat, per lead or per token, and the vendor’s margin lives in how little the model is allowed to think. An open-source project called Harvey takes the opposite route. It is a loop that runs on your own machine, does its thinking through a Claude or ChatGPT subscription you already pay for, and, by default, asks you before it sends a single email.

This post looks at what Harvey actually does, how it is built, and why its design choices (human approval, deterministic code over model calls, user-confirmed signals) are a useful template for any team putting autonomous agents near customers.

What Harvey Is

According to its README, Harvey is “an autonomous sales agent that runs on your Claude Code or Codex subscription.” It finds businesses worth selling to, learns something specific about each one, writes cold email that references it, sends it, reads replies and works the conversation toward a meeting. It is released under the MIT license.

The heartbeat loop

Harvey doesn’t run continuously. Every 15 minutes by default, it wakes up, checks quiet hours and budget, decides what most needs doing, acts, logs, and sleeps. Notably, the decision isn’t made by a model. The README describes a fixed priority order: handle replies, then send campaigns, then write campaigns, then prospect, then idle. The reasoning is simple: that choice is derivable from a few counts, so spending a model call on it would be waste.

Five sub-agents

Underneath, the README describes five roles: a Scout that scores and personalizes what collectors found, a Writer that generates three-email sequences (under 75, 75 and 40 words), a Sender that stages and paces outgoing mail, a Handler that classifies replies and detects bounces, and an Analyst that runs on idle cycles. Python does the searching and email resolution; the model is used only where judgment is needed.

The “No API Bill” Claim, Examined

Harvey’s headline feature is that model calls use your Claude Pro or Max subscription (or a ChatGPT plan through Codex) rather than an API key. The project says it calls the provider’s CLI with tools disabled, in an empty temporary folder, with none of your own Claude Code configuration loaded.

Two cautions are worth stating plainly.

First, subscription limits still apply. Harvey says it reads your quota and throttles to leave headroom for your own work, but heavy automation can eat into a shared pool.

Second, terms of use matter. Harvey’s own README says to check the terms and usage limits of the provider you choose. Third-party write-ups disagree on how consumer-plan terms apply to automated use, and one overview of plan limits is third-party; we could not find an authoritative Anthropic statement in our research. Before building a business process on a personal subscription, confirm the current terms with the provider. For a company workflow, an API-billed setup may be the safer choice even if it costs more.

Design Choices Worth Copying

1. Nothing sends without you

By default, every outgoing email waits for approval in an Outbox, which the README calls a “decisions desk”: one email fills the pane, the rest wait in a rail, and you work through them with keyboard shortcuts. The stated reason is that a wall of stacked drafts invites an approve-all reflex. That matches what we covered in The “Approve” Button: human review only works if the interface makes real review easy.

Before anything leaves, a deterministic pre-send gate with no model involved rejects unrendered merge tags, banned phrases, over-long emails, too many links, HTML bodies, non-deliverable addresses and recipient mismatches. Plain code checking an AI’s output is a pattern every agent builder should steal.

2. You confirm what it looks for

Harvey knows how to collect 23 signals about a business, such as whether it runs ads, lacks online booking or has an incumbent agency. It collects none of them until a human confirms. Cohorts are then built as queries, for example “has an agency AND runs Google Ads AND NOT has online booking.” The upshot is explainability: you know why each company is on the list, and so does the email.

3. Prefer deterministic code to model calls

The README’s philosophy section says that if something can be gotten deterministically, don’t use a model: rank position, tech detection, junk filtering, the priority decision and the pre-send gate are all plain code. This keeps costs down and behavior predictable.

4. Failures are findings, not silence

Harvey records “no team page found” or “provider is throttling” as observations. Silent failures look exactly like clean results, which is how a broken run gets mistaken for an empty market.

5. Skills are plain Markdown

Sales knowledge lives in editable Markdown files (email frameworks, objection handling, signal playbooks) that are concatenated into prompts. There is no fine-tuning or vector store; change a file and the next cycle behaves differently.

The Compliance Layer

Cold email automation is where enthusiasm meets law. The FTC’s CAN-SPAM compliance guide states that the law “makes no exception for business-to-business email,” and that each separate violating email can draw penalties of up to $53,088. It requires accurate headers, a valid postal address and a working opt-out honored within 10 business days.

Harvey’s changelog shows the project building toward this: it adds a postal address and opt-out line under every cold email, treats opt-out wording as immediate and permanent, includes a sending-domain readiness check (harvey warmup), ramps send volume for new domains, and has an optional per-recipient check for rules like GDPR. It also says it will answer truthfully if a prospect asks whether they are talking to an AI, and it ships LinkedIn automation switched off because it breaches that platform’s terms.

None of that makes you compliant. The README is explicit that you are the sender, and that none of it is legal advice.

What This Means for Business Leaders

You don’t have to run Harvey to learn from it. If your team is evaluating or building agents that touch customers, borrow the pattern:

For a broader view of automating outreach, see From Cold Outreach to Closed Deal.

Conclusion

Harvey is a young open-source project (the README lists version 0.2.1 and the roadmap is still filling in), so treat it as a reference design rather than a finished product. What makes it interesting is restraint: a small loop, deterministic where possible, supervised by default, and candid about law and deliverability.

Takeaways: run agents in approval mode first; check model output with plain code; confirm targeting criteria yourself; verify provider terms before automating on a personal plan; and treat compliance as your job, not the tool’s.

Frequently Asked Questions

What is Harvey?

Harvey is an open-source autonomous sales agent that finds prospects, writes and sends cold email, handles replies and works toward booking meetings, running locally on your machine. It is MIT-licensed.

Does Harvey really have no AI cost?

It has no API bill because it uses your Claude or ChatGPT subscription through each provider’s CLI. Usage still counts against your plan’s limits, and you should check the provider’s terms for automated use.

Will Harvey send emails without my approval?

Not by default. With native providers, every email waits in an Outbox for approval. You can switch to full autopilot by setting require_approval to false.

It can be, but you are the sender. The FTC says CAN-SPAM has no exception for B2B email and sets penalties of up to $53,088 per violating email. GDPR and other regimes add their own rules. This is not legal advice.

Do I need to be a developer to use it?

Setup involves Python and a command line, though the repo ships a CLAUDE.md that lets Claude Code walk you through it. Prompts and skills are plain Markdown you can edit.

Sources

Have a project like this in mind?

Tell us what you're building — we'll help you scope it and ship it.

Talk to us

Keep reading

Promact team

We are a family of Promactians

We are an excellence-driven company passionate about technology where people love what they do.

Get opportunities to co-create, connect and celebrate!

Join Us

Vadodara

Headquarter

B-301, Monalisa Business Center, Manjalpur, Vadodara, Gujarat, India - 390011

+91 (932)-703-1275

Pune

46 Downtown, 805+806, Pashan-Sus Link Road, Near Audi Showroom, Baner, Pune, Maharashtra, India - 411045

USA

4056, 1207 Delaware Ave, Wilmington, DE, United States America, US, 19806

+1 (765)-305-4030
Promact global office locations on world map