Environment variables
Fased pulls environment variables from multiple sources. The rule is never override existing values.Precedence (highest → lowest)
- Process environment: what the Gateway process already has from the parent shell or daemon.
.envin the current working directory (dotenv default; does not override).- Global
.envat~/.fased/.env, also known as$FASED_STATE_DIR/.env; does not override. - Config
envblock in~/.fased/fased.json(applied only if missing). - Optional login-shell import:
env.shellEnv.enabledorFASED_LOAD_SHELL_ENV=1, applied only for missing expected keys.
Config env block
Two equivalent ways to set inline env vars (both are non-overriding):
Shell env import
env.shellEnv runs your login shell and imports only missing expected keys:
FASED_LOAD_SHELL_ENV=1FASED_SHELL_ENV_TIMEOUT_MS=15000
Env var substitution in config
You can reference env vars directly in config string values using${VAR_NAME} syntax:
Secret refs vs ${ENV} strings
Fased supports two env-driven patterns:
${VAR}string substitution in config values.- SecretRef objects (
{ source: "env", provider: "default", id: "VAR" }) for fields that support secrets references.
Path-related env vars
FASED_HOME: overrides the home directory used for internal path resolution, including~/.fased/, agent dirs, sessions, and credentials. Useful for a dedicated service user.FASED_PROFILE: selects a named profile. The dev profile uses isolated state under~/.fased-devand shifts the gateway port.FASED_STATE_DIR: overrides the state directory. Default:~/.fased.FASED_CONFIG_PATH: overrides the config file path. Default:~/.fased/fased.json.
Logging
FASED_LOG_LEVEL: overrides log level for both file and console, for exampledebugortrace. It takes precedence overlogging.levelandlogging.consoleLevelin config. Invalid values are ignored with a warning.
FASED_HOME
When set, FASED_HOME replaces the system home directory ($HOME /
os.homedir()) for all internal path resolution. This enables full filesystem
isolation for headless service accounts.
Precedence: FASED_HOME > $HOME > USERPROFILE > os.homedir()
Example (macOS LaunchDaemon):
FASED_HOME can also be set to a tilde path, such as ~/svc. Fased expands it
using $HOME before use.