# When something is wrong

> The dozen things that actually go wrong, what each one looks like, and where the fix is.

In rough order of how often they happen.

## Every machine looks unreachable at once

**It is your phone, not your machines** — the tell is *all at once*. Open the
Tailscale app on the device in your hand. See
[when a machine will not open](https://beafk.app/docs/a-machine-will-not-open.md).

## One machine will not open

The causes, in the order they happen, are on
[when a machine will not open](https://beafk.app/docs/a-machine-will-not-open.md). The workspace one
is the least obvious.

## An agent has been working for forty minutes — is it stuck?

Nothing times a turn out. It ends when the agent finishes it, when you press
stop, or — if the machine has heard nothing at all from the agent for **thirty
minutes** — when the machine declares that turn over itself.

So read the bottom of the chat. It says one of three things:

- **A face, a verb and a clock.** The machine says the turn is running, and the
  clock counts from when the turn began rather than from when you opened the
  screen — a reload does not reset it.
- **The same face asleep, and *waiting on you*.** The turn stopped on something
  only a person can answer, and the clock is counting how long it has been left
  there. See [when an agent needs you](https://beafk.app/docs/when-an-agent-needs-you.md).
- **Neither, and an offer to mark it done.** The turn has already stopped.

Forty minutes of the first one is a long turn, not a stuck one. If you want it
to end, press stop — what has already been written to disk stays written. See
[a chat](https://beafk.app/docs/a-chat.md).

## The connect code expired

Press **New code**. It costs nothing and does not buy a second seat. See
[your first machine](https://beafk.app/docs/your-first-machine.md).

## The install stopped partway

The screen is quiet for a couple of minutes and names the step it was on.
Run the same line again; it picks up where it left off. The machine's row in
your list is the way back if you closed the tab.

## This machine already belongs to someone

The code was refused because that box is already in another workspace. The
card names them. Moving it takes `sudo beafk cloud forget` on the machine
(drop `sudo` on a Mac), then a fresh code from the workspace you want it in.

## The Tailscale key was refused during install

Auth keys are usually single-use, so a spent key is the ordinary failure of this
step. The install asks again and prints what Tailscale said. Make a fresh key
and paste it. Which switches to set on it is on
[your first machine](https://beafk.app/docs/your-first-machine.md). The ordinary path is the
login, not a key.

## The machine connected but has no address

It skipped Tailscale, or Tailscale failed after the login. On the machine:

```sh
sudo beafk net tailscale    # Linux
beafk net tailscale         # Mac — no sudo
beafk doctor
```

On a Mac, if the card says Tailscale is switched off: open the app from the
menu bar, turn the switch on so it says Connected, then the line above.

If the card says the certificate is still being issued, wait. That is not a
missing address.

## Codex refuses every device code

The account is in a ChatGPT workspace with device codes switched off, and the
refusal does not say so. An owner has to turn one setting on — see
[signing an agent in](https://beafk.app/docs/signing-an-agent-in.md).

## An agent says it is not signed in, but you signed it in

Check you signed it in **on that machine**. Sign-ins are per machine: they live
in the agent's own file on that box. A machine you connected yesterday knows
nothing about a sign-in you did on another one.

## A crew role does nothing

Usually the role names an agent that is not signed in on this machine. Open the
piece's card and read its transcript, then
[sign that agent in](https://beafk.app/docs/signing-an-agent-in.md).

## A tool server is not there in a chat

Start a new chat. Some agents do not notice a change to their tool list
mid-chat, even when told. See
[keeping every CLI in sync](https://beafk.app/docs/keeping-every-cli-in-sync.md).

## A push fails with a permissions error

The machine needs a credential of its own, set up once — your browser being
signed in to GitHub does not help it. See [git](https://beafk.app/docs/git.md).

## An agent has become stupid

Two things look exactly like this, and neither is the model:

- **The machine is out of memory.** Check
  [is the machine all right?](https://beafk.app/docs/is-the-machine-all-right.md).
- **The context window is full.** Check the meter under the message box and
  press compress. See
  [models, effort and permission](https://beafk.app/docs/models-effort-and-permission.md).

## The panel says the machine is too old

It has fallen far enough behind that the panel and the machine no longer
understand each other. Update it —
[keeping machines updated](https://beafk.app/docs/keeping-machines-updated.md).

## "This machine has not been able to reach its cabinet"

Its network to us is broken. The agents are still running and nothing is lost.
The door reopens on its own when it can reach us again. Check the machine has
outbound internet.

If it says something about the **seat** instead, that is the subscription:
[when a subscription lapses](https://beafk.app/docs/when-a-subscription-lapses.md).

## I disconnected a machine and I am still being charged for it

Disconnecting is not cancelling. A seat frees for **reuse** the moment a machine
is disconnected, and a replacement takes it for nothing. To stop paying, cancel
on the billing screen: [changing your plan](https://beafk.app/docs/changing-your-plan.md).

## Somebody I removed can still open a machine

For up to an hour, and there is a way to make it immediate:
[cutting somebody off takes up to an hour](https://beafk.app/docs/reaching-your-machine.md#cutting-somebody-off-takes-up-to-an-hour).

## The logs are two hours out

They are in **UTC**. That is your timezone, not a stalled ingest. See
[logs](https://beafk.app/docs/logs.md).

## I deleted something by mistake

It is in [the trash](https://beafk.app/docs/the-trash.md) for thirty days, and one press brings it
back. The exception is a set of variables — that page says why.

## Still stuck

`beafk doctor` on the machine is the fastest way to a straight answer, and its
output is the thing to send us. Teams customers get priority support; everybody
can write to [hi@beafk.app](mailto:hi@beafk.app).

---

beafk documentation · Reference · https://beafk.app/docs/when-something-is-wrong

In this section:
- When something is wrong — https://beafk.app/docs/when-something-is-wrong.md (this page)
- When a machine will not open — https://beafk.app/docs/a-machine-will-not-open.md
- Glossary — https://beafk.app/docs/glossary.md
- The command line — https://beafk.app/docs/every-command.md
- Legal — https://beafk.app/docs/legal.md
- The licence — https://beafk.app/docs/license.md

Every page, one line each: https://beafk.app/docs/llms.txt
All of it in one file: https://beafk.app/docs/llms-full.txt
