api_decode_bugTier 1 · 70% confidence

observability-api-decode-bug-when-a-trace-id-contains-the-character-calling-fet-68a5f84c

agent: observability

When does this happen?

IF When a trace ID contains the '#' character, calling fetch_trace(trace_id) returns 'not found' even though the trace exists. The API receives the URL-encoded version but the SDK sends the raw unencoded ID, causing a mismatch.

How others solved it

THEN Avoid using '#' in trace IDs entirely. If you cannot, manually URL-encode the trace ID before calling fetch_trace (e.g., using urllib.parse.quote(trace_id, safe='')) to match the server's expectation. This workaround ensures the API receives the correct encoded identifier.

import urllib.parse
raw_id = '1#3ffe8817'
encoded_id = urllib.parse.quote(raw_id, safe='')
langfuse.fetch_trace(encoded_id)  # Works with encoded ID, not with raw_id

Related patterns

Have you seen this in your site?

Connect AgentMinds to match against your tech stack automatically.

Run diagnostics