Skip to content

Troubleshooting

Common problems with the Langfuse stack, what causes them and how to fix them.

The UI does not answer after launch

Cause: the stack is still starting. On first start the services wait for each other's health checks and the worker runs database migrations, which can take several minutes.

Fix: wait, then check the containers:

systemctl is-active sushi-langfuse-firstboot langfuse
sudo docker compose -f /opt/langfuse/docker-compose.yml \
  --env-file /etc/langfuse/langfuse.env ps
curl -sS http://127.0.0.1:3000/api/public/health

If a container stays unhealthy, read its log, see Logs.

Traces from my SDK never appear

Cause: the SDK uses the legacy batch endpoint /api/public/ingestion. Python SDK v2 and older, and JS/TS SDK v3 and older, do this. The endpoint answers HTTP 207 but rejects every event except scores.

Fix: upgrade to Python SDK 4.7.0 or later or JS/TS SDK 5.4.0 or later, or send OTLP with the header x-langfuse-ingestion-version: 4, see Send traces.

GET /api/public/traces/<id> returns 404

Cause: the legacy trace routes are not served in Langfuse's v4 data model. Waiting does not help.

Fix: read with GET /api/public/v2/observations, see Read traces through the API.

Observations come back with empty input and output

Cause: without fields, the Observations API v2 returns only the core and basic field groups.

Fix: add fields=core,basic,io. Add model or usage when you need them. Also make sure your spans set langfuse.observation.input and langfuse.observation.output.

The API refuses your keys

Cause: the request does not use Basic authentication with the project's public key as user name and secret key as password, or the keys belong to a different project.

Fix: use the keys from /etc/langfuse/project-api.env or from the project settings in the UI.

Sign-in redirects to the wrong address

Cause: NEXTAUTH_URL does not match the address in your browser.

Fix: open http://127.0.0.1:3000 through the port-forwarding session, or, behind your own proxy, set NEXTAUTH_URL to the proxy address, see Change the URL.

Existing Redis config disagrees with the private environment

Cause: /etc/langfuse/redis.conf was edited, or REDIS_AUTH was changed in langfuse.env. First boot stops, and the stack does not start.

Fix: restore both files from your backup so they match, then:

sudo systemctl restart sushi-langfuse-firstboot
sudo systemctl start langfuse

If it still fails, contact info@softwaresushi.com.

Last updated October 13, 2026 · Suggest an improvement