Errors
A failed tool call comes back as an MCP tool result with isError: true and a JSON body:
{ "error": "missing_scope", "message": "…", "scope": "orders:create" }error is a stable code. message is written for the agent to read and relay. Intelligence tools report missing data differently, with ok: false.
Connection
unauthenticated
The access token is missing, invalid or expired. Reconnect Orus from your AI client.
missing_scope
The connection does not hold the scope this tool needs. The body names it in scope. Reconnect and approve a request that includes it. See Permissions.
grant_revoked
The connection was revoked in the Farao app, or no longer exists. Reconnect to use Orus again.
agent_expired
The trading session behind this connection has expired. Reads still work but orders cannot be placed. Approve the connection again from the Farao app.
agent_not_configured
The connection has no trading session bound to it. Approve the connection again from the Farao app.
Trading
risk_rejected
The order broke a rule. The body has a code for the rule, a message and often details with the numbers involved.
{
"error": "risk_rejected",
"code": "asset_blocked",
"message": "…",
"details": { }
}At the prepare step it is a market rule: notional under the minimum, slippage over 10%, leverage over the market maximum, a stop loss past liquidation, or a trigger on the wrong side of the price. At execution on an autonomous connection it is one of your limits: per trade, max leverage, daily cap or a blocked asset.
The agent should read the details and adjust. Retrying the same order will fail the same way.
approval_required
The agent called confirm_prepared_action on a manual connection. Only you can execute the trade, with the Approve button on its card. The prepared trade is still valid. See Manual mode.
no_position
A close or a take profit and stop loss change named a market where you have no open position.
prepared_action_not_found
No prepared trade with that id exists for this connection.
prepared_action_expired
More than 1 hour passed since the trade was prepared. Prepare it again, since the price has moved anyway.
prepared_action_already_resolved
The prepared trade was already declined, or is being executed by another call.
Upstream
upstream_error
Hyperliquid or a Farao service did not answer. Nothing was changed. Try again shortly.
