What Variables Are
Variables are named values that Wolffish stores inconfig.json under the variables array. They hold API keys, tokens, and secrets that capabilities need at runtime. Configure them in Settings > Variables.
Structure
Each variable has three fields:Sensitive Flag
Whensensitive is true, the variable’s value is displayed as •••••• in the Settings UI. This is a UI-only convenience — it does not mask or exclude the value from the agent.
How the Agent Uses Variables
Every variable — including ones markedsensitive — appears in plaintext in the system prompt inside a <variables> block on every turn:
(sensitive) label is a hint to the agent not to echo the value back — it does not hide or redact the actual value. This is by design: Variables are the mechanism for giving the LLM credentials it needs to use directly (e.g. passing an API key as a shell command argument).
The agent uses them automatically. If a task needs an API key and a matching variable exists, it uses it without asking.
Values are stored in plain text in
config.json. Wolffish is local-first and your workspace is yours. If you version-control your workspace, add config.json to .gitignore.Variables vs Environment Variables
Variables are not system environment variables. They differ in important ways:If you need a value available to both Wolffish and other tools on your system, set it as both a Wolffish variable and a system env var. They don’t conflict.
Common Variables
Adding a Variable
- Via Settings UI
- Via config.json
- Open Settings > Variables
- Click Add Variable
- Enter the name, value, and toggle sensitive if needed
- Click Save