Requests time out
A timeout means a response did not arrive in time. On the API this is a 408 or 504 error; in the apps it shows as a long wait or a retry. Long answers without streaming are the most common cause. Turning on streaming, asking for shorter output, or splitting the task usually fixes it.
API timeouts
| Status | Code | Message | Cause |
|---|---|---|---|
| 408 | request_timeout | ”The request timed out. Retry shortly.” | Your request did not finish on Syntic’s side before reaching the model. |
| 504 | upstream_timeout | ”The model took too long to answer. Retry shortly.” | The model did not finish within the time limit, typically for very long answers sent without streaming. |
Fixes
- Stream long answers. With streaming, text arrives as it is written, so a long answer does not hit the time limit. See Streaming.
- Lower
max_tokensto what you actually need. - Split big tasks into smaller requests.
- Retry with back-off for occasional timeouts.
- Check your own client’s timeout. Some HTTP libraries give up sooner than the API does. Raise your client timeout for long requests.
Syntic Code
| You see | What it means |
|---|---|
| ”No reply from the Syntic server for 14s — still waiting” | Connected, but the reply has not started. If it does not start within 90 seconds, Syntic Code retries. Usually just wait, or press Esc to stop. |
| ”Command did not finish within … ms” | A shell command the agent ran hit its own time limit. The agent can retry with a longer limit or run it in the background. |
| A script run gives up | Unattended runs stop after 10 minutes of retry waits in total. |
Slow networks
If timeouts happen often, check your connection, VPN or company proxy. For Syntic Code behind a proxy, see Syntic Code behind a proxy or firewall.
Related
Was this page helpful?