Skip to main content
The pflow settings command group manages pflow configuration stored in ~/.pflow/settings.json. This includes API keys, environment variables, and node filtering.
Your commands. These are setup commands that you run directly - not your agent. API keys and security settings should always be configured by you, never by an AI agent.

Commands

pflow settings init

Initialize settings file with defaults.
Creates ~/.pflow/settings.json with default configuration. Prompts for confirmation if the file already exists. Default settings:

pflow settings show

Display current settings with sensitive values masked.
Output:
Sensitive values (API keys, tokens, secrets) are automatically masked. Use pflow settings list-env --show-values to see full values.

pflow settings set-env

Set an environment variable for pflow workflows.
Arguments:
  • KEY - Environment variable name
  • VALUE - Environment variable value
Examples:
Output:
Security: Always set API keys yourself - never let AI agents run this command.
Alternative: Set the key as a shell environment variable instead — pflow (via LiteLLM) reads ANTHROPIC_API_KEY, OPENAI_API_KEY, GEMINI_API_KEY, and provider-specific equivalents directly from os.environ.

pflow settings unset-env

Remove an environment variable.
Arguments:
  • KEY - Environment variable name to remove
Example:

pflow settings list-env

List all configured environment variables.
Options:
  • --show-values - Display full unmasked values (use with caution)
Examples:
Output (masked):
Only use --show-values in secure environments. Never let agents access unmasked credentials.

pflow settings allow

Add an allow pattern for node filtering.
Arguments:
  • PATTERN - Glob-style pattern for nodes to allow
Examples:
Pattern syntax:
  • * matches any characters
  • ? matches single character
  • [seq] matches any character in seq

pflow settings deny

Add a deny pattern for node filtering.
Arguments:
  • PATTERN - Glob-style pattern for nodes to deny
Examples:
Deny patterns take precedence over allow patterns.

pflow settings remove

Remove a pattern from allow or deny list.
Arguments:
  • PATTERN - Pattern to remove
Options:
  • --allow - Remove from allow list (default)
  • --deny - Remove from deny list
Examples:

pflow settings check

Check if a node would be included based on current settings.
Arguments:
  • NODE_NAME - Node name to check
Example:
Output (included):
Output (excluded):

pflow settings reset

Reset settings to defaults.
Prompts for confirmation before resetting. This removes all custom settings including API keys.
This deletes ALL custom settings including environment variables and API keys.

LLM model settings

These commands let you override which models pflow uses for its internal features. By default, pflow auto-detects based on your configured API keys - these are optional.

pflow settings llm show

Display LLM model settings with resolution status.
Output:

pflow settings llm set-default

Override the auto-detected model for all pflow LLM usage.
Arguments:
  • MODEL - Model identifier (e.g., openai/gpt-5.2, anthropic/claude-sonnet-4-5, gemini/gemini-3-flash-preview). LiteLLM requires the provider prefix.
When set, this model is used instead of auto-detection for:
  • LLM nodes in workflows (when no model specified in params)
  • Discovery commands (when discovery_model not set)
  • Smart filtering (when filtering_model not set)
Examples:
This is optional - pflow auto-detects a model based on your API keys. Use this if you want a specific model instead of the auto-detected one.
Bare model names are auto-prefixed. Bare names from known providers (gpt-*, o1*, o3*, o4*, claude-*, gemini-*) are rewritten to the canonical <provider>/<name> form at write time, with a Normalized: line confirming the rewrite. Unknown bare names pass through with a warning so custom or self-hosted models still work. This applies to set-default, set-discovery, and set-filtering — not to the TTS setters (TTS ids aren’t LiteLLM-routed).

pflow settings llm set-discovery

Set the model for discovery commands (pflow mcp find, pflow find).
Arguments:
  • MODEL - Model identifier
Example:

pflow settings llm set-filtering

Set the model for smart field filtering (used when smart output mode filters large API responses).
Arguments:
  • MODEL - Model identifier
Example:
Smart filtering is a simple task - use a fast, cheap model.Recommended (fast + cheap):Alternative (higher cost):All models produce equivalent quality for this task. Timings are approximate and vary with network latency.

pflow settings llm set-tts-model / set-tts-voice

Configure voice narration for pflow ui focus/frame --say (see the UI command). Both have working defaults — you only need these to change the voice or track a new TTS model. Narration also needs a Gemini API key (pflow settings set-env GEMINI_API_KEY <value>).
Example:

pflow settings llm unset

Remove an LLM model setting. Models revert to auto-detection; the TTS fields revert to their built-in defaults.
Arguments:
  • SETTING - Which setting to remove: default, discovery, filtering, tts-model, tts-voice, or all
Examples:

Model resolution order

pflow uses the same resolution order for all LLM usage (discovery, filtering, and workflow LLM nodes):
  1. Explicit setting (workflow params or feature-specific setting)
  2. default_model from settings
  3. Auto-detect from configured API keys (Anthropic → Google → OpenAI)
  4. Error with setup instructions
Auto-detected defaults by provider:
Most users just need an API key configured. pflow auto-detects the appropriate model. Use these commands only to override the auto-detected model.

Registry settings

Configure how pflow probe displays output.

pflow settings registry output-mode

Show or set the output display mode for pflow probe.
Arguments:
  • MODE (optional) - One of smart, structure, or full. If omitted, shows current mode.
Modes: Examples:
Use structure mode when working with sensitive data — it shows types and paths without actual values, so your agent can build workflows without ever seeing the data itself. Avoid full mode with AI agents — it shows all values without truncation and can consume excessive tokens.
See pflow probe for the command that uses these output modes.

How node filtering works

Node filtering uses allow and deny patterns evaluated in this order:
  1. Deny patterns - Block matching nodes (highest precedence)
  2. Allow patterns - Include matching nodes
  3. Default - Include if * in allow list
Example configuration:
This allows all nodes except test nodes and the shell node.

Environment variable precedence

When workflows need parameters, pflow looks in this order:
  1. CLI parameters (key=value arguments)
  2. Settings environment variables (pflow settings set-env)
  3. Workflow defaults
  4. Error if required and not found
Example:

Sensitive parameter detection

These keys are automatically masked in output:
  • password, passwd, pwd
  • token, api_token, access_token, auth_token
  • api_key, apikey, api-key
  • secret, client_secret, secret_key
  • private_key, ssh_key
Matching is case-insensitive.

File locations