Send messages, manage groups, and listen for real-time events, all from your terminal. No license keys, no subscriptions, no device limits. Open source, MIT licensed, forever free.
Every command you need for Zalo automation, from messaging to group management. All free, all open source.
Scan QR or login via credential file. Inline QR rendering in Ghostty, Kitty, WezTerm, and iTerm2. ASCII fallback for other terminals.
Manage multiple Zalo accounts with named profiles. Switch instantly between personal, work, and bot accounts.
Send text with Markdown formatting and @mentions, images, videos, voice, files, stickers, contact cards, and links. Reply, edit, forward, pin, react, delete, or recall messages.
WebSocket-powered listener with webhook integration, keep-alive auto-reconnect, supervised mode with IPC, inbound media caching, raw JSON output, and prefix filtering.
Create and configure groups, manage members and deputies, handle invite links and join requests. Create polls, block members, and transfer ownership.
Search users by phone or username, send friend requests, manage aliases, block or unblock contacts.
View and update your Zalo profile, change avatars, set online status, and check last-seen times.
SQLite-backed message persistence with full sync. Query messages offline with time-range filters, search across groups and DMs, and browse chat history locally.
Markdown-style formatting with **bold**, *italic*, ~~strikethrough~~, headings, lists, blockquotes, code blocks, and color tags. @mention group members by name.
MIT licensed. No license keys, no activation codes, no subscriptions, no device limits. Forever free.
Choose your preferred installation method. Requires Node.js 18 or higher.
$ npm i -g openzca@latest$ curl -fsSL https://openzca.com/install.sh | bashPS> irm https://openzca.com/install.ps1 | iex$ npx openzca --help# Run without installing globally
Install, login, and start sending, all in under a minute.
Install globally via npm or use the one-line installer script. Requires Node.js 18+.
Run openzca auth login and scan the QR code with your Zalo app. Done.
Use openzca msg send <userId> "Hello!" to send text, images, videos, and more.
Run openzca listen --webhook URL to receive messages in real-time via webhook.
Create profiles with openzca account add work and switch between them instantly.