Docs · Sandboxes

Environment variables

Variables you set on your account are in every sandbox you start: in shells, froog exec, background commands and agent prompts.

$ froog env set ANTHROPIC_API_KEY             # prompts for the value
$ echo "$DATABASE_URL" | froog env set DATABASE_URL
$ froog env list                             # names and masked previews
$ froog env rm DATABASE_URL

Values are encrypted at rest and never shown again, in the CLI, the API or the dashboard. A sandbox gets the variables when it starts, so changes reach running sandboxes on their next start. They're written to ~/.froog/env and loaded by login shells. Services you run with systemd don't load it on their own. Up to 50 variables, 16 KiB in total.

A sandbox's own variables

Give one sandbox variables of its own with froog new NAME -e KEY=VALUE (repeat it, and -e KEY copies it from your shell), or "env": {"KEY": "VALUE"} over the API. They come on top of your account's (and win), and they stay with --no-environment: that's how a platform gives each user's sandbox the user's own keys and nothing of yours. Forks keep them (froog fork box box-2 -e KEY=VALUE adds or overrides some), and a sandbox from a saved snapshot gets its source's unless you send your own. Names show in froog info, but values are never returned.