Fix common problems
devboxes is down
Check status.devboxes.ai first. It shows whether the devboxes API and its dependencies, the docs, and devboxes Nixhub answer. It runs separately from devboxes, so it stays reachable during an outage.
The CLI says you are not signed in
Run devboxes login.
The sign-in code does not work
A code works once and expires after 5 minutes. After three wrong tries it stops working. Run devboxes login --email <address> again for a new code.
If the CLI answers TWO_FACTOR_REQUIRED, your account uses two-factor authentication. Sign in with your password instead: run devboxes login and choose email and password.
The browser refuses the code from the CLI
When you sign in with GitHub or Google, the CLI shows a code that you approve in the browser. When the browser can't approve it, the page says why:
| The page says | What to do |
|---|---|
| This code doesn't match a sign-in | Check that you typed the code the CLI shows. |
| This code has expired | Run devboxes login again for a new code. |
| This code was already used | Run devboxes login again for a new code. |
| This code belongs to another account | Another account opened this code first. Run devboxes login again for a new code. Sign in to the browser with the account the CLI should use before you open the new link. |
The CLI lists sign-in methods and stops
Outside a terminal, the CLI cannot ask how you want to sign in. Add --github, --google or --email to devboxes login. See Sign in.
A delegation token stopped working
The token expired, or you or an Organization owner revoked it. Removing a member from the Organization revokes all of their delegations, and a Run's delegation ends when the Run ends. delegations.list shows when your delegations expire and which ones were revoked. Create a new delegation. For CI, create one with no expiry.
A call says you are not allowed
Your role in the Organization does not allow that operation. Ask an owner or admin to run it or to change your role. If you use a delegation token, create a new delegation that lists the operation.
A call says that an ID was not found
Check that the ID belongs to the Organization in organizationId. List the resources, for example with projects.list, and copy the ID again.
A task does not start
My devboxes task does not start. Check the Runner, the workspace, and the model account of its Project, and tell me what is wrong and how to fix it.
To check it yourself:
- Read the Run's
queueReasonwithsessions.inspect.workspace_imagemeans that the Run waits for the Project's workspace,retrymeans that devboxes starts the Run again after a problem on its side, andcapacitymeans that capacity that devboxes manages has no room yet. See Follow a task. - Check that the Project's Runner is running.
capacity.listshows it asready. If it isoffline, start the Runner on the machine again, as shown in Add a Runner. - Check the Project's workspace with
images.inspect. A task waits for a workspace build only when the Project has no workspace yet, when it was started to wait for a new workspace, or when its Runner's platform needs a workspace built for it. When the build failed, itsfailureMessagesays why. While tasks wait on a Project's first workspace, devboxes builds it again by itself when it failed on its side, up to three times, and once more whenever devboxes updates its image builder; after those tries, runimages.configurewith the same packages and services. When the image builder rejected the packages or services, those tasks wait until a laterimages.configurebuilds. - Check that the model account still works with
connections.list.
Work does not start because devboxes paused new Runs
DISPATCH_HALTED means that devboxes has paused new Runs while it resolves an operational issue, for every Organization or for yours. The pause is temporary. Start the work again later. A Run that was queued before the pause stays queued and starts once the pause ends. Runs that already run continue, unless devboxes also stops them. Then the Run's error says so, its stoppedBy is halt, and the Session keeps the work saved so far. Continue the Session once the pause ends.
Managed work does not start for lack of credit
COMPUTE_CREDIT_EXHAUSTED means that your plan's included usage and your prepaid credit are used up. The message names the date when the plan's included usage renews. Buy credit or subscribe to a plan, or choose one of your own Runners for the Project.
When credit runs out while work runs, devboxes stops the work, and the Run's error says so. The Session keeps the work saved so far. Continue the Session once your Organization has credit again.
Managed work does not start because too many Runs are running
MANAGED_CONCURRENCY_REACHED means that your Organization already has as many managed Runs at once as its plan allows. Start the work again when one of them ends, move to a larger plan, or choose one of your own Runners for the Project. Runs on your own Runners don't count.
You can't buy credit
TOP_UP_LIMIT means that the purchase is above what your plan lets you buy now. Plans and billing lists the limits. To have your limit raised, write to [email protected].
A managed Run failed on devboxes' side
When a managed Run fails because of devboxes, for example because its machine went away, devboxes' team gets an alert, and in Chat, devboxes says so. devboxes doesn't charge the Run until it has looked at it. Continue the Session to try again.
A task failed
Read the Run's error and summary with sessions.inspect. Then give the Session a corrected instruction with sessions.continue, or start a new task.
The model provider refused a task
When the model provider refused the task's model account, the task fails, and the Session's conversation shows the failed step with the provider's refusal. devboxes pauses the account for an hour:
| The failed step says | What to do |
|---|---|
| The model provider refused the API key | Replace the key in Model subscriptions, then send a message in the Session to continue. |
| The model provider account ran out of quota | Add quota with the provider, or connect another subscription in Model subscriptions, then send a message in the Session to continue. |
| The model provider limited requests | Wait a few minutes, then send a message in the Session to continue. |
From the CLI, replace the account's key or sign-in with devboxes connect --account <account id>, as Connect a model account describes. Then send the agent a message.
The agent did not push its work
Only a publish node pushes the agent's commits. Check with sessions.inspect whether the task's publish node was skipped or failed. A publish node is skipped when the step before it, for example the tests, failed. If the Blueprint has no publish node, add one and commit a new version. See Write a Blueprint.
devboxes does not answer in Chat
devboxes does not answer in our Chat channel. Check that Chat is on and that the channel is assigned to a Project, and tell me what is missing.
To check it yourself:
- Check that Chat is on with
chat.policy. - Check that the channel is assigned to a Project with
chat.channels. - Check that the devboxes app is a member of the channel.
You do not know whether a write went through
Before you run a write again, read what it changes. Running sessions.dispatch twice starts two tasks.