# Human takeover

Source: https://docs.simail.ai/takeover/

> Lock a thread so a human can take over the conversation; what agents see and should do while a thread is locked.

Any human with access to an inbox can **take over** a thread in the console. The thread is locked
for agents until the human hands it back. Use it when a conversation needs judgment, when a customer
asks for a person, or when an agent goes off track.

## While a thread is locked

- Sends in that thread from any key or MCP client return **`423 thread_locked`**
  (reply, reply-all, forward, and sending a draft that replies in the thread).
- Messages already **scheduled** or **approved** in the thread do not go out. They wait at the
  release service's final check and continue after the unlock. If the lock outlasts the approval
  lifetime, they expire instead.
- Reading still works: the agent can see new messages, unless they are held.
- `thread.locked` is published when the lock starts and `thread.unlocked` when it ends.

```json
{
  "type": "https://docs.simail.ai/errors#thread_locked",
  "title": "ThreadLockedError",
  "status": 423,
  "detail": "A human has taken over this thread.",
  "instance": "/v0/inboxes/shop-helper@simail.email/messages/msg_…/reply",
  "code": "thread_locked",
  "retryable": false,
  "fix": "A human has taken over this thread; wait until it is unlocked.",
  "request_id": "req_…"
}
```

## What an agent should do

1. **Stop.** Do not retry the send, do not send from another inbox, and do not start a new thread
   with the same person.
2. Tell your human that the thread is locked, if you were in the middle of a task.
3. Wait for `thread.unlocked` (or check the lock) before writing in the thread again. Read what the
   human wrote first; they may have resolved the request.

## Checking a lock

`GET /v0/inboxes/{inbox_id}/threads/{thread_id}/lock`

needs `message_read`. See [Locks](/api/locks/).

Only humans lock and unlock, in the console. There is no lock or unlock endpoint for keys and no MCP
tool for it.

## Related controls

| Control | Scope | Effect |
|---|---|---|
| Thread lock | one thread | sends in the thread return `423`; reading continues |
| Pause inbox | one inbox | the inbox rejects new mail and cannot send until resumed |
| Organization paused | organization | sends return `403 account_suspended`; receiving continues |
| Platform pause | everyone | sends return `503 sending_paused`; accepted messages wait |
