Skip to content

Troubleshooting

Message Fix
This instance is not set up yet Self-hosted: the administrator must finish /setup (GitHub App).
Too many attempts. Wait a few minutes and try again. Too many email codes or wrong codes. Wait about 15 minutes.
The code expired or was entered wrong too many times. Ask for a new code. Codes last 10 minutes and allow 5 attempts.
This email already belongs to another bohr account. Sign in with that account instead, or use another address.
Message Fix
That does not look like a Cloudflare API token. Copy the whole token, without spaces.
Cloudflare did not accept this token. / This token is … The token is invalid, expired or disabled. Create another one.
The token lacks some permissions (Containers: Edit…) Edit the token and add what is listed. Containers: Edit also needs the account to be on Workers Paid. See Connect Cloudflare.
This token cannot see any Cloudflare account. Give the token access to your account (Account Resources).
Paste the Cloudflare token again. You took more than 15 minutes to pick an account. Paste the token again.
The Cloudflare token cannot create D1 databases. Template projects need D1: Edit. Edit the token and try again.
Message Fix
This Cloudflare account has no workers.dev subdomain yet. Open Workers & Pages in the Cloudflare dashboard once to create it, then try again. Do that, then use the retry on the project page.
… is already a bohr project. A repository can only be one project. Look for it in Projects (or in an organization).
The GitHub App cannot reach that repository. Give the app access to the repository.
Creating projects on bohr.io Cloud needs an active subscription. Subscribe, or ask an organization admin to.
The Cloudflare account already has a Worker named … Choose another project name. Template projects: pick another name.
GitHub is taking too long to copy the template. The repository was created; wait a minute and create the project from it as a repository.
Setup failed with another reason Check the token’s permissions and that the account is on Workers Paid, then retry.
Message Fix
The agent is off because it has no provider yet. The owner (or organization admin) sets a model provider.
That does not look like an Anthropic API key (sk-ant-…). Anthropic keys start with sk-ant-. A sk-ant-oat01- token is a Claude subscription token: choose Claude subscription.
The provider did not accept this key. / Could not reach … Check the key, and the Base URL of a compatible provider (without /v1/messages).
the request’s budget (US$…) ran out before the work was done Raise Budget per request in Settings › Agent, or split the request.
the agent’s workspace restarted in the middle of the request It happens during bohr updates. Send the request again; an interrupted repository preparation restarts by itself once.
You already have 5 requests in the queue. Wait, or cancel one with /cancel.
That message is too long. Requests are limited to 20,000 characters. Split it.
Message Fix
The preview is not set up yet: the agent prepares it when it imports the repository. Wait for the repository preparation, or click Prepare the repository in the chat.
The preview could not start. Ask the agent to check the file .bohr/preview.json. Open Preview status and log to see the error, and ask the agent to fix it. See .bohr/preview.json.
The preview is starting. This page reloads by itself. The sandbox was asleep and is installing dependencies. It can take a few minutes.
The preview is running, but its server did not answer. The dev server must listen on 0.0.0.0 at the configured port and accept any Host header.
Message Fix
The production deploy failed. Details: … Open the run in Builds and ask the agent to fix the error. Production keeps the previous version.
The file .bohr/deploy.json has a problem (…), so the production deploy was not updated. Ask the agent to fix it, or fix it by hand (reference).
Deploy credentials are only given to .github/workflows/bohr-deploy.yml on <branch>. Only that workflow, on a push to the production branch, gets credentials.
Could not get a GitHub OIDC token The workflow needs permissions: id-token: write.
Protection does not apply to this site The project uses a custom deploy command; see Password protection.
Message Fix
Not signed in to … Run "bohr login", or set BOHR_TOKEN… Sign in, or set a token (Authentication).
… The token expired or was revoked… Create a new token, or run bohr login again.
… runs in its owner's Cloudflare account, and deploys from the CLI only reach projects bohr hosts for now. An outdated CLI (4.0.0 or earlier): run npx bohr@latest (details).
… runs in its owner's Cloudflare account: only its owners (admins of its organization) can deploy it from the CLI… Only owners deploy those projects from the CLI. Push a branch instead, or ask an owner (details).
wrangler printed no preview address: turn on preview URLs for the Worker… Set "preview_urls": true in the Worker’s wrangler config (details).
This folder's wrangler config deploys the Worker "…", but …'s site is "…" Run it in the folder of the project’s Worker, or fix name in the wrangler config.
This repository is not a bohr v2 project: … Run it in the project’s folder, link it with bohr link, or add a wrangler config. bohr v1 repositories are never touched.
Which project? … has no GitHub remote (origin). Pass --project <id> or run bohr link.
Which branch? HEAD is detached: pass --branch <name>. Pass --branch.
Asset too large: … Cloudflare accepts files up to 25 MiB: remove it or list it in .assetsignore.
Found wrangler.toml, but this action reads wrangler.jsonc. Convert the config to wrangler.jsonc.

All CLI codes: Exit codes and errors.

Message Fix
The site is not published yet / The site's Worker (…) is not deployed yet. Domains and site variables need the site’s Worker: publish once.
No zone in your Cloudflare account covers … Add the domain to Cloudflare first. Add the domain’s zone to the account the project runs in.
… is a name bohr or GitHub already use. Names starting with GITHUB_, CLOUDFLARE_, BOHR_, and CI, are reserved.
… is already set in the site's wrangler config: change it there. Remove it from vars in wrangler.jsonc, or change it there.

Still stuck? Discord or contact@bohr.io.