Docs/Reference/Environment Variables
Reference

Environment Variables

Environment variables Flowly reads at startup, with their defaults. Most users never need these — config.json covers the common cases.

Flowly is configured mainly through ~/.flowly/config.json. The environment variables below override specific behaviors and are handy for wrapper scripts, CI, and headless setups.

Profiles & home

VariableDefaultWhat it does
FLOWLY_HOME~/.flowlyThe profile/home directory — where config, sessions, credentials, skills, and databases live. A non-default home also carries its own machine identity, so signing in from it registers a separate <machine>-dev server instead of taking over your main one.
FLOWLY_PROFILEdefaultProfile name, for wrapper scripts. Resolution order: -p flag → FLOWLY_PROFILE~/.flowly/active_profiledefault.

Sandbox & execution

VariableDefaultWhat it does
FLOWLY_SANDBOXonSet to 0 / false / off / no to disable the OS sandbox (macOS sandbox-exec / Linux bwrap).
FLOWLY_SANDBOX_WRAPPEDInternal recursion guard set when re-execing under the sandbox. Also tells Flowly the OS keychain is out of reach (the profile hides ~/Library/Keychains), so credentials go to 0600 files instead of raising a keychain prompt. Do not set this yourself.
FLOWLY_CWDOverride the runtime working directory for shell/exec and Codex.
FLOWLY_BASH_PATHPath to the bash binary used for command execution.

Agent & LLM

VariableDefaultWhat it does
FLOWLY_LLM_TIMEOUT_SECONDS120Timeout for a non-streaming LLM call.
FLOWLY_LLM_STREAM_TIMEOUT_SECONDS120Timeout for a streaming LLM call.
FLOWLY_CLAUDE_CACHE_TTL1hTTL for the Anthropic prompt cache (Claude models).
FLOWLY_PLAN_PERSISTonSet to 0 / false / off / no to keep plan mode state (plans + the standing-mode flag) in memory only, instead of writing it to <FLOWLY_HOME>/plan-mode.

Cron

VariableDefaultWhat it does
FLOWLY_CRON_TIMEOUT600Per-job watchdog timeout, in seconds.
FLOWLY_CRON_RETENTION_DAYS30How long per-run output archives are kept.

Media

Generated media (image generation, etc.) is written to <FLOWLY_HOME>/media. The gateway prunes it at start so it can't fill the disk; recent files are kept so chat-history re-fetch still works.

VariableDefaultWhat it does
FLOWLY_MEDIA_RETENTION_DAYS30Delete generated media older than this many days at gateway start. -1 disables the age cap.
FLOWLY_MEDIA_MAX_SIZE_MB500If <FLOWLY_HOME>/media is still larger than this, delete the oldest files until under cap. 0 disables the size cap.

Skills & plugins

VariableDefaultWhat it does
FLOWLY_HUB_REGISTRYhttps://useflowlyapp.comSkill hub registry base URL.
FLOWLY_ENABLE_PROJECT_PLUGINSoffSet to 1 to load project-local plugins from the working directory.

Provider & account

VariableDefaultWhat it does
FLOWLY_API_BASEhttps://useflowlyapp.comBase URL for the hosted Flowly API / relay.
FLOWLY_SERVER_IDRelay server id (set during flowly login).
FLOWLY_USER_AGENTFlowlyBot/1.0HTTP User-Agent for outbound requests.
FLOWLY_XAI_OAUTH_MODELgrok-4.20-reasoningModel used with an xAI OAuth subscription.
FLOWLY_X_SEARCH_MODELgrok-4.20-reasoningModel used by the x_search tool.
FLOWLY_CODEX_MODELgpt-5.6-solDefault model used with a ChatGPT subscription (openai_codex provider).
FLOWLY_CODEX_INSTRUCTIONSOverrides the instructions field sent to the ChatGPT Codex backend, replacing your system prompt wholesale.
FLOWLY_AUTH_DEBUGoffSet to 1 for verbose auth logging.
CODEX_HOME~/.codexState directory for the Codex CLI subprocess (Codex runtime) — also where the openai_codex provider looks for a codex login session as a fallback credential source.

Tool credentials

These let tools pick up credentials from the environment instead of config.json:

VariableUsed by
BRAVE_API_KEYweb_search
GROQ_API_KEYVoice STT (Groq Whisper)
TRELLO_API_KEY, TRELLO_TOKENtrello
XAI_API_KEYx_search (fallback when no OAuth subscription)
XAI_BASE_URLx_search (overrides the xAI API base URL)
GITHUB_TOKENGitHub MCP server (from the catalog)
EDITOROpening the TUI draft with Ctrl+E

TUI

VariableDefaultWhat it does
FLOWLY_TUI_THEMEflowlyDefault TUI theme.
FLOWLY_NO_GATEWAY_AUTOSTARTSet to 1 to stop bare flowly from starting the gateway when none is running. Without it, flowly starts an installed service, or installs and starts one, before opening the chat. Never fires for a non-loopback --host, for a --port other than the configured one, or outside an interactive terminal.
FLOWLY_BROWSER_PLAN_ENABLED1Toggles the browser_plan tool.
FLOWLY_BROWSER_PLAN_PERSISTControls browser-plan persistence.

Install script

Read only by the install script (install.sh / install.ps1), not by the running agent. They tune the git-checkout install; see Installation.

VariableDefaultWhat it does
FLOWLY_REPO_URLGitHub repoGit remote the installer clones.
FLOWLY_BRANCHmainBranch to track (and that flowly update pulls).
FLOWLY_SRC~/.local/share/flowly/repoWhere the checkout is cloned.
FLOWLY_VENV~/.local/share/flowly/venvWhere the virtualenv is built (kept outside the checkout).
FLOWLY_PYTHON3.12Python version uv provisions for the venv.
FLOWLY_SKIP_SYSTEM_DEPS0Skip the optional ffmpeg / ripgrep install.
FLOWLY_SKIP_BOOTSTRAP0Skip first-run onboarding.
FLOWLY_NO_PATH_UPDATE0Don't edit shell profiles for PATH.