# ── Runtime ─────────────────────────────────────────────────────────────────────────────
[runtime]
mode = "local" # "local" | "managed"
# ── Start ─────────────────────────────────────────────────────────────────────
[start]
cmd = "python agent.py" # required — the command nanny run executes
# ── Limits ────────────────────────────────────────────────────────────────────
[limits]
steps = 100 # Maximum agent steps (tool calls). 0 = unlimited.
cost = 1000 # Maximum cost units. 0 = unlimited.
timeout = 30000 # Wall-clock timeout in milliseconds. 0 = unlimited.
# Named limit sets — inherit from [limits], override only declared fields.
[limits.researcher]
steps = 200
cost = 5000
timeout = 120000
[limits.quick]
timeout = 5000
# ── Tools ─────────────────────────────────────────────────────────────────────
[tools]
allowed = ["http_get", "read_file"] # Allowlist. Empty = all tools allowed.
# Per-tool config.
[tools.http_get]
max_calls = 20
cost_per_call = 10
[tools.write_file]
max_calls = 5
cost_per_call = 50
# ── Observability ─────────────────────────────────────────────────────────────
[observability]
log = "stdout" # "stdout" | "file"
log_file = "nanny.log" # Required when log = "file"
# ── Managed (Cloud) ───────────────────────────────────────────────────────────
[managed]
endpoint = "https://api.nanny.run"
org_id = "org_xxxxxxxxxxxx"
api_key = "nanny_live_xxxxxxxxxxxx"