Setup
The client has no beta.agents attribute
The client has no beta.agents attribute
openai package is too old, or your code is running in a different environment from the one you installed into. Install the versions from the quickstart (pip show openai or npm ls openai shows what is installed) and restart long-running processes.404 on every request
404 on every request
https://api.orcapods.ai/v1. Do not add /agents; the client adds it. Orca’s own extensions are the exception: they live at https://api.orcapods.ai without /v1, such as /api/providers.A 404 on one specific resource means it does not exist, was deleted, or belongs to another account.Connection refused or TLS errors
Connection refused or TLS errors
https://api.orcapods.ai/v1, spelled exactly, with https://.403 permission_denied
403 permission_denied
429 rate_limit_exceeded
429 rate_limit_exceeded
Retry-After header says.429 insufficient_quota
429 insufficient_quota
Models
The turn fails with a model error
The turn fails with a model error
turn.error. Common causes: a model the provider no longer offers, or a credit running out: usage_limit_exceeded with param orca_credit (your Orca credit) or provider_quota (your own provider account is out of quota). A model on your own key never falls back to Orca credit. Top up that side, or switch the session to a model on the other side with POST /api/sessions/{session_id}/model. See models and provider keys.400 on agent.model or model
400 on agent.model or model
orca/openrouter/<OpenRouter id> for Orca credit, or <provider>/<id> with your own key. A bare name such as gpt-5 is refused, and so is a model on your own key when no key for that provider is stored, and a model its provider does not list. Without that provider’s key, the message names the key to add and, when OpenRouter offers the model, its orca/openrouter/ name for Orca credit. With the key saved, “This is OpenRouter’s name for the model” means the provider doesn’t list that id: use the orca/openrouter/ or openrouter/ form it suggests, or the provider’s own id. GET /api/models lists every name you can use. See models and provider keys.An Orca-Warning header on a save
An Orca-Warning header on a save
GET /api/models; a wrong name fails when a turn runs.409 when switching a session's model
409 when switching a session's model
400 on an agent setting
400 on an agent setting
GET /api/providers lists each provider’s unsupported_agent_fields. The param field of the error names the setting.Turns
I read the history right after sending and the reply is missing
I read the history right after sending and the reply is missing
A turn seems stuck
A turn seems stuck
sessions.retrieve(session_id):requires_actionwith afunction_call: your application has to send the tool result. See function tools.requires_actionwithenvironment_connection: your self-hosted executor is not connected.in_progress: the agent is still working. Long tasks in a sandbox can take minutes. Look at the newest items to see what it is doing.
My follow-up seems to finish instantly with the old answer
My follow-up seems to finish instantly with the old answer
completed. If the previous turn had ended before you sent the follow-up, remember its ID and wait for a turn with a different ID. (If it was still running, your message joined it, and no new turn appears.) Also skip subagent turns, which have a subagent_id.The session is idle but nothing happened
The session is idle but nothing happened
idle only means no turn is running. Check the newest turn’s status and error.The stream disconnected
The stream disconnected
Tools and environments
Session creation fails with an MCP error
Session creation fails with an MCP error
The agent says it cannot run code
The agent says it cannot run code
environment: {"type": "none"}. Create a new session with a sandbox. See execution environments.An environment type or network setting is rejected
An environment type or network setting is rejected
self_hosted environments are coming soon, and network.access: "restricted" is not available. Use openai_hosted with disabled or enabled network access. Do not loosen the policy further than the task needs.A self-hosted turn fails immediately
A self-hosted turn fails immediately
workspace_directory must be an absolute path with no symbolic links in it. On macOS /tmp is a symlink; use the real path.A turn fails with usage_limit_exceeded and no param
A turn fails with usage_limit_exceeded and no param
Outputs
There is no artifact to download
There is no artifact to download
- The agent must write the file under
/workspace/outputs(oroutputsin your self-hosted workspace). - Artifacts are captured only when a turn completes.
- The agent saying it saved a file does not mean it did. Check the items for the command it ran.
- Artifacts are deleted with their session.
Reporting a problem
Include the client language and package version, the HTTP status and errorcode, a sanitized request body, the session and turn IDs, and whether it happens every time. Remove API keys, provider keys, vault contents, private prompts, and sensitive file content before sharing.