# Known issues

> Plan for current API limits and their workarounds.

## Open issues

| Issue                                                                                                                                     | Impact                                                                                                                                                                                                                                       | Workaround                                                                                                                                             |
| ----------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Run admission latency**                                                                                                                 | A run takes about 2.7 seconds to create.                                                                                                                                                                                                     | Show a pending state and open the stream immediately.                                                                                                  |
| **Sandbox session latency**                                                                                                               | A sandbox-backed session takes about 2.5 seconds to create.                                                                                                                                                                                  | Create sessions before the user needs them when appropriate.                                                                                           |
| **Coarse live-bus resync**                                                                                                                | One publisher failure can resync every subscriber on a session.                                                                                                                                                                              | Handle stream.resync and replay durable events.                                                                                                        |
| **Strict tool output schema**                                                                                                             | One shared schema can reject valid operation-specific results.                                                                                                                                                                               | Use oneOf or omit fields that do not apply.                                                                                                            |
| **MCP servers are not supported, 11 September 2026**                                                                                      | The `mcp_servers` field has been removed from the agent API. Nothing dispatched it, so it is no longer offered. Sending it is ignored, not rejected.                                                                                         | Use application tools.                                                                                                                                 |
| **The tools list does not restrict the sandbox, 11 September 2026**                                                                       | An agent's `tools` list governs only Pantheon's four built-in tools. With `requires_sandbox` true the agent still has a shell and the file tools, and the sandbox reaches the network, so declaring no web tools does not remove web access. | Set `requires_sandbox` to false when the agent must not reach the shell or the network.                                                                |
| **Billing: not available; the service is free during the builder preview; per-tenant rate limits apply, and billing is not planned yet.** | No billing is available                                                                                                                                                                                                                      | Plan requests around per-tenant limits                                                                                                                 |
| **Agent memory does not survive a session, 11 September 2026**                                                                            | An agent's memory files live with the session sandbox, so they are lost when it is recycled. Durable cross-session memory is not switched on: the only rows in the durable store are copies of the stock template, one per scope.            | Keep anything that must persist in your own application. See [Agent memory](https://pantheon-todo.alethiconsulting.com/docs/sessions-and-runs#memory). |
| **OpenAPI prose gaps**                                                                                                                    | Some new fields and routes have limited contract examples.                                                                                                                                                                                   | Use these guides with `api/openapi/openapi.yaml` and the smoke flow.                                                                                   |
| **Claim fairness**                                                                                                                        | A stuck older run can delay another tenant.                                                                                                                                                                                                  | Use client timeouts and retry only safe requests.                                                                                                      |
| **Compensation claim race**                                                                                                               | Two workers can race expired-sandbox cleanup.                                                                                                                                                                                                | Treat cleanup errors as transient and inspect final session state.                                                                                     |
| **Admission finalization race**                                                                                                           | A stale worker can race failure finalization.                                                                                                                                                                                                | Use terminal events as the final client state.                                                                                                         |

## Recently fixed

- Slug sessions prefer the active deployment, or the newest published deployment when none is active.
- Tool lifecycle events now share one `tool_call_id`.
- New sessions can use refreshed legacy deployment snapshots.
- Streams now deliver live deltas and structured content.
- Waiting application tools now have a 30 minute default deadline.
- An agent's `tools` list is now enforced at run time. A tool it does not declare is not attached, and a call to one is refused and recorded as `tool.refused`. Agents created before 11 September 2026 keep every built-in tool until their owner writes `tools`.
- An agent's `environment_id` now provisions the sandbox it selects. It used to be validated and then ignored.

## Pitfalls

> **Warning**
>
> - **This page is date-bound:** Check the [Changelog](https://pantheon-todo.alethiconsulting.com/docs/changelog) before assuming an item is still open.
> - **Todo UI issues are separate:** Do not infer an API failure from a tenant rendering defect.
