Symptoms on an instance you run: a build that stops, a variable that does nothing, egress that fails, a proxy that buffers, and a lockout you built yourself.
Your instance reports its own state in two places.
| Where | What it reports |
|---|---|
| the boot line, at build and at start, in the container log | 🧠 big-AGI v<pkgVersion> (@<buildHash>, N:<nodeEnv>) |
/dev/debug -> the Backend card | the live capability list the server computed - booleans only, key values never sent to the browser |
Everything here happens on an instance somebody runs. Run it yourself carries the configuration and deploy procedures; the symptoms are here. /dev/* is not covered by the shipped basic-auth matcher.
The exact string, its meaning, and the section that fixes it:
| What you see | What it means | Fix |
|---|---|---|
❌ Invalid environment variables: and the build stops | A variable holds a malformed URL | below |
| A variable is set and nothing changed | A NEXT_PUBLIC_* name, an empty value, or a name that never reached the process | below |
Missing <Vendor> API Key although the variable is set | The server did not read it, or the UI is overriding it | below |
[<Vendor> network issue]: Could not connect: + Please make sure the Server can access -> <url> | Your server cannot reach that address | below |
Unauthorized · Unauthorized/Unconfigured before the app loads | Basic auth is compiled in, and its variables are unset | below |
| Answers arrive all at once, or long generations die | The proxy in front is buffering or timing out | below |
**Request too large** on your own deployment | Your proxy's body limit, not Big-AGI's | below |
| The microphone does nothing on a LAN address | Not a secure context, so the browser withholds the API | below |
Invalid WSS browser endpoint · Missing API Key or Custom Search Engine ID · Missing ElevenLabs API key | An optional service is half-configured | below |
| Ollama's Pull times out part-way | Expected on an edge function; the download resumes | below |
Invalid environment variablesThe build stopped, not the server: validation runs at build time and prints the offending names. Every variable in the schema is optional, so what fails is a malformed value.
❌ Invalid environment variables:
URL-checked names the *_API_HOST family, AZURE_OPENAI_API_ENDPOINT,
PUPPETEER_WSS_ENDPOINT, NEXT_PUBLIC_PLANTUML_SERVER_URL
OPENAI_API_HOST=api.openai.com fails
OPENAI_API_HOST=https://api.openai.com passes
Three causes produce the same result: nothing changes.
| Cause | What is happening |
|---|---|
a NEXT_PUBLIC_* name | compiled into the browser bundle at build time, so docker run -e on a prebuilt image does nothing |
| an empty value | OPENAI_API_KEY= is treated as absent, deliberately, so a half-filled secrets file is predictable |
| the name never reached the process | the Backend card at /dev/debug - the capability boolean is the proof |
The message of the day, Drive import, analytics and the PlantUML server are all NEXT_PUBLIC_*: rebuild with the value set. Cerebras and Sakana do not surface as booleans, and AIX_STRICT_PARSING is not reported at all.
After any variable whose name contains _API_ changes, every browser re-scans model services once on its next load. A failure logs Auto-configuration failed for service: and does not stop the others (build time and run time).
Missing <Vendor> API Key and the variable is setThe guard fires when no key reached the request, which is not the same as no key being configured. Precedence is identical at every AI service: UI setting, then server environment variable, then in-code default.
/dev/debug, or a key field showing Already set on server.Could not connect:Your server could not reach the address it was given.
[<Vendor> network issue]: Could not connect: <reason>.
Please make sure the Server can access -> <url>
localhost inside a container is the container; point at the host's address. A model runtime on 127.0.0.1 is a different problem with a different fix (my local models don't show up).Unauthorized/UnconfiguredHTTP basic auth is compiled in and its credentials are unset. The shipped middleware is inactive until you rename it and rebuild, so this state means the rename happened and the environment did not follow.
| What you see | What it means |
|---|---|
Unauthorized/Unconfigured | the credentials are unset |
Unauthorized | credentials were sent and did not match |
| server log: | HTTP Basic Authentication is enabled but not configured |
| Basic auth | Paths |
|---|---|
| the matcher protects | /, the API, a few app routes |
| it does not protect | /workspace, /draw, /diff, /tokens, /dev/* |
/dev/debug among them, load for anyone. Authentication in front of the app covers the rest, with no rebuild (keys and access control).The proxy in front is buffering or timing out. The transport is a long-lived chunked JSON response on /api/edge and /api/cloud, not SSE. A proxy that buffers holds the whole answer until generation finishes.
/api/*.Upgrade and Connection only if you want the dev-tools websocket.The directives are on behind a reverse proxy. A gateway answering with its own HTML page produces a different string: **Network issue**.
Request too large from my proxyA 413 from a layer in front of the application - your reverse proxy or your platform's ingress, not Big-AGI. Off the hosted build the card says so, suggesting "If self-hosting, raise the request size limit on your server or proxy".
Microphone, clipboard and screen capture are secure-context browser APIs. http://localhost counts as secure and http://192.168.x.x does not, so on a LAN address the browser withholds them and shows nothing.
localhost from the machine that runs it. For local development the repository ships npm run dev-https.Each optional service refuses in its own words, and the string names which one.
| What you see | Which service |
|---|---|
Invalid WSS browser endpoint | Page fetching |
Missing API Key or Custom Search Engine ID | Web search - failures from Google come back as Google Custom Search API error: <message> |
Missing ElevenLabs API key | Voice |
/dev/debug.static build has no server at all, so server-side keys, page fetching and basic auth are absent by construction rather than misconfigured.The in-app Ollama Admin pull runs against an edge function, which times out part-way through a large model.

Attach /dev/debug -> Download debug JSON: it carries capability booleans and build info, and no key values. The client-side log is Settings > Tools > Logs Viewer, under Diagnostics. Never paste an env file, a key or conversation content. Where to send it.
Update RequiredBig-AGI was redeployed while this tab kept running. The loaded app no longer matches the deployed files. Nothing is broken and there is nothing to report.
Oops, we hit a snagAnything else that stopped the app. This is the one worth sending in.
A string that is not here is a gap in the documentation - report it and the row gets added. The GitHub form is 🔥 Make AI Fix This, the same form the app opens as Auto-Fix Issue. Paste the exact string rather than a paraphrase, and attach /dev/debug -> Download debug JSON - capability booleans and build info, no key values.
Never paste an env file, an API key, or the content you were working on. The GitHub issue form is world-readable and permanent.
BIG-AGI
Resources
© 2026 Token Fabrics·Built with passion in San Diego