kakaocli CLI
A KakaoTalk CLI for Mac: the agent reads chats, searches messages and sends texts through client automation
- 180 ★ on the repository
- Last commit
- MIT
Broad access
Why this level
- The tool reads the whole local KakaoTalk conversation database and sends messages in your name through interface automation.
- Reading needs Full Disk Access, sending and login store the client credentials, and the author warns of a possible Kakao account restriction.
Install
- Works in
Manual install
brew install silver-flight-group/tap/kakaocliInstalls the tool and sqlcipher and builds from source in about 20 seconds. Then grant the terminal Full Disk Access.
Access and checks
How we reviewBroad accessThe tool can change data, run commands or handle secrets.
- The tool reads the whole local KakaoTalk conversation database and sends messages in your name through interface automation.
- Reading needs Full Disk Access, sending and login store the client credentials, and the author warns of a possible Kakao account restriction.
This is third-party code. Review the repository files before installing.
What it does
kakaocli is a console tool for KakaoTalk on macOS. It reads the local encrypted SQLCipher database in read-only mode and returns chats, messages and full-text search as JSON, while `kakaocli query` runs a SQL query against the decrypted database. Messages are sent by automating the client interface through the macOS Accessibility API. The tool does not reimplement the KakaoTalk protocol or call Kakao servers. For agents there is `kakaocli sync --follow` with a stream of new messages as NDJSON and webhook delivery, plus automatic launch and login to the client from stored credentials. The `kakaocli harvest` command collects group chat names from the interface because the database sometimes records them as `(unknown)`, and with `--scroll` it loads older history. The `skills/kakaocli/SKILL.md` skill lists commands and rules for the agent: confirm before sending to other people, test with `--me` and `--dry-run`, and send no more than one message per two seconds.
Who it is for. KakaoTalk users on a Mac who hand Claude Code or Cursor conversation summaries, search and sending replies.
Good fit when
- You want a weekly summary of a work group chat and have no time to read hundreds of messages.
- You are searching for an agreement by keyword across all chats at once.
- Your script handles incoming messages through the `kakaocli sync --follow` stream or a webhook on a local address.
- The agent reminds a colleague about a meeting, and the text first goes through `--dry-run`.
Not a fit when
- You use KakaoTalk on Windows, a phone or the web: the tool targets only the Mac client.
- You need a bulk mailing: messages go through the client interface, and the skill allows no more than one message per two seconds.
- You need the official Kakao API: the tool does not use it.
Example request
Find KakaoTalk messages about lunch from the past week and summarize what was agreed.Limitations
The KakaoTalk Mac client loads messages from the server only when a chat is opened, so older conversations may be missing from the local database. `harvest --scroll` runs into the same client behavior and the paid Talk Drive Plus. Sending and `sync` need the client running. The authors are not responsible for consequences, including account restrictions by Kakao. The repository's last commit is dated March 2026.
How to disable. Remove the tool with `brew uninstall kakaocli`. `kakaocli login --clear` deletes stored credentials, and chat metadata lives in `~/.kakaocli/metadata.json`. Delete the copied `SKILL.md` from the project's skills directory.
FAQ
Which macOS permissions are needed?
Grant the terminal Full Disk Access under Privacy & Security in System Settings, or the database cannot be read. Accessibility is needed on top of that only for `send`, `harvest` and `inspect`.
How do I test sending in advance?
Send a message to yourself: `kakaocli send --me _ "test message"`. Or add `--dry-run` and the tool shows what would go out without sending anything.
How do I get new messages into an agent?
Run `kakaocli sync --follow`: each message arrives as a JSON line with the chatId, logId, author, message and sentAt fields. To deliver to an address add `--webhook http://localhost:8080/kakao`.
How do I collect group chat names?
Run `kakaocli harvest`: the tool walks the chat list in the interface and saves names to `~/.kakaocli/metadata.json`. It skips chats with unread messages so as not to mark them as read.
How do I store details for automatic login?
`kakaocli login` asks for them interactively and `kakaocli login --status` shows the state. Scripts can use `--email` and `--password`, but a password in arguments lands in the shell history.
Discussion
No questions or reviews yet.
Related
CLI toolsAn unofficial CLI and MCP server for KakaoTalk on macOS: the agent reads chats and sends messages through the app interface
A skill that equips an agent with Kody CLI for local code execution using shared memory, packages and cloud account data.
WeChat Automation API
wechat-automation-api
A skill for agents on Windows that sends text, images and files through an already running desktop WeChat, with an HTTP API and a queue as well
A macOS CLI and MCP server: screenshots, accessibility-based UI inspection and app control via clicks and typing
A Rust CLI for macOS: an agent reads any app's interface through the accessibility tree and clicks, types and scrolls by element refs, with no screenshots
Hycli turns a website URL and a goal into a typed CLI and MCP tools that run in your own browser session, with no cookie leaks.
Comparison with similar tools
Cards that share the main search query, and how they differ.
| Tool | Official | Authentication | Repository stars | Main difference |
|---|---|---|---|---|
| kakaocli (this card) | no | 180 | ||
| WhatsApp MCP Server | no | not required | 6,816 | an MCP server for a personal WhatsApp account; this is KakaoTalk and a CLI that automates the Mac client |
| LINE Bot MCP Server | yes | API key | 797 | the official LINE MCP server over the Messaging API; this works unofficially with the client's local database |
README in short
The README is bilingual, English and Korean. Silver Flight Group built the tool, the idea is inspired by wacli, a similar CLI for WhatsApp on Mac, and the database decryption approach is based on research by blluv. A disclaimer stresses that the project is unofficial and unaffiliated with Kakao.