Skip to content

Configuration

Flow-Next keeps configuration local and explicit.

Terminal window
flowctl review-backend get
flowctl review-backend set codex
flowctl review-backend set rp
flowctl review-backend set none

Backend specs can include model and effort where supported:

Terminal window
codex:gpt-5.5:high
copilot:claude-opus-4.5:high

FLOW_ACTOR wins, then git email, git name, $USER, then unknown.

Terminal window
FLOW_NO_DEPRECATION=1
FLOW_NO_AUTO_MIGRATE=1

Legacy epic aliases remain through 1.x as thin wrappers around spec.

Set defaults where the team can inspect them. The important policy decisions are:

  • Which review backend gates implementation?
  • Are plan reviews required for risky specs?
  • Which actor name appears in task state?
  • Do legacy aliases emit warnings in local scripts?
  • Are autonomous Ralph runs allowed in this repo?

Use none only for experiments or disconnected local work. Production workflows should use a real review backend so the implementation model is not the only judge of its own diff.

Terminal window
flowctl review-backend set codex:gpt-5.5:high

Cross-spec plan-sync is opt-in and disabled by default:

Terminal window
flowctl config set planSync.crossSpec true
flowctl config set planSync.crossSpec false

planSync.crossSpec is the canonical key in Flow-Next 1.1.3+. When enabled, plan-sync can scan other open specs for stale references after a task changes shared APIs, naming, or patterns. Keep it off for fast local loops and Ralph runs unless cross-spec drift is a real risk.

The old planSync.crossEpic key remains readable through 1.x. Reading it emits one stderr line:

Warning: planSync.crossEpic is deprecated; use planSync.crossSpec. (Suppress with FLOW_NO_DEPRECATION=1.) Removed in 2.0.

flowctl config get prefers planSync.crossSpec and falls back to planSync.crossEpic only when the canonical key is absent from the raw .flow/config.json file. That raw-file check matters because defaults would otherwise make crossSpec: false appear set even when a repo only wrote the legacy key.

For callers that need disk-state semantics, use raw reads:

Terminal window
flowctl config get planSync.crossSpec --raw --json

Writing planSync.crossSpec does not delete planSync.crossEpic from existing config files. The legacy key stays until the 2.0 removal window.

VariablePurpose
FLOW_ACTORExplicit actor name for task claims and state
FLOW_NO_DEPRECATIONHide legacy alias warnings
FLOW_NO_AUTO_MIGRATEDisable automatic migration behavior

Keep config boring. Flow-Next state is repo-local so CI, agents, and humans can reason from the same files.