Skip to content
Habakkuk
Habakkuk

A team of AI agents that runs your work.One small binary.

Habakkuk is an open-source agent you message from the chat apps you already use. It remembers, uses real tools, hands work to other agents, and never loses a job, even to a crash.

curl -fsSL https://habakkuk.ai/install.sh | sh

Linux and macOS, amd64 and arm64. Also via go install, Docker and the desktop app.

You · any chat app
Habakkukhabakkuk

plans, delegates, reports back

  • marketing

    own chat

  • sales

    own chat

  • support

    own chat

delegateboardschedules

Talk to it anywhere

Message it where you already are.

Linked as a WhatsApp device, as a bot, or over a webhook: one Habakkuk answers on every chat app you connect, with files, voice notes and images in both directions where the platform allows.

  • WhatsApp

    linked device

  • WhatsApp agent

    Settings › Agents

  • WhatsApp Business

    Cloud API

  • Telegram

    bot

  • Slack

    Socket Mode

  • Discord

    Gateway

  • Signal

    signal-cli

  • Matrix

    sync API

  • iMessage

    via BlueBubbles

  • Email

    IMAP and SMTP

  • SMS

    Twilio

  • Microsoft Teams

    Bot Framework

  • Google Chat

    Chat app

  • Messenger

    Graph API

  • Instagram

    messaging

  • LINE

    webhook

  • Mattermost

    WebSocket

  • Rocket.Chat

    realtime API

  • Zulip

    streams and topics

  • Nextcloud Talk

    Talk bot

  • Feishu / Lark

    IM API

  • DingTalk

    robot

  • WeCom

    app

  • IRC

    TLS and SASL

  • Twitch

    chat

  • ntfy

    push topics

  • Web chat

    built in

  • Terminal

    CLI and TUI

Stays connected
Every adapter runs under a supervisor with a heartbeat watchdog. A stuck socket is torn down and reconnected.
Polite in groups
In group chats it answers only when it is mentioned or replied to, unless you tell it otherwise.
Strangers need a code
Someone new gets a pairing code. Nothing reaches the agent until you approve it with habakkuk pair.

It never loses work

Every turn is a durable job.

Pull the plug in the middle of a tool call and nothing is lost. When Habakkuk comes back it picks up where it stopped, without doing anything twice.

  1. 1

    A message arrives

    It becomes a turn job in the database before any work starts.

  2. 2

    A worker leases it

    The lease records host and process, and the worker heartbeats while it runs.

  3. 3

    kill -9, mid tool call

    Power cut, out of memory, a bad deploy. The process is gone.

  4. 4

    Restart reclaims the job

    A dead owner's work is taken back at once instead of waiting for the lease to expire.

  5. 5

    The transcript is repaired

    A tool call with no recorded result is marked interrupted, so side effects are checked, never blindly repeated.

  6. 6

    The reply goes out once

    Redelivered messages are dropped, and a long reply resumes at the first unsent chunk.

It remembers

Memory you can open in a text editor.

What Habakkuk learns is kept as plain Markdown files next to its config. Read them, edit them, or tell it to forget.

Memory

Durable facts, preferences and decisions, one note per file, found again with full-text search and, if you turn on embeddings, by meaning. Notes written after reading outside content are marked untrusted.

Skills

Folders with a SKILL.md that teach it how to do a task. It loads one before work it covers, writes new ones, and can study a page or a repo with /learn.

Profile

A short USER.md about you: your name, where you are, how you like to be helped. Every new conversation starts with it.

on disk
~/.habakkuk/agents/habakkuk/
├── SOUL.md            personality
├── USER.md            what it knows about you
├── memory/
│   ├── coffee-order.md
│   └── q3-pricing-decision.md
└── skills/
    └── weekly-report/
        └── SKILL.md

It acts

Real tools, with you in control.

Habakkuk does the work, not just the talking. Every tool has a risk level, and you decide what runs without asking.

  • Files and shell

    Works in a workspace with permission modes from read-only to full. You approve risky calls, or a reviewer model does. Checkpoints let you roll back.

  • Browser

    A real Chrome: open pages, fill in forms, click, screenshot, download. Headless, or tabs in your own signed-in browser.

  • Computer use

    Sees a desktop through screenshots and drives the mouse and keyboard, on Linux, macOS or a private virtual screen per agent.

  • Images, voice, documents

    Generates images and video, reads PDFs and documents, transcribes voice notes, speaks replies, and talks live in the dashboard.

  • Schedules

    Cron, every-so-often or one-off. Each slot runs at most once, even across crashes, and results go to the chat that asked.

  • Task board

    Cards with assignees, priorities and dependencies. Work outlives the conversation, and results go back to whoever asked.

  • Meetings

    Joins Google Meet, Zoom and Teams calls as a named guest, reads the live captions and sends notes with decisions and action items.

  • MCP, both ways

    Uses tools from any Model Context Protocol server, and is an MCP server itself so other apps can ask it to work.

  • Home and other agents

    Controls Home Assistant, asking first for the devices you choose, and talks to other agents over Agent2Agent.

A team of agents

One agent you talk to. A team behind it.

Configure as many agents as you need, each with its own model, tools, memory and personality. The one you talk to hands work to the others and tells you when it is done.

Delegate

Hand a self-contained task to another agent and wait for the answer, several in parallel. A crash reattaches to the running work instead of starting it again.

The board

For work that should outlive the conversation: cards with an assignee and dependencies, picked up when they are ready, with results sent back to whoever asked.

Their own chats

Give each agent its own place to be reached. Marketing, sales and support can each live in their own WhatsApp chat, a Slack workspace, or a Telegram bot.

config.yaml (abridged)
agents:
  habakkuk:  { model: anthropic/claude-opus-5-5 }
  marketing: { model: anthropic/claude-sonnet-5-5 }
  sales:     { model: anthropic/claude-sonnet-5-5 }
  support:   { model: anthropic/claude-sonnet-5-5 }

channels:
  wa-marketing:              # its own chat in WhatsApp
    type: whatsappagent
    token_env: WA_MARKETING_KEY
    agent: marketing
  wa-sales:   { type: whatsappagent, token_env: WA_SALES_KEY, agent: sales }
  wa-support: { type: whatsappagent, token_env: WA_SUPPORT_KEY, agent: support }

Runs where you want

Your machine, your server, your data.

One static binary with no runtime to install. Its state is a few SQLite databases and folders of Markdown in one home directory you can back up with a single command.

  • CLI

    Chat in the terminal, or run one turn and print the answer.

    habakkuk chat
  • Terminal UI

    A full-screen chat with streaming, tool cards and approvals.

    habakkuk tui
  • Dashboard

    Chat, sessions, board, schedules, memory, usage and approvals in the browser. Installable as an app.

    http://127.0.0.1:8484/app/
  • Desktop app

    macOS, Windows and Linux. Menu bar status, notifications with Approve and Deny, and a quick ask window.

    Cmd/Ctrl + Shift + Space
  • Server

    Channels, schedules and workers in one process. Put it on a small VPS or a spare machine.

    habakkuk serve
  • Docker

    A multi-arch image on ghcr.io. Build the browser target to include Chromium.

    ghcr.io/mayorscript/habakkuk

Open source

Apache-2.0 licensed. Read every line.

Habakkuk is open source under the Apache-2.0 license, written in Go with no CGO, and builds to one static binary for Linux and macOS. The code, the docs and the issue tracker are on GitHub.

Pricing

Free to self-host. Hosted plans on the way.

Run the open-source Habakkuk with your own keys at no cost, join the waitlist for Habakkuk Cloud, or have us set up a team of agents for your business.

See pricing →
Habakkuk

Why the name

Why the name

“I will stand upon my watch, and set me upon the tower… Write the vision, and make it plain upon tables, that he may run that readeth it.”

Habakkuk 2:1–2

Habakkuk was a watchman on the tower, waiting and paying attention so others did not have to. That is the job: keep watch over your work, and report back plainly. The logo is two tablets that form an H, with the watchman’s light above them.

Start in a minute.

Install it, run habakkuk setup, and say hello.

curl -fsSL https://habakkuk.ai/install.sh | sh