Runtime limits
The limits below are part of the Plugin API 1.1 operating model. Plugins must remain useful below every ceiling.
| Resource | Limit |
|---|---|
| Lua memory per plugin | 8 MiB |
| Lua memory for all plugins | 128 MiB |
| Instructions per callback/resume | 100,000 |
| CPU timeout per Lua callback | 4 ms |
| Slow callback warning | 2 ms |
| CPU per plugin callback phase | 6 ms |
| Total plugin CPU per frame | 8 ms |
| Pending semantic events | 256 |
| Network inspection queue items | 96 |
| Subscriptions per plugin | 256 |
| Timers per plugin | 256 |
| Managed tasks per plugin | 256 |
| Draw commands per plugin per frame | 512 |
| Error fuse | 3 errors within 10 seconds |
Budgets are defensive ceilings, not performance targets. A per-frame callback should normally complete far below the warning threshold. Network observation shares a bounded queue: it may use at most 96 items, while ordinary non-network notifications are capped at 224 items so lifecycle events retain capacity.
The runtime also bounds strings, menu controls, image dimensions, decoded image memory, storage capacity, list page size, and numeric ranges. APIs reject invalid data instead of silently accepting an unsafe value.