> Fetch the index of every Tonbo docs page as Markdown at https://tonbo.dev/llms.txt

# Deploy a change

Last updated 2 November 2026

> Machines are not open yet. These pages describe Machines as they will open; until then, a create answers [`region_not_offered`](https://tonbo.dev/docs/machines/troubleshooting/manage.md#region_not_offered) (422), “Machines are not offered in any region yet.”

Ship a new image, command, env or shape, and make it apply now rather than at the next wake, whenever you release a new version.

## What applies when

- Ports and the sleep-after time (`--sleep-after`): at once.
- The image, the command, env and the shape: at the next wake, which starts fresh.
- Which Volume the Machine has, and its path: at the next wake.
- The stop grace (`--stop-grace`): at the next stop.

## Apply it now

A Machine that is called often may not sleep for a long time, and runs the old version until it does. Put it to sleep after the change: the sleep ends open requests, and the next one starts the new version fresh.

```shell
tonbo machine update app --image registry.example.com/you/app:2
tonbo machine sleep app
```

## A new image under the same tag

A tag is resolved to its digest when you name it, so a push under the same tag changes nothing until you name the tag again:

```shell
docker push registry.example.com/you/app:1
tonbo machine update app --image registry.example.com/you/app:1
```

## While the new image is pulled

Tonbo pulls a new image before a wake can use it, and `tonbo machine show` says `pulling` meanwhile. A request that wakes the Machine then is answered [image_pulling](https://tonbo.dev/docs/machines/troubleshooting/call.md#image_pulling) with `Retry-After` (5 seconds). If the pull fails, wakes are answered [image_failed](https://tonbo.dev/docs/machines/troubleshooting/call.md#image_failed) until an update names an image that pulls; `tonbo machine show` says why it failed.

## Through the API

An update through the Management API sends `If-Match` with the ETag a read of the Machine answered, so a change made by someone else in between is never lost (see [Change a Machine](https://tonbo.dev/docs/machines/manage.md#update)). The CLI does this for you. What a wake starts with is on [Sleep, wake and stop](https://tonbo.dev/docs/machines/sleep.md#continue).
