In the know

Know what your agents are doing.

One command from your agent puts what finished, what failed and the file that shows it on your Lock Screen, sorted by project and agent, and quiet when you want quiet.

acme-api · ci
$ kabu send "Build failed" "3 tests failed" --file report.html
{"ok": true, "id": "msg_01K8ZE2W7R4N9Q3X6M1T8V5JKD", "status": "sent", "attachments": 1}
$ kabu send "Build passed" "All 412 tests pass" --as-audio
{"ok": true, "id": "msg_01K8ZE4P9T2X6N8Q1W5M3R7HVA", "status": "sent", "attachments": 0}
An agent sends a report and a spoken update to your phone. The terminal runs kabu send "Build failed" with a report attached, and a pigeon carries it to the Lock Screen, where the file is one tap away. Then kabu send "Build passed" --as-audio arrives as an update the phone reads aloud.

One command sends an update.

kabu send takes a title and a message and prints one JSON object with the message's id and status, so your agent knows it went.

Learn how
acme-api — zsh
$ kabu send "Tests passed" "412 passed, 0 failed"
{"ok": true, "id": "msg_01K8ZB4TQ2N6X9M3C7D5F8H1JW", "status": "sent", "attachments": 0}

Send the proof with it.

Attach up to 10 files with --file, facts with --field and links with --link. A screenshot shows on the notification itself.

Learn how
acme-api — zsh
$ kabu send "Nightly build failed" "3 tests failed on main" --file report.html --field branch=main --link "CI run=https://ci.example.com/runs/812"
{"ok": true, "id": "msg_01K8ZB7R5V3P9W2K6M4N8Q1TXA", "status": "sent", "attachments": 1}

Hear it when you can't look.

With --as-audio, Kabu reads the update aloud and attaches the recording to it.

Learn how
acme-api — zsh
$ kabu send "Deploy finished" "v1.4.2 is live in both regions" --as-audio
{"ok": true, "id": "msg_01K8ZC2M8X5T1Q7W4N9P3R6KVB", "status": "sent", "attachments": 0}

Sorted by project and agent.

Each update shows the agent that sent it and its project, both found by kabu itself: the agent from the harness that runs it, the project from your repository.

Learn how

You decide when it may interrupt.

Set quiet hours, mute an agent or a project, or let only urgent messages through. Quieted updates wait in the app, and an ask still arrives, silently.

Put your agents on your phone.

One line installs the kabu CLI and connects this computer. Approve its code in the Kabu app, and your agents can tell you what they are doing, and ask.

mkdir -p ~/.local/bin && curl -fsSL https://usekabu.com/kabu -o ~/.local/bin/kabu && chmod +x ~/.local/bin/kabu && export PATH="$HOME/.local/bin:$PATH" && kabu login --device