CLI Overview
Global options and command structure.
Introduction
openkakao-rs is organized around a small set of transport and automation surfaces rather than one giant command tree you need to memorize at once.
The practical split is simple:
REST reads
Lightweight, cache-backed reads and account checks when you want cheap, simple commands.
LOCO workflows
Real chat operations such as full reads, sending, watch mode, and media flows.
Policy flags
Unattended mode and allow-* flags keep risky behavior explicit instead of hidden.
Persistent config
Repeated operator policy can live in config.toml while concrete targets stay on the CLI.
Learn the boundary, not just the names
The fastest way to navigate the CLI is to understand when you want a cheap REST read, when you need LOCO, and when automation policy should stay explicit.
Usage
openkakao-rs [OPTIONS] <COMMAND>Global Options
| Flag | Description |
|---|---|
--json | Output as JSON |
--no-color | Disable colored output |
--unattended | Declare non-interactive operation |
--allow-non-interactive-send | Allow send -y and file send -y in unattended mode |
--allow-watch-side-effects | Allow watch read receipts, hooks, and webhooks in unattended mode |
--no-prefix | Don't prepend 🤖 [Sent via openkakao] to outgoing messages |
--completion-promise | Print [DONE] to stdout after successful command completion |
--version | Show version |
--help | Show help |
The NO_COLOR environment variable is also respected per no-color.org.
Persistent policy can be stored in Configuration. Transport choice guidance lives in REST vs LOCO.
High-Level Command Groups
Authentication
Login extraction, relogin, renewal, and token validation.
Message reads
read, read --rest, search, and export for message history and retrieval.
Real-time watch
Event-driven monitoring with reconnect handling, hooks, and webhooks.
Operator tooling
Diagnostics, policy flags, and trust boundary considerations around live automation.
Commands
Authentication
| Command | Description |
|---|---|
auth | Verify token validity |
login --save | Extract credentials from KakaoTalk |
relogin | Refresh token via login.json |
renew | Renew token via refresh_token |
Chat & Messages
| Command | Description |
|---|---|
chats | List chat rooms |
chats --rest | Force cache-backed REST chat list |
read <chat_id> | Read messages (LOCO by default) |
read <chat_id> --rest | Force cache-backed REST read |
members <chat_id> | List members (LOCO by default) |
members <chat_id> --rest | Force REST member list |
search <chat_id> <query> | Search messages |
export <chat_id> | Export messages (JSON/CSV/TXT) |
unread | List unread chats |
loco-chats | Hidden legacy compatibility command |
loco-read <chat_id> | Legacy compatibility command |
chatinfo <chat_id> | Chat room details (LOCO) |
loco-members <chat_id> | Hidden legacy compatibility command |
loco-chatinfo <chat_id> | Hidden legacy compatibility command |
send <chat_id> <msg> | Send text message |
send-file <chat_id> <file> | Send file (photo/video/doc) |
send-photo <chat_id> <file> | Send photo (alias for send-file) |
edit <chat_id> <log_id> <msg> | Edit a message via REWRITE (macOS: -203) |
delete <chat_id> <log_id> | Delete a message via DELETEMSG |
mark-read <chat_id> <log_id> | Mark messages as read up to logId |
react <chat_id> <log_id> | Add reaction to a message (type=1 = like) |
watch | Watch real-time messages |
download <chat_id> <log_id> | Download media attachment |
loco-blocked | Inspect LOCO block/hidden-style members |
Friends & Profile
| Command | Description |
|---|---|
friends | List friends |
profile <user_id> | Friend profile |
me | Your profile |
settings | Account settings |
profiles | Multi-profile list |
Utilities
| Command | Description |
|---|---|
doctor | Diagnostics |
doctor --loco | Test LOCO booking and connectivity |
loco-test | Hidden legacy compatibility command |
probe <method> | Raw LOCO probe |
loco-probe <method> | Hidden legacy compatibility command |
scrap <url> | Link preview (OG tags) |
completions <shell> | Shell completions |