Skip to content

Troubleshooting

Start with vibe status <name>: it names the problem and gives a hint. Then vibe logs <name> for the app’s own output, or vibe history <name> <deploy-id> when the build failed.

The container runs but doesn’t answer on the expected port. Almost always it listens on localhost or on a fixed port.

app.listen(process.env.PORT || 8080, '0.0.0.0');

Python: uvicorn main:app --host 0.0.0.0 --port $PORT. If the port can’t be changed, deploy with --port <port>.

The app exits right after starting, and Kubernetes keeps restarting it with growing pauses. vibe status shows the exit code and the last lines it printed. Common causes: a missing environment variable, a database that isn’t reachable yet (retry instead of exiting), or a start command that isn’t found.

The app used more than 512 MiB of memory and was killed (exit code 137). Look at the memory in vibe status. Ways out: load less into memory, stream large files instead of reading them whole, lower worker counts (gunicorn -w 2), or for Node set NODE_OPTIONS=--max-old-space-size=384.

Read the full log: vibe history <name>, then vibe history <name> <deploy-id>.

  • A file is missing that exists locally: it is probably gitignored, so it wasn’t uploaded. Check with git check-ignore -v <file>.
  • exec format error: an image or binary was built for x86. The server is ARM64; use multi-arch base images.
  • Upload too large: node_modules, a build folder or large media are part of the upload. Add them to .gitignore.

The app wrote into its container. Add a volume and write to $DATA_DIR, or use a database.

The app name is taken by another account or organization, or your token belongs to a different one than the app. Check vibe whoami. Pick another name with --name, or use a token of the owning team.

Your account or team has 3 apps. Delete one (vibe rm <name> --yes) or deploy into an existing app. Redeploys always work.

You hit a rate limit. The message says which one and when to retry. A loop that polls status very often is the usual cause.

A new database needs about a minute. If it stays like that for several minutes, vibe db list shows an error with the reason. Contact the platform admin if it doesn’t recover.

  • Does the CNAME point to <app>.tja.nrw of this app?
  • Behind Cloudflare: set the record to DNS only.
  • Recently changed: wait for the old record’s TTL.

Run vibe whoami in a terminal; if that fails, log in again. Then restart the agent completely. Desktop apps often need absolute paths: see Use with AI agents.