<rg>, are filled in with your own names.
The fastest first step is always the agent check. Ask an agent:
The check or a start cannot find a connection
No accessible azure connection is configured
No accessible azure connection is configured
No accessible azure connection is configured. Configure a connection and retry.Cause: You cannot use any Azure connection: none exists, or none is shared with you or
your role.Fix: Create the connection, or ask an administrator to share it with you or your role; see
Create the Azure connection in Genesis.Choose an accessible azure connection and retry explicitly
Choose an accessible azure connection and retry explicitly
Choose an accessible azure connection and retry explicitly, or ask the user which candidate to use.Cause: You can use one or more Azure connections, but the request did not name one and
neither you nor any of your roles has a default Azure connection. Genesis does not pick a
connection on its own.Fix: Set the Azure connection as My default, or ask an administrator to set it as the
Role default for your role. Or name the connection in your request (“use the
azure-sandboxes connection”).Multiple azure role defaults conflict
Multiple azure role defaults conflict
Multiple azure role defaults conflict. Retry with an explicit connection or ask the user which candidate to use.Cause: You have several roles whose default Azure connections differ.Fix: Set a My default, which takes precedence over role defaults, or name the
connection in your request.Region is not an Azure region name
Region is not an Azure region name
'<value>' is not an Azure region nameCause: The connection’s Region is not formatted like an Azure region name. Genesis
removes spaces and ignores case, so both forms Azure shows are accepted, for example
eastus2 or East US 2. This checks the name’s format, not Azure’s region list: a
well-formed value that is not an actual region can pass connection validation and then be
rejected by Azure when the sandbox starts.Fix: Edit the connection and set Region to an actual Azure region, such as eastus2.Azure sandbox is missing a value
Azure sandbox is missing a value
Azure sandbox is missing <fields> (looked in Azure connection '<name>').Cause: The connection is missing a required field, such as the subscription ID or resource
group.Fix: Edit the connection and fill in every required field; see
the field list.Azure sandboxes started here must use a Genesis Azure connection
Azure sandboxes started here must use a Genesis Azure connection
Signing in to Azure fails
Azure unreachable, or the token request times out
Azure unreachable, or the token request times out
Azure unreachable: ..., or a token request that fails with a connection error or
timeout rather than an HTTP status.Cause: Genesis cannot reach login.microsoftonline.com or management.azure.com on port
443.Fix: Allow both destinations; see
Allow Genesis to reach Azure.
In the Snowflake Native App, approve the connection’s external access request.The check reports missing permissions
Cannot read resource group (HTTP 403)
Cannot read resource group (HTTP 403)
The service principal lacks containerGroups permissions
The service principal lacks containerGroups permissions
A sandbox does not start
MissingSubscriptionRegistration
MissingSubscriptionRegistration
MissingSubscriptionRegistration, saying the subscription is
not registered to use namespace Microsoft.ContainerInstance. The exact wording comes from
Azure.Cause: The Container Instances resource provider is not registered on the subscription.
This is common on new subscriptions.Fix: Have an Azure administrator register it, then try again:400 InaccessibleImage
400 InaccessibleImage
registry_server, registry_username and registry_password; see
Private registries.An error response is received from the docker registry 'index.docker.io'
An error response is received from the docker registry 'index.docker.io'
mcr.microsoft.com) or your own Azure
Container Registry. The default image already comes from Microsoft’s mirror, so leaving the
image unset avoids this.Container group did not start, or was not running after 600s
Container group did not start, or was not running after 600s
Container group genesis-sbx-<id> did not start: <Azure's events>, or
Container group genesis-sbx-<id> was not running after 600sCause: Azure created the container group but the container failed or never reached the
running state. The events Azure reported are included in the first message. Common causes are
an image that is not a Linux image, an image that cannot start a shell, a size larger than the
region allows, or a regional capacity or quota limit.Fix: Read the events in the message. Try the default image to rule out the image, a smaller
size to rule out limits, or an Azure connection set to another region. Genesis deletes a container group that fails to
start, so nothing is left behind.A sandbox starts, but commands fail
Failed to open ACI exec session: cannot connect to exec host
Failed to open ACI exec session: cannot connect to exec host
Failed to open ACI exec session: cannot resolve exec host <id>.<region>.atlas.cloudapp.azure.com:19390: ...Cause: Genesis cannot reach Azure’s command endpoint for the region. The sandbox started,
because that uses port 443, but commands use port 19390. Usually:- An outbound firewall allows only port 443.
- In the Snowflake Native App, the connection’s external access has not been approved, was
approved for a different region than the sandbox runs in, or the network rule lacks the
:19390port. Snowflake reports a blocked destination as[Errno -2] Name or service not known. Genesis can still show the connection as ready, because it cannot read the network rule’s contents. - Genesis’s DNS cannot resolve the endpoint’s host name. Genesis retries briefly, because a new container’s host name can take a few seconds to appear.
*.<region>.atlas.cloudapp.azure.com on port 19390; see
Allow Genesis to reach Azure.
In the Snowflake Native App, approve the connection’s external access again and make sure the
connection’s Region matches the region the sandbox runs in. If your administrator manages
the network rule by hand, it must contain *.<region>.atlas.cloudapp.azure.com:19390 exactly:
*.cloudapp.azure.com does not match, because a Snowflake wildcard covers one subdomain level.
Rule changes take effect within about 20 seconds; ask the agent to run the command again.Command timed out
Command timed out
Command timed out after <N>s, with exit code 124.Cause: The command ran longer than its time limit, five minutes unless the agent set
another.Fix: Ask the agent to run it with a longer timeout, to run it in the background and check
on it, or to split the work into smaller steps.ACI exec transport failed
ACI exec transport failed
ACI exec transport failed: ..., for example exec session closed by Azure.Cause: The command session with Azure dropped, or a transfer kept failing its integrity
check. Genesis never returns damaged output: it retries and then reports this error instead.Fix: Ask the agent to run the command again. If it keeps happening, check whether the
sandbox is still running (it may have reached its maximum lifetime) and whether the network
path to port 19390 is stable.A package install fails
A package install fails
pip such as connection timeouts or Could not find a version that satisfies the requirement.Cause: If the sandbox is attached to your virtual network, its outbound traffic is
following your network’s rules, which may block pypi.org. Otherwise, the package name or
version may be wrong.Fix: Check that the subnet has an outbound path to the internet, such as a NAT gateway or a
route through your firewall, and allow pypi.org and files.pythonhosted.org on port 443 from
it, or use your own package mirror; see
Run inside your virtual network.Container groups are left in the resource group
Genesis deletes a sandbox’s container group when it stops, times out, or is found ended after a restart. A container whose maximum lifetime has passed has already exited and no longer bills for compute; Genesis deletes its group the next time its sandbox monitor runs. If groups remain, for example after Genesis was removed or the service principal lost access, list and delete them:genesis-sbx-<id> and tagged
genesis-sandbox: true. Groups started by an agent also carry genesis-session and genesis-bot
tags naming the Genesis session and agent.
Collecting details for support
If you need help from Genesis support, send:- The exact message, copied from the chat or the Sandbox Sessions page, and the time it happened, with time zone.
- The result of the agent check (“Check whether the Azure sandbox backend is ready to use with my Azure connection”).
- Where Genesis runs: Snowflake Native App, Docker, Kubernetes or a virtual machine.
- The connection’s region and resource group, and the role assigned to the service principal (Contributor or the custom role).
-
The container group name (
genesis-sbx-<id>), if a sandbox started. -
For start failures, the container group’s events, if it still exists:

