Troubleshooting: Orby operator errors
A turn in the Orby panel returns an error envelope, the SSE stream ends in anerror event, or a knowledge-base search
comes back empty with an outage hint. Every one of those surfaces carries a
stable ORBY_* code. This page maps each code to its cause and its fix. The
full platform code list lives in the error reference;
this page gives you the runbook for the Orby codes.
A typical envelope looks like this — key on error.code, never on the
message text. On a turn the same fields arrive as the terminal error SSE
event, with code and message inside the data payload:
1. Session-token failures
Every tool Orby runs is dispensed against a short-lived session token minted at the start of the turn. When that token cannot be verified, the turn refuses work with one of five codes. In practice the dashboard mints and refreshes these tokens automatically, so you normally meet these codes only through the Orby API driven from your own client, or when a session was revoked underneath you.
Sample envelope — a revoked session on
POST /api/v1/orby/assistant:
2. Tool authorization
Three codes guard what a turn is allowed to do once the token has verified. They look similar but fire at different gates, and the fix differs.
The distinction that matters:
ORBY_TOOL_CLAIM_MISSING means the token’s
shape is wrong (no allowlist at all — fail closed), while
ORBY_TOOL_NOT_AUTHORIZED and ORBY_TOOL_FORBIDDEN mean the token is
well-formed but this specific tool is outside its scope — the first at
dispatch time, the second at approval-redemption time.
Sample envelope — an out-of-scope tool at dispatch time:
3. Rate, cost, and turn limits
Sample SSE tail — a rate-limited turn:
ORBY_RATE_LIMITED, ORBY_TURN_FAILED (once), and
ORBY_LLM_FAILED are the retriable set. ORBY_ITERATION_LIMIT re-fails on
the identical prompt — change the request before retrying.
4. Knowledge-base readiness
Orby grounds “where do I configure X” answers in the indexed Orbit documentation corpus. Two codes cover that index.
Retry safety.
ORBY_KB_NOT_INDEXED_YET is transient — retry with
backoff; nothing about your query needs to change.
5. Thread ownership
Sample envelope — cross-workspace thread id:
When to escalate
Escalate to support when:ORBY_TOOL_CLAIM_MISSINGrecurs on fresh turns — the mint path is broken, not your request.ORBY_TOOL_NOT_AUTHORIZEDorORBY_TOOL_FORBIDDENkeeps firing on the same well-scoped request after a fresh turn.ORBY_SESSION_SIG_INVALIDappears on tokens the dashboard minted itself (you never touched the token by hand).ORBY_LLM_FAILEDpersists after the status page reports all operational.ORBY_KB_NOT_INDEXED_YETlasts longer than a maintenance window.
request_id from the meta block (or the error SSE event), the
thread id when one exists, and the tool name for the ORBY_TOOL_* codes. The
request id threads through the turn, tool-dispatch, and approval paths, so
support can pull the executor-side trace without a back-and-forth.
See also
- Orby operator assistant architecture — the session-token mint, the tool registry, and the approval gate these codes guard.
- Orby Assistant API — endpoint shapes, SSE events, and the rate-limit table.
- Error reference — the full code catalog.
- Using Orby in the dashboard — the operator workflow on top of these endpoints.
- Agent runtime errors — the customer-facing
agent sibling of this runbook (
AGENT_*codes, notORBY_*).