What syncing does
By default, Nanny runs local-only: it enforces your limits and rules on your machine and writes an event log to stdout. Nothing leaves the box. Once a machine is logged in,nanny run additionally forwards a copy of your run’s event log to Nanny Cloud. In return you get, per organization:
- A dashboard of every run: steps, tokens, stop reasons, models
- Spend and usage trends across all your agents
- Alerts when a run starts to spiral
- A durable, exportable audit trail (compliance tiers)
Syncing is additive. It changes nothing about how limits and rules are
enforced, only whether a copy of the event log is sent to your dashboard.
Turn it on
One step, no config to edit, no secret innanny.toml:
nanny run self-mints an app-scoped credential the first time it runs in a given app directory, stored in a gitignored .nanny/credentials.local.json alongside your permanent .nanny/app.json identity. Now run as usual:
Syncing needs only one thing: being logged in on the machine (
nanny auth login). A machine that never logged in never syncs; there’s no separate
project-level switch to flip.CI and headless machines
A browser flow needs a person. For CI or a headless machine, log in with an API key instead, supplied throughNANNY_API_KEY (a CI secret) or stdin, never a command argument:
--env is required so it targets the right cloud.
Skip a single run
Forward nothing for one run, without logging out:Local vs synced
Turning it off
- One run:
nanny run --no-sync. - Your machine, for good:
nanny auth logout. To revoke the key everywhere, use the dashboard.