# Manage Environment builds

Inspect build status, refresh an Environment, repair failures, and manage defaults.

Open **Settings → Environments** and select an Environment's card or name. Its details show the source, authorization scope, repositories, setup scripts, and build information.

## Understand build status

| Status | What it means for new sessions |
| --- | --- |
| **Queued** | The first build is waiting for a build slot. You cannot launch yet. |
| **Building** | The first build is preparing repositories and tools. You cannot launch yet. |
| **Ready** | New sessions use the latest successful build. |
| **Updating** | A replacement build is running. Sessions continue to use the previous successful build. |
| **Update failed** | The replacement failed. The previous successful build remains usable. |
| **Failed** | There is no successful build. Fix the cause before launching. |
| **Unavailable** | The active source's provider is no longer available. Select a usable source before launching. |

Build progress can also include **Validating** before the result becomes Ready. The details distinguish the active configuration from **Pending changes**, which apply only after a successful build.

## Inspect diagnostics

During a build, the details show progress and available output. After a successful build, use **Show log** to inspect recorded output. Failure details include a reason and category; timestamps and build duration help distinguish a command failure from a timeout or provider problem.

Repository details show the branch and commit used by the build. Compare these with the code you expected before assuming the snapshot contains your latest changes.

Build output is sanitized and may show only its latest portion. It may also be unavailable or withheld when Factory cannot store it safely. **Copy build output** copies the output shown, not a guaranteed complete log. Never include secrets in logs or scripts.

## Edit or refresh

1. Open the Environment and click **Edit**.
2. Change its name, source, repositories, or setup scripts.
3. Click **Save**.

Changing the source, repositories, or setup scripts starts a replacement build. Renaming alone does not. Authorization scope cannot be changed after creation.

Use **Rebuild** to refresh the existing configuration, for example after repository or dependency changes. Factory also performs scheduled refreshes; the build details show their trigger. Do not rely on a refresh occurring at a particular time when you need a specific update now.

Editing is disabled until the current build finishes. **Cancel build** is available while a build is queued or building, but not during validation. Canceling a replacement build does not remove the previous successful build.

Existing Computers do not change just because an Environment rebuilds. Start a new instance to use the new successful snapshot.

## Fix a failed build

1. Read the failure reason and available build output.
2. For repository errors, check the [personal connection, organization integration, and repository grants](/environments/prerequisites#connect-github-in-both-places).
3. For setup errors, use **Edit** to correct the commands, then **Save** to build the corrected definition.
4. For a transient failure with no configuration changes needed, use **Retry build**.

If the UI indicates the Environment needs attention, check whether it is **Failed** or **Update failed**. Only the first means no successful baseline exists. A failed update does not interrupt the previous successful build.

If a provider was removed, edit the Environment and choose a new Provider and Source. An unavailable source cannot be repaired by retrying it unchanged.

## Set an organization default

A manager or owner can choose **Set as default** on an organization Environment that is Ready and has no build in progress or failed update. The default is pinned first in the gallery and list and is selected automatically for eligible new sessions. It does not replace the compute target of sessions already running.

## Delete the saved configuration

Use **Delete**, then click **Delete** in the **Delete Environment** confirmation. The provider environment is permanently deleted, but **existing Computers created from it are unaffected**. Update delegations, automations, or Mission defaults that reference it before expecting new runs to succeed.

For programmatic management and build diagnostics, see the [Environments API reference](/api-reference/environments).

<RelatedLinks>
  <RelatedLink href="/environments/run-droids" title="Run Droids">
    Use the latest successful snapshot.
  </RelatedLink>
  <RelatedLink href="/environments/troubleshooting" title="Troubleshooting">
    Diagnose missing Environments and failed launches.
  </RelatedLink>
</RelatedLinks>
