Wacli – WhatsApp CLI (github.com)

by dinakars777 157 comments 246 points
Read article View on HN

157 comments

[−] joshwarwick15 30d ago
(Caveat I’m the founder of https://wassist.app - The WhatsApp Agent Platform)

Please be very careful using this tool to automate your WhatsApp - if you send too many messages, too quickly, you are going to get banned.

This is NOT an officially supported api by WhatsApp and the risk of ban is relatively high

[−] batuhanicoz 30d ago
The way I would put it as someone who works at Beeper is: only use messaging automations for personal use, and don't use it to spam anyone or do anything you wouldn't do yourself within the app.

As long as you don't abuse and keep your usage within the parameters of any human, you'll be fine.

[−] theoryaway 29d ago
Someone who previously helped a project Barista/instagrabber, you should be wary of it.

https://web.archive.org/web/20240527132615/https://austinhua...

[−] fg137 29d ago
That's quite... something.

I (almost) don't use any Meta products, but this just convinces me that I should stay away from it as far as possible.

[−] sigmoid10 30d ago
...until Meta decides they want to offer this kind of thing themselves and ban everyone else. Building your SaaS on top of someone else's SaaS is always a gamble, especially if said product is directly sold to users already and not a pure b2b intermediate.
[−] joshwarwick15 30d ago
They're already outright banning many OpenClaw usecases via their official API: https://techcrunch.com/2025/10/18/whatssapp-changes-its-term...
[−] trashb 30d ago
Since recently Meta offers this as per European Union mandate (Digital Markets Act, DMA). For both Whatsapp and Facebook messaging. [0]

Now there are a lot of implementation requirements, basically forcing you to have some kind of messaging provider. Therefore difficult to apply for an open source solution. However there is such an interface.

[0] https://developers.facebook.com/m/messaging-interoperability...

[−] NoahZuniga 30d ago
Meta already has a whatsapp api product
[−] TeMPOraL 30d ago
For spammers.

They don't have one for regular people who want to do regular end-user computation.

[−] kamma4434 29d ago
I personally find the almost absence of spam on WhatsApp a big success story for it. Think about how much Spam still hits your email inbox (and nobody knows how much is filtered away before it does).

I totally understand why they try and make it hard for integration to happen. When compared to classic SMS, the fact that you need to start a conversation with a preapproved template means that they have a way to control casual interactions.

[−] pancsta 30d ago
Companies in spain use it for legitimate reasons, so its more a lack of usage which makes spam the only usage?
[−] TeMPOraL 30d ago
I consider marketing use to be spam, and this is what the API is primarily meant for.

I understand that WhatsApp is kinda special in that it effectively replaced SMS in some parts of the world, but IMO this needs to be looked at through the lens of other Meta effort. The same is the case with Facebook/Messenger, and has been since before WhatsApp has been a (Meta) thing - they offer multiple different official ways to support spamming users and tricking them to buy stuff, but may the Lord have mercy on you should you want to create an auto-responder or "save to calendar" script and hook it up to your personal account.

[−] filcuk 30d ago
Who mentioned marketing? It's used for package tracking, order updates, bookings and so on where I live.
[−] c0balt 30d ago
That seems a but pessimistic. A few companies use it for customer service, like ime Adidas Germany [0] (they handled an exchange for me once on there). It is effectively just another customer support line like a chat portal on a website.

[0]: https://www.adidas.de/en/help/contact-us

[−] nurettin 30d ago
Personal use is all fun and games until your little beeper goes into a loop.
[−] boxingdog 30d ago
[dead]
[−] ezst 29d ago
Exactly, "automate your WhatsApp/Signal/..." sounds like "use XMPP for that use case", that's my go-to for bots and notifications, it works as well if not better, and I sleep better at night.
[−] faangguyindia 29d ago
Do you know a way i can use to trigger call to self for notification purpose? like site down notification via whatsapp or telegram call?
[−] swyx 30d ago
just so we know the consequences - is ban permanent? is there an appeals processes?
[−] faangguyindia 30d ago
I just use telegram.

Just yesterday I setup a bot which is easy via botfather

And also, setup an app (claude built it but I had to fiddle with it, it works like pagerduty) but uses cloudflate worker to push downtime/errors (via fcm) in production (from graphana) via webhooks to "full screen, by pass dnd, alerts, with loud music, this one: https://www.youtube.com/watch?v=H0IQBWWabuU )

I named the app "Siren".

It's not straightforward to have durable hard to miss alerts about your production enviornment but good thing is this doesn't cost a cent.

Telegram group alerts are from my teammates (small team 3 members) via bot.

And Siren is for only me as I am responsible for the backend with 10 microservices, centralized logging via graphana, alloy, loki, and for metrics Prometheus.

It's all working reasonably well for me, this makes your life so much better as you fix the issues before they turn into nightmare.

[−] jeanlucas 30d ago
I personally don't use whatsapp because I like it, but because all my contacts in my country are over there. It is officially more used than SMS here. It is not optional in my case :/
[−] neya 30d ago
Second this. Their API is such a breeze and it is so much more automation friendly than any other messenger platform. It has a good adoption % too, otherwise Signal is the real winner if we account for privacy.
[−] taminka 30d ago
it's really unfortunate that telegram doesn't do e2ee, bc it's hands down the best messenger otherwise :(
[−] BeetleB 29d ago
I'll second the "Telegram is great for bots". It's the reason OpenClaw users use it.

I stopped using OpenClaw a while ago, but I did vibe code the very basic automations I had used OpenClaw for. Getting it to work with Telegram was trivial.

I don't use Telegram for chatting. In fact, I try not to use any IM tools with humans. ;-)

[−] PUSH_AX 30d ago

> I just use telegram.

And how do you just get everyone you want to speak to use telegram?

[−] zarzavat 30d ago
Beware that if this does not use a real web browser then it's likely to get your whatsapp account suspended. Don't use it with any account you care about, you will lose all your data.

Hell, I got my whatsapp account suspended (appealed and reversed) just for using the official web client too soon after creating a new account.

[−] BoppreH 30d ago
I wish it mentioned how safe this is. Some years ago I got banned for just logging in with a third-party client, without sending any messages. Given how critical WhatsApp is for some people, and how permanent the bans are, that's a big risk.
[−] jillesvangurp 30d ago
Cool.

I spun up a self hosted matrix server a few days ago using codex, docker compose, and ansible. Stupidly easy to do now. I'm running it in Hetzner on a 3.99 euro/month vm. It backs up every few hours to a bucket and I have a few integrity scripts to monitor the backups actually happen. I did that because I was getting a bit frustrated with the flaky integration with Whatsapp and Slack in openclaw. I had it up and running in half an hour with only minimal prompting.

Whatsapp kind of works but you end up chatting with yourself and then open claw posts messages as you. Not ideal. You can't easily create new users (or bot users) in Whatsapp. It probably has some kind of bot api of course but I did not explore that much.

I never quite managed to get Slack working with open claw. I tried for a few hours. I think the Slack team is asleep at the wheel snoozing through this whole AI thing. If somebody there is still paying attention to things like this, maybe make some noise internally. Anyway, they made it stupidly hard to do anything productive via their APIs. The UI for managing permissions is a disgraceful hell of complexity. Add permission. UI freezes for fifteen seconds. Reloads automatically. Unfreezes. Add the next. And whatever you do, there's always one more permission you forgot. *end rant*

Relative to Whatsapp and Slack, Matrix is stupidly easy to integrate with open claw, codex, or whatever. We're retiring Slack now as I see uses for agent driven chat bots everywhere now and I want to get rid of any kind of friction around bot related plumbing. I have no use for platforms that intentionally cripple that or treat as a toll booth.

With Matrix, you just create a bot user manually or via an API. Set a password, get an access token and do whatever. No API limits. No faff with QR codes. No permission hell (Slack). It just works. Well documented API. End to end encryption. Etc. Create as many bot users as you need. Nobody is bean counting API calls, numbers of users, etc. Refreshingly easy.

Other OSS messaging platforms are available of course. I do not have a strong opinion as to which is better yet. But now I want a Matrix cli that can do admin, message sending, and all the rest. Probably already exists. But if it doesn't I might end up generating one. Macli might be a good name.

[−] recsv-heredoc 30d ago
This is such a sorely needed point of integration. Cool to see Peter still shipping tools. It’s such a pity meta refuses to play ball like Telegram.

Either they’ll double-down and make this even harder -or- hopefully realise that WhatsApp is likely to be a really common control plane for AI systems in the next few years. Let’s hope the Llama energy strikes and it’s the latter.

How does WhatsMeow compare with Baileys?

[−] alex-nikitin 30d ago
There's a whole cottage industry around WhatsApp that exists to provide tools and services to commodity brokers and traders, primarily for compliance and bulk messaging existing customers. Meta has nerfed bulk forwarding on their desktop app, and the industry moved to third party tools to work around this. The reality is, no-one is spamming, everyone is consenting to this, everyone understands the risks, but a lot of markets live on the WhatsApp network, and despite there being compliant chat solutions, the existing network effects keep the status quo. Prior to WhatsApp, the markets operated on Yahoo Messenger, and the only reason there was a move was because Yahoo shut it down in 2016.

If anyone from Meta is reading this - we've spoken to some of your managers and there's zero appetite from your side to address this market because it's too small. I would go out of my way to help you design this for free to solve the market need.

[−] whilenot-dev 30d ago
OT#1, but I don't endorse the editorial choice to put the name of the "original" author in the submission title.

OT#2: Is it typical to put a package.json in a go project as replacement for a {Make,Just}file?

[−] sixhobbits 30d ago
I'd be curious to know how many numbers were burned/banned during the development of this library
[−] nkzd 30d ago
What is the best way to get a throwaway phone number to try this? Is it possible to get one online?
[−] saberience 30d ago
As someone that's written some apps using official WA for Business accounts, I would strongly advise against any 3rd party tools for automating WA.

Whatsapp has some really stringent requirements on any kind of automation. E.g. Not messaging anyone automatically unless they messaged you with 24 hours, in fact, this is explicitly blocked if you use Meta's API. You have to use message templates in this case.

Also, any bots need to be verified with Meta etc.

And the TOS has gotten more strict recently, not less strict. So buyer beware here, Meta is really protective over reverse engineering WA protocol or automating it, so you can easily get yourself blocked or banned here.

[−] JimmaDaRustla 30d ago
I tried creating a whatsapp "bot" which would just send notifications for my Jellyfin server. It was a bureaucratic nightmare - creating dev accounts, creating some sort of "project", then it was requiring I register it as a business as though the only valid use case for creating an app for WhatsApp is a business, then it required me to verify my identify and upload documents.

I just switched to Signal.

[−] mentalgear 30d ago
Reading a lot about people getting banned here for not using the official client, but doesn't Whatsapp have to be interoperable now (at least in the EU due to new legislation) ?

At least Whatsapp itself shows ad banners that you can now connect other messaging clients into Whatsapp, so it should be normal that other clients can equally access Whatsapp.

[−] andberx 30d ago
The offline search with FTS5 is really nice. I have years of WhatsApp history and searching for anything in the app is painfully slow. Being able to just grep through everything locally would be a huge upgrade.

How far back does the backfill actually go? Does it pull your full history from the primary device or is there some limit?

[−] intheitmines 30d ago
The lifting/interfacing with whatsapp is handled by https://github.com/tulir/whatsmeow
[−] acedTrex 29d ago
Ya im totally sure its a good idea to use a tool written by the creator of openclaw with a sensitive account that is closely tied to day to day needs.

What could possibly go wrong with that.

[−] e7h4nz 30d ago
If AI agents can proficiently use whatsapp I would assume that two-thirds of the people chatting with me in my contacts are actually just bots messaging me.
[−] exitb 30d ago
It strikes me as odd that we've got so many agent harnesses, orchestrators, sandboxes, yet no one made a communicator for AIs yet.
[−] asim 30d ago
I don't know why in 2026 I'm still surprised CLIs are taking off. But here's the difference today. It's for real world end user platforms like WhatsApp and Claude. That's the difference. Previously it was only Dev and infrastructure focused. Today we're saying you know what, I need programmatic access to this real world thing. It's fascinating because I rarely open my laptop now or try not to.

Who are these people using the cli?

[−] ktimespi 29d ago
I guess this is breaking ToS?
[−] eisbaw 30d ago
Matrix
[−] e7h4nz 30d ago
[dead]
[−] ilusion 29d ago
[dead]
[−] superfa 30d ago
[dead]
[−] m00dy 30d ago
for some reason, I don't like this guy.