DocsReference
Troubleshooting
What the messages BBM-Atlas prints mean, and what to do about them: the server, keys and roles, the local store, limits, single sign-on and the licence.
Could not reach the server
Could not reach http://localhost:8000 means no BBM-Atlas answered there. Start one with bbm-atlas serve, or point the CLI at yours with --base-url (or BBM_ATLAS_CLI_BASE_URL). bbm-atlas health checks the connection.
Missing or invalid API key
A 401: the server requires keys and this request carried none it accepts. Give the CLI one with BBM_ATLAS_CLI_API_KEY, the console with its API key button, and an assistant through its MCP configuration (Connect your AI assistant). An Enterprise key may have expired or been revoked: Invalid, expired or revoked API key.
Not allowed
A 403 with a key the server accepted: the key's role doesn't grant what the request needs, and the message names the permission. bbm-atlas enterprise whoami shows a key's roles and permissions; an administrator can change them (People, roles and keys).
… is outside the configured index roots is a 403 too: the server only indexes under BBM_ATLAS_INDEX_ROOTS.
The local store is in use
The local store … is in use by another BBM-Atlas process - only one process opens the local store at a time. Use the one that has it: its REST API, or its /mcp endpoint for assistants, instead of a second serve or a stdio mcp serve. Or stop it first, or give the other process its own BBM_ATLAS_LOCAL_STORE_PATH.
… was written by a newer BBM-Atlas - upgrade this installation (pip install --upgrade bbm-atlas), or point it at another file.
Production refuses to start
BBM_ATLAS_API_KEYS must be set when BBM_ATLAS_ENVIRONMENT=production - set keys, or a file of them with BBM_ATLAS_API_KEYS_FILE (Security).
Rate limit exceeded
A 429 means this caller spent its budget for the current minute; Retry-After says how many seconds to wait. Each key and each signed-in account has its own budget, while requests without a working key share their address's - so a script sending a mistyped key soon runs out. Raise BBM_ATLAS_RATE_LIMIT_REQUESTS_PER_MINUTE if the budget is too small for real use.
An assistant can't connect to /mcp
- Check the address: the running API's
/mcp,http://127.0.0.1:8000/mcpby default. The console's overview page shows this server's. - On a server reached by name, the name must be in
BBM_ATLAS_MCP_ALLOWED_HOSTS, or/mcprefuses the request. - With keys required, the host must send one as
Authorization: BearerorX-API-Key.
Not ready
/health/ready answers 503 while a store is unreachable, with each store's status, so it names the one at fault: check that database's address and credentials. bbm-atlas ready asks the same.
Single sign-on fails
- The console shows the reason after a failed sign-in, and the audit log records it as
sso.sign_inwith the outcome failure. - The redirect URL (OIDC) or the ACS URL (SAML) must be registered with the provider exactly as configured, scheme and path included.
- A disabled user can't sign in. A user with no roles signs in, but can do nothing until given roles.
- SAML responses must be signed and not encrypted, and the server's clock right to within two minutes.
The licence isn't active
bbm-atlas enterprise license prints the state and the reason: missing (no key set where BBM-Atlas looks), invalid (damaged, or not signed by a key this version knows), or expired past its grace period. Check that the variable or file reaches the process. For a new or renewed key, write to info@byteblendmatrix.com.
Still stuck
Run with BBM_ATLAS_LOG_LEVEL=DEBUG and look at the log for the request, by its X-Request-ID. Then write to info@byteblendmatrix.com with the message, what you ran, and your version (bbm-atlas --version).