Changelog
What changed in each release of herdr-link. The format follows Keep a Changelog; versions follow semantic versioning (before 1.0, a minor version may change the config or the chat protocol). Where it's heading: roadmap.
0.6.5 (2026-11-04)
Added
- Agents send files: a line
[file: /path]in a reply (the form the owner's attachments reach the agent in) is taken out of the text and the file goes with the message, up to 8 MB, to adapters that take files; the others get its path (agents).
0.6.4 (2026-11-04)
Added
hellolists the agents the bridge can start (agents: name, emoji, logo), so a program can offer them without reading thespace newcommand's choices.
Changed
- A tab started by an adapter that named its agent (
thread.createdwithagent) gets no "✳️ claude is starting in …" post: the program asked for it and needs no echo.
0.6.3 (2026-11-03)
Fixed
- A question whose options have previews (shown beside a preview box) is answered from the chat: a press picks the option with its digit and Enter, where the digit alone only moved the cursor. Such a question has no "Type something", so writing in the thread closes the form and sends the text as a message.
0.6.2 (2026-11-03)
Fixed
- The Herdr bar's panel opens under the bar, not wherever the pointer last was in the main window.
- A space nobody named gets its room named as herdr shows it, after where its
terminal is now (its repo or folder), and the room follows a
cd. It was named after the folder the space was made in (~). - A tab nobody named is called by its place (1, 2…), as in herdr. Its empty name crashed the bridge, which then made a new room on every restart.
- A message the chat protocol refuses fails on its own instead of stopping the bridge.
- Discord: a rename or topic change held by Discord's rate limit is postponed to the next sync, as intended. It failed the whole sync, because discord.js names that error after its route.
0.6.1 (2026-11-03)
Changed
- The package ships compiled JavaScript instead of TypeScript run through tsx: installing no longer pulls in tsx and esbuild, and npm no longer warns about esbuild's install script.
0.6.0 (2026-11-03)
Added
- Install with an agent: tell your coding agent "Read https://thl-ai.github.io/herdr-link/install.md and install herdr-link for me." It checks your computer, installs what's missing (asking first), walks you through the bot and checks the result; the bot token never goes through the agent. On the site as Install with an agent.
- Adapters that drive agents. The Chat protocol gains what a program
(not only a chat app) needs to run agents through herdr-link:
space.create: make a herdr space, with a first tab running an agent on a task; answers with its room and thread;thread.createdtakesagentandtask: the tab starts at once with that agent and its first message;room.deleted: deleting a space's room closes the space in herdr. On Discord: delete a space's category, and the space closes; its channels go to the archive;thread.status(with the newstatuscapability): every agent's state as data, on each change.
0.5.0 (2026-11-03)
Added
- Question forms in the chat. When Claude Code asks with its question form (AskUserQuestion), each question arrives in the tab's thread with its options as buttons: one tap for a single choice, check marks and Next for a multi select, Submit at the end. Write your own answer in the thread instead; on a multi-select question that closes the form and your words go to the agent as a message. Answered in herdr, the buttons go away.
- At the desk or away. At the desk, messages still arrive in the chat,
without a push (Discord's silent messages, Telegram's
disable_notification); away, every message pushes as before.herdr-link desk on | off. - A bar in the Herdr window (
herdr-link mod install): whether the link works (green, yellow, red), your chat apps, the desk switch. Click it for the panel: turn a chat app or its DM status on and off, update the hooks, restart, run the doctor, read the log. herdr-link status [--json]: what the running bridge reports (chat apps connected or their last error, the hooks, the desk switch), from~/.local/state/herdr-link/status.json.herdr-link adapter <name> on | offandherdr-link adapter <name> dashboard on | off: change one line of the config, keep the rest (comments too), restart the service.herdr-link service restart.- Chat protocol: optional
silentonmessage.postandask. Adapters that can't post silently post normally.
0.4.0 (2026-11-03)
Added
- Telegram, built in (
herdr-link-telegram): every herdr tab is a topic✳️space / tabof one forum group; the bot's private chat is the control room. Buttons, a/command menu, files. Deleting or closing a topic closes its tab. herdr-link telegram: finds the group and user ids, checks Topics and the bot's admin rights, prints the config section.- Progress on long turns: a turn still working after 45 s gets one
status message in its thread, edited live with the time spent and the
agent's latest notes, shrunk to "✅ worked 12 min" at the end. The hook
also runs on
PreToolUsenow: runherdr-link hooks installagain. - New threads in chat apps without rooms: the name says the space
(
✳️api / fix), or the bot asks which. Messages written before the tab is up become its agent's first task. enabled = falseanddashboard = falsein an adapter's section.
Fixed
- The DM dashboard was reposted after every layout change; it is now edited in place and reposted only when the old message is gone.
0.3.4 (2026-11-02)
Added
herdr-link initinstalls herdr when it is missing (after asking).- A roadmap to 1.0, and Getting started on the site.
0.3.3 (2026-11-02)
Fixed
- No stalls behind Discord's rate limits: a rename Discord postpones is skipped and retried by the next sync, and every call to an adapter times out after 30 s.
0.3.2 (2026-11-02)
Fixed
herdr-link doctorwaits out Discord's rate limit (it shares the bot token with the running bridge) instead of failing.
0.3.1 (2026-11-02)
Added
- The site: a landing page and the docs, on GitHub Pages.
- Docs for agents: adding one, finding its keys.
0.3.0 (2026-11-02)
Added
- Docs: configuration, agents, writing an adapter (the protocol, examples, a small Python adapter), troubleshooting.
herdr-link doctor --fix [--yes]: every check knows its fix (hooks, the service, Discord's Message Content intent, starting herdr-core,init).- Adapters without rooms: tabs become top-level threads
<space> / <tab>.
0.2.0 (2026-11-02)
Added
- Split tabs: several panes share their tab's thread; their messages are signed, a reply goes back to the pane that wrote the message, a leading agent emoji picks that agent, else the bot asks "Who is this for?".
- Several machines: spaces on another herdr machine carry its name; a
machinesetting names this computer when herdr-link runs on several.
0.1.1 (2026-11-02)
Changed
- Published through npm trusted publishing, with provenance.
0.1.0 (2026-11-02)
First release: herdr spaces as private rooms and tabs as threads on
Discord, agent replies through a shared hook, permission prompts with
Allow / Allow always / Deny, new tabs from new threads, an archive for
closed tabs, /screen, /status, /space new, the DM control room. The
herdr-link CLI: init, doctor, service, hooks.
Edit this page on GitHubherdr-link · MIT