Skip to main content
pflow stores configuration in ~/.pflow/. This page covers the settings file structure, environment variables, node filtering, and file locations.

Settings file

pflow stores user configuration in ~/.pflow/settings.json. View current settings with:

Structure

Fields

Commands

LLM model configuration

pflow uses LLMs for discovery features, smart filtering, and the LLM node in workflows. Set up an API key, and pflow auto-detects which model to use.

API key setup

pflow auto-detects available providers based on configured API keys.

Override the model (optional)

To use a specific model instead of auto-detection:

Resolution order

pflow auto-detects a model based on your configured API keys. To override this or see the full resolution order and default models, see LLM model settings.

Environment variables

API keys

Store API keys in the settings file for security (automatically chmod 600):
API keys stored via pflow settings set-env are used automatically for workflow inputs and discovery features, and are exported into pflow’s environment when a run starts (see set-env). Your agent can’t set these for security reasons.
Precedence order for a workflow input (highest to lowest):
  1. CLI parameters (key=value)
  2. System environment variables
  3. Settings file (~/.pflow/settings.json → env)
  4. Workflow defaults

pflow configuration variables

Trace configuration

Every run writes a trace to ~/.pflow/debug/ unless you pass --no-trace (--report and --report-dir turn tracing back on). pflow removes traces older than runtime.trace_retention_days when it finishes writing a trace, and keeps the traces its features still need — pending pauses, each workflow’s newest run and newest successful run, and runs still being written. See trace retention.

Node filtering

Control which nodes are available using allow/deny patterns.

Pattern syntax

pflow uses glob-style patterns (fnmatch):

Evaluation order

  1. Deny patterns - If matched, node is excluded
  2. Allow patterns - If matched, node is included
  3. Default - Included only if * is in allow list
Deny patterns take precedence over allow patterns. If a node matches both, it’s excluded.

Commands

Examples

Block shell access:
Allow only specific nodes:

File locations

pflow stores all data in ~/.pflow/:

What’s safe to delete

MCP server configuration

MCP servers are configured in ~/.pflow/mcp-servers.json. See Adding MCP servers for details. The file uses the standard MCP configuration format:
Environment variables in the config (${VAR}) are resolved from:
  1. System environment variables
  2. pflow settings (pflow settings set-env)