Skip to content

Environment variables

FlowForge v3 currently ships a deliberately minimal environment-variable surface. The variables documented here override settings in .flowforge/config.yml at the per-process level — useful for short-lived debug sessions, CI runs, and per-shell tweaks. Environment variables are read once per process; they do not persist into config.yml and do not survive across shells.

The list will grow with each v3 release as new runtime knobs are promoted from internal to user-facing. This page only documents what is wired up today; everything else is forward-looking and clearly labelled as such.

AttributeValue
Typepositive integer (seconds)
Default900 (15 minutes)
Sourcev3/internal/claude/stale.go
Related config(none — runtime-only knob)

Overrides the threshold used by FlowForge’s stale-Claude detection daemon. A Claude session is considered stale when it remains in StatusBusy and produces no pane output for the threshold duration. When that happens, the daemon flags the session for operator attention.

The default of 900 seconds (15 minutes) is calibrated for typical interactive sessions — long enough to absorb genuine deep-thinking pauses, short enough to surface a hung session within a coffee break.

When to tune it down. Debugging a flaky integration; running fast-feedback CI smoke tests where any pause longer than a few minutes is suspicious; pairing sessions where you want quick visibility into stuck agents.

When to tune it up. Workloads with known long pauses — large model warm-ups, slow build steps inside the agent loop, or pipelines that legitimately wait minutes on external services.

Validation. The value must be a positive integer. Non-numeric input, zero, and negative values are silently ignored and the default (900) is used. There is no upper bound.

Terminal window
# Aggressive: flag stale sessions after 5 minutes (debugging, fast CI).
FF_STALE_THRESHOLD_SECS=300 flowforge run dev:status
# Conservative: tolerate 30-minute pauses (long-running build agents).
FF_STALE_THRESHOLD_SECS=1800 flowforge run dev:status
  • FLOWFORGE_BYPASS — reserved as a security boundary. Setting it to bypass FlowForge enforcement is a Rule #38 violation. Escalate the underlying friction to the FlowForge team instead.
  • FLOWFORGE_AUTH_TOKEN — internal authentication artifact, not a user knob. Setting it manually is also a Rule #38 violation.

The variables in this table are not yet implemented and have no effect if set today. They are documented here to communicate the planned shape of the configuration surface; setting them in production is at best a no-op and at worst misleading to other operators reading your shell history. Wait for the release notes that announce each one before adopting it.

VariablePlanned purpose
FLOWFORGE_LOG_LEVELLog severity threshold for FlowForge runtime output.
FLOWFORGE_DEBUGVerbose debug logging toggle.
FLOWFORGE_CONFIGOverride path to config.yml.
FLOWFORGE_HOMEOverride the FlowForge state directory.
FLOWFORGE_TIMEZONETimezone used in time-tracking reports.
FLOWFORGE_GH_TIMEOUTTimeout (seconds) for GitHub API calls.
FLOWFORGE_GH_MAX_ATTEMPTSRetry budget for GitHub API calls.
FLOWFORGE_TEAM_MODEEnables team-workflow features.