# bay 0.4.2: an agent asks, a person answers from anywhere

> An agent's question reaches a person on any machine, and the answer comes back to the agent. bay 0.4.1 also stops quiet undos.

Gudjon Gudjonsson, Founder and CEO of OZ. 2026-10-25. Source: https://getbay.io/blog/bay-0-4-2 (HTML).

bay 0.4.2 is out today, and 0.4.1 came out yesterday. bay is for teams that run many coding agents in one codebase, often on the same files. Git itself is fine, but the human-paced branch and merge workflow breaks at that speed. With bay, each agent submits once, and bay merges only what passed on the latest main. These two releases are about the moments an agent needs a person, and the work agents can quietly break.

## An agent asks, a person answers

An agent that needs a decision asks with its product's question tool, such as Claude Code's `AskUserQuestion`. `bay status --all` then shows that the session waits, and why: a question, a permission prompt or an idle prompt. With a key registry, each question also becomes a talk with its options, so any machine can see it. A person with an approver key answers it with `bay talk --answer`, signed, so the record names who decided. With Claude Code and `[agent] question_wait_s` in the policy, the agent gets that answer as the person's own.

```sh
bay talk --answer k3q7m2xv5tabe4wd --value "use tenant_id"
```

## Nothing quietly undoes merged work

An agent can write a file from an old copy, and put back what another change just replaced. Git merges that cleanly, so the other change's work silently leaves main. Since 0.4.1, bay refuses such a change with `UNDOES_MERGED`, and names the change and the file. Reworking those lines still merges. To undo a change on purpose, use `bay undo`.

## Smaller steps for every clone

- **No setup per clone**: one clone runs `bay install`; a plain `git clone` then saves and merges.
- **Main is your default branch**: make `dev` the default on your host, and every clone follows.
- **What main changed**: `bay merge` names your files that main changed since you began, and main's commit.
- **Lists merge both sides**: a file main's `.gitattributes` marks `merge=union` keeps every change's lines.
- **Kinds of files out of Git**: `offload = ["**/*.pdf"]` sends every new file of a kind to your own store.
- **Locks in the fleet map**: `bay status --all` lists each lock held now, with its holder.

## Get started

bay is free and open source under the MIT licence, with no paid tier and no account. Install bay, then follow the quickstart to merge your first change. 0.x means a minor release can still change a command, and the changelog names each change.

```sh
curl -fsSL https://getbay.io/install.sh | sh
```
