Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.runtools.ai/llms.txt

Use this file to discover all available pages before exploring further.

Overview

Limits depend on organization policy and resource availability. This page documents the limits visible in the current public SDK and API contracts. Use the dashboard and runtools usage for organization-specific usage state.

Sandbox Requests

Sandboxes accept these resource fields:
await rt.sandbox.create({
  template: 'base-ubuntu',
  resources: {
    vcpus: 2,
    memory: '4GB',
    disk: '10GB',
  },
  idleTimeout: 1800,
});
The API validates template availability, workspace mount ownership, safe mount paths, and authorization. If a request exceeds what your organization can use, the API returns an error envelope with an explanatory code/message.

Agent Definition Validation

defineAgent() validates several client-side ranges before deploy:
FieldAccepted range
maxIterations1 to 100
maxTokens1 to 128000
temperature0 to 2
topP0 to 1
topKPositive integer
presencePenalty-2 to 2
frequencyPenalty-2 to 2
executionModein_sandbox, managed, or local-mac
in_sandbox agents require sandbox. local-mac agents require targetDeviceId and cannot declare sandbox.

Secrets And Files

SurfaceCurrent behavior
Secrets listMetadata only; values are never included
Secret revealPolicy-gated by owner/admin rules
User-private secretsVisible to the owner; broader metadata views are admin-only
Org-shared secretsAdmin-controlled
Workspace mountsPersonal workspaces cannot be mounted into sandboxes
Storage APIRequires files:read, files:write, files:*, or * scopes
Workspace uploadDefault max upload is 100 MB per request
Workspace batch operationsCopy, move, and delete accept up to 250 IDs per request

Usage Surfaces

runtools usage --json
Usage rows include token totals, agent runs, sandbox seconds, tool executions, and storage bytes when available.

Handling Limit Errors

import { RunToolsApiError } from '@runtools/sdk';

try {
  await rt.sandbox.create({ template: 'base-ubuntu' });
} catch (error) {
  if (error instanceof RunToolsApiError) {
    console.error(error.status, error.code, error.message);
  }
}
Common causes include missing scopes, admin-only operations, unavailable templates, invalid agent config, or trying to write resources outside your ownership boundary.