home / releases

Releases

Install the current version, or pin an older one. Every release stays installable — if something in a new version does not suit your machine, you are never stuck on it.

Pinning is a one-way street until you undo it

A pinned install does not update itself. It stays where you put it until you re-run the plain install command, which always brings you back to the current release. That is deliberate: if you dropped back because something broke, an automatic update would put you right back into it.

3.7.6 Current 21 Oct 2026

Installing on a machine that has nothing yet

Reported from a brand-new Mac with no Python and no Claude Code on it. The installer met the gaps one at a time — offer Bun, offer Claude Code, then stop dead at jq with sudo apt install jq (or: brew install jq), which is wrong twice on a Mac: there is no apt, and no brew either until you install it. Three stops, three re-runs, and advice written for somebody else’s operating system.

  • One pass, one question. It looks at the machine, prints everything missing in a single list with the command for your platform, asks once, installs all of it, then re-checks every dependency before saying it is done. On a Mac with no package manager, Homebrew is step 1 — because naming brew install jq first is a dead end you only discover after following it.
  • Python is checked at install time. It needs 3.11+ for the daemon and sandboxes, and used to surface only later, at abs src install, long after the installer had finished and said it was done.
  • No more apt commands on a Mac at runtime either. abs itself hardcoded sudo apt install in two places. It now names what actually installs a package on the machine it is running on — or says it does not know, rather than inventing one.
  • Nothing is installed before you agree. Piped to bash with no terminal to ask on, it prints the commands and stops. --yes installs the dependencies unattended, and deliberately does not answer the optional voice offer.
  • Re-running it is cheap. Questions you have already answered are not asked again, and voice is never offered twice.
  • abs exit waits, and says only what is true (3.7.5). It sent a signal, printed a tick and deleted the session pid without checking whether the process had gone — so a session held open by a background shell was reported as closed, with nothing left to try again against. It now waits, names the child processes holding it open, keeps the pid when it fails, and offers --force rather than escalating on your behalf.
curl -fsSL https://agentbabysitter.com/install.sh | bash

Already installed? Just run abs — it offers you the update itself.

3.7.4 1 Oct 2026

Two bots on one machine, and a warning that was wrong about it

All of this came out of one afternoon running two bots on one server — which is the thing ABS itself had just recommended. Two hotfixes, folded together.

  • Two bots is not a conflict. Starting a second one made both sessions show telegram conflict. Nothing was conflicting: the detector counted polling processes across the whole machine and called two of them a clash, which only holds if the machine runs one bot. Running several, one per project, is a feature. A real conflict is two pollers on the same bot, and that is what it looks for now.
  • The background check no longer acts on a guess. The false warning exposed a worse one: a routine turn could have ended a working connection when it could not identify who owned it. Not knowing is not evidence. It now acts only on the unambiguous case, and abs reconnect — which you run deliberately — still handles the rest.
  • The way to a second bot, said the right way round. A profile name you have never used sets up a new bot and launches it, with nothing to install. The message had implied the opposite, and pointed first at the automated command, which needs the v3 source.
  • A tidy-up (3.7.3): dead code removed after an audit — a function orphaned when voice-note trimming was dropped, and two constants whose comment claimed they enforced a rule they did not. No behaviour changed.
curl -fsSL https://agentbabysitter.com/install.sh | bash

Already installed? Just run abs — it offers you the update itself.

3.7.2 1 Oct 2026

Four dead ends, and a voice that stopped without saying so

Every fix here is the same shape: ABS noticed something was wrong and then left you with nowhere to go. A refusal that is correct is still a bug if it does not tell you what to do next — and four of these five were hit on a live machine before they were found in a test.

  • A resume only resumes something that exists. A session nobody spoke in leaves a history file with no messages in it, so --continue refused and the launch died at a shell prompt. The menu checks for a real message first and starts fresh in that folder instead, saying why.
  • A Telegram conflict is visible, and gets cleared. A dropped connection heals itself; two sessions polling one bot does not — the plugin gives up after eight tries and stays alive but deaf, with replies still going out. The status bar now says so while it can still be fixed, a stray poller is ended automatically, and abs reconnect does it on purpose. A poller a live session owns is never touched.
  • A stuck update tells you what is stuck. On a server, git pull --ff-only refused over a locally-edited file and said only "resolve it by hand" — over SSH, with no idea what had changed. That machine sat a fortnight behind. It now names the files, shows the diff, and offers to stash and retry, which keeps your changes and prints how to get them back. Never without a yes, never without a terminal.
  • You can make a second bot while the first is working. With a session live on one bot, the one command that creates another refused for the same reason — so there was no way to get a second bot without ending the session you were using. Making one collides with nothing: the live bot only relays the new bot's PIN.
  • Voice no longer dies silently on a shared GPU host. A root-owned CUDA MPS daemon makes every other user's CUDA init hang for ever, so the speech engine blocked for hours and not one voice note went out. ABS now steers the client away from it before anything can load torch.
curl -fsSL https://agentbabysitter.com/install.sh | bash

Already installed? Just run abs — it offers you the update itself.

3.7.1 24 Sep 2026

See and edit what goes into Claude — and a fresh machine that installs cleanly

Everything ABS says to Claude is plain text, and abs prompt is the page that shows all of it and lets you edit the parts that are yours: a tabbed editor for your persona, what a control phrase from Telegram injects, this repository's instructions, and what Claude Code remembers about the project. The prompt is assembled in a fixed order — bridge mechanics, then your persona, then the safety rules — and that order is the point: whatever a persona says, safety comes after it.

  • Personas with names. abs is the default; ceo, cto and friend ship as examples, and you can write your own. Every launch asks who to be — arrow keys, Enter to keep the last one — and the status bar shows it.
  • The launch asks in the right order: is there an update, who am I, where am I working. The update check used to come after you had picked a project, and saying yes threw the pick away.
  • One voice engine, ever. On a machine with no engine, replies stay text instead of an improvised, slow, wrong-voice note; with one, the same reply never arrives twice from two engines.
  • A fresh machine installs the Telegram plugin. It needs the plugin marketplace, which a new machine has not got yet — ABS adds it now instead of failing with a message about a stale cache. Logging in is needed to start a session, not to install, and you are told so once.
  • Long replies arrive whole: the voice note, the same words as text, then a point-wise card — nothing trimmed, nothing lost to Telegram's message limit.
curl -fsSL https://agentbabysitter.com/install.sh | bash

Already installed? Just run abs — it offers you the update itself.

3.6.2 16 Sep 2026

The text behind the voice note, and a shape for updates

Two reports from a phone, about one conversation: sometimes the voice note arrived and the text behind it never did, and a long note would stop mid-update to say "that is as much as a voice note can carry". The first was Telegram's 4,096-character ceiling: the text is sent after the note, with the usage line appended, and a long report went over — Telegram rejected it and the only trace was a line in a log. The second was two leftover phrases on paths the earlier fix had not reached.

  • Long replies are never lost. Anything over the limit is split at a paragraph and sent as several messages, on every path — including abs send, which used to trim to the first 4,096 characters with a warning.
  • Nothing is trimmed from a voice note. A long answer is split across notes, in order, and neither "as much as a note can carry" phrase exists any more. Length is a recommendation, not a limit.
  • A reply arrives as three messages: the voice note, the text of exactly what it said so you can read along, and a point-wise card with fixed headings — objective, done, issues, decisions, you, me, not doing — as its own message.
  • An update opens with a heading, which is spoken as the title; a bare label line above a list is no longer read aloud.
curl -fsSL https://agentbabysitter.com/install.sh | ABS_REF=v3.6.2 bash
3.6.1 20 Aug 2026

The whole prose section, not the first paragraph

Voice notes had been reading only the first paragraph of a reply and stopping at the first blank line, so the outcome was heard and the reasoning and the question were not. Every prose paragraph up to the first bullet, table or heading is spoken. Untagged on GitHub; it went out on main and is included in 3.6.2.

3.6.0 19 Aug 2026

The status bar tells the truth on a Mac

On macOS the bar had been quietly wrong for weeks: no context percentage at all, no weekday beside the weekly limit, and a raw date where Linux showed a countdown. One cause did most of it. The bar reads its numbers from Claude Code directly, through a helper that wraps commands in a timeout — and macOS ships no timeout, so that helper fell back to its own watchdog, which ran the read in the background. A background command's input is redirected to nowhere unless you say otherwise. It read nothing, on every frame, on every Mac.

Shipped as a beta first and run on a real MacBook before this tag existed, because tests that only simulate a Mac are not the same as a Mac.

  • Context, limits and resets are back on macOS — and they come free from Claude Code's own render data rather than from polling, which is faster and spends none of your usage.
  • Reset times are computed without date, so they read identically on every platform instead of depending on which flavour of the tool you have.
  • The name on the bar follows your Claude account and rechecks while the session runs, so switching accounts changes it within a minute. Pin your own with abs config label <name>.
  • Installing a pinned version actually works now. The documented command put the variable on the wrong side of the pipe and silently installed the current release — including for anyone rolling back after a bad one. See below for the correct form.
curl -fsSL https://agentbabysitter.com/install.sh | ABS_REF=v3.6.0 bash
3.5.3 Previous 18 Aug 2026

Voice when it helps, text when it doesn't

A short reply arrives as text alone; a long one arrives as a voice note and the text. A brief answer is quicker to read than to listen to, and a long one is the other way round — reading it on a phone is work, hearing it is not.

It builds on 3.3.0, which was the release that finally launched cleanly on macOS after three that did not. The test suite runs bash 3.2 now — the shell macOS actually ships — so that whole class of bug cannot come back unnoticed.

  • Voice by default where the machine can speak, using Kokoro — 82M parameters, runs on the CPU, a note in seconds.
  • Choose your voice by ear. abs voice samples sends one voice note per voice, so you pick by listening rather than by reading names.
  • The daemon needs no git clone. A curl install is now a full install — the always-on daemon, sandboxes, and starting a session from your phone.
  • The status bar colours your remaining context, and your usage numbers are attached to reports automatically instead of when the model remembers.

Known issue on macOS. The status bar is wrong on this version: no context percentage at all, no weekday beside the weekly limit, and a raw date instead of a countdown on the five-hour one. It is fixed in 3.6.0. This tag is here so you can step back if something else in 3.6.0 does not suit you — not because it is a good choice on a Mac. On Linux it is unaffected.

curl -fsSL https://agentbabysitter.com/install.sh | ABS_REF=v3.5.3 bash
2.5.1 Previous 22 Jul 2026

The last release before the always-on daemon

The 2.x line, complete and stable: pairing, notifications, replying from your phone, screenshots, voice in and out, usage reports, profiles and the remote kill ladder. What it does not have is the v3 layer — no background daemon, no sandboxes, and no starting a session from Telegram with nothing running.

Pick this one if a v3 feature gets in your way and you would rather have the smaller, quieter tool.

curl -fsSL https://agentbabysitter.com/install.sh | ABS_REF=v2.5.1 bash

The installer will tell you it is a pinned install, and how to get back.

Going back to current

Run the plain install command again. It always installs the current release and clears the pin:

curl -fsSL https://agentbabysitter.com/install.sh | bash

Any other version

Any tag in the repository works with ABS_REF. The full list is on GitHub, and every change is written up in CHANGELOG.md.

Note where ABS_REF goes: after the pipe, immediately before bash. Put it in front of curl instead and it lands in curl's environment, never reaches the shell that does the installing, and you quietly get the current release. The last line the installer prints names the version and the ref it came from, so you can always check.

One gap worth knowing about: v3.0.1 and v3.0.2 were withdrawn, because both crash on macOS at launch. They are the releases 3.3.0 exists to replace. Between 2.5.1 and 3.3.0 there is nothing to fall back to.

Something broken?

Drop back to 2.5.1 to keep working, then open an issue — knowing which version you fell back from is genuinely useful.

← Back to home  ·  v3.7.6  ·  MIT License  ·  About & contact  ·  Made with ♥ for Claude Code users