Configuration

Settings reference

Every setting, its default, and the quickest way to change it. Most people never need more than optiflume configure.

Where settings live

FileHolds
~/.optiflume/config/routing-config.jsonRouting, notifications, updates and telemetry, for this Mac. Created by the installer.
~/.optiflume/config/advanced-config.jsonThe Guardian, in a safety section. Optional; create it to change a safety default.
<project>/.cursor/intent-router.jsonRouting and notification settings for one project. Optional; see per-project settings.

All three are plain JSON. Edit them with any text editor; changes apply to the next prompt, with no restart. Keep the other keys in the file when you add one. If routing-config.json is not valid JSON, OptiFlume ignores it and suggests only, and optiflume doctor reports it. A freshly installed routing-config.json looks like this:

{
  "routing_action": "auto_switch",
  "prefer_quality": false,
  "notify_disabled_model_savings": false,
  "auto_resubmit": false,
  "switch_notification": false,
  "config_version": 3
}

config_version, configured_at and telemetry_off_by are written by OptiFlume; leave them as they are. auto_resubmit is kept for older installs and has no effect.

The console

Console settings apply to every Mac signed in to your account. Usage reporting already syncs to every Mac at its next check-in. Setting the routing, notification, safety and update choices there for all your Macs is coming soon; for now, change them on each Mac as shown below. A project’s own settings file always wins for that project.

Routing

In routing-config.json, or a project file.

routing_actionDefault "auto_switch"Values: "auto_switch" (switch automatically), "block" (suggest only), "disabled" (paused)
Switch automatically, suggest only, or paused. See modes. If the key is missing, OptiFlume suggests only. Suggest only is for Cursor: Claude Code and Codex keep switching in a suggest-only project, and optiflume auto-switch off stops them switching altogether. Paused also turns routing off in Claude Code and Codex.
Change it: optiflume auto-switch on|off|pause, optiflume configure
prefer_qualityDefault falseValues: true, false
false: cost first, the lowest-priced model rated for the work. true: quality first, the strongest, newest model rated for it. Applies in Cursor, Claude Code and Codex.
Change it: optiflume configure

Notifications

In routing-config.json, or a project file.

switch_notificationDefault falseValues: true, false
Shows the Stop/Keep notice with each automatic switch and waits before the prompt sends. See Stop/Keep.
Change it: Edit the file
switch_stop_window_msDefault 2600Values: Milliseconds, 600 or more
How long the Stop/Keep notice waits before the prompt sends on the new model. Used only when switch_notification is on.
Change it: Edit the file
notify_disabled_model_savingsDefault falseValues: true, false
Reserved. optiflume configure asks about it and stores it; current versions do not act on it.
Change it: optiflume configure

Updates

In routing-config.json only.

auto_updateDefault trueValues: true, false
Installs verified updates by itself. With false, an Update note appears instead and you install with optiflume update.
Change it: Edit the file
update_checkDefault trueValues: true, false
Checks for new versions. With false, OptiFlume never checks or installs on its own; optiflume update still works.
Change it: Edit the file

Guardian

In advanced-config.json, inside a safety section. What each check covers is on the Guardian page.

{
  "safety": {
    "block_destructive_commands": true,
    "whitelisted_commands": ["rm -rf ./dist"]
  }
}
enabledDefault trueValues: true, false
Turns the Guardian on or off.
Change it: Edit advanced-config.json
redact_env_filesDefault trueValues: true, false
Hides secret files such as .env from the model entirely.
Change it: Edit advanced-config.json
warn_destructive_commandsDefault trueValues: true, false
Warns before destructive shell commands.
Change it: Edit advanced-config.json
block_destructive_commandsDefault falseValues: true, false
Blocks destructive commands instead of warning. Needs warn_destructive_commands on.
Change it: Edit advanced-config.json
whitelisted_filesDefault []Values: List of strings
Files whose path contains any of these are read without redaction.
Change it: Edit advanced-config.json
whitelisted_commandsDefault []Values: List of strings
Commands containing any of these run without a warning or block.
Change it: Edit advanced-config.json

Telemetry

In routing-config.json only.

telemetryDefault trueValues: true, false
Sends the daily usage rollup (counts only) behind your console. optiflume analytics works either way. See Analytics and telemetry.
Change it: optiflume telemetry on|off, or the console on any version

Turning usage reporting off in the console stops storing rollups at once, and each Mac turns its own switch off at its next check-in; turning it back on there turns them back on. A Mac you turned off with optiflume telemetry off stays off until you turn it on again on that Mac.

Per-project settings

To give one project its own mode or preference, run this from the project folder:

cd ~/code/my-project
optiflume configure --project

It asks for the mode (switch automatically, suggest only, paused, or the same as global) and the preference (cost first, quality first, or the same as global), and writes only what you changed to .cursor/intent-router.json:

{
  "routing_action": "block",
  "prefer_quality": true
}
  • A project file can hold routing_action, prefer_quality, switch_notification and switch_stop_window_ms. Each key it sets replaces the global value while you work in that project, in any tool. Suggest only is for Cursor for now, so Claude Code and Codex keep switching in a suggest-only project.
  • Update, telemetry and safety settings are per Mac and are not read from project files.
  • In a workspace with several folders, the first folder that has a project file is used.
  • Commit the file to share the setting with your team, or add it to .gitignore to keep it to yourself.
  • To go back to your global settings, delete the file.

Check what is in force

optiflume status                # mode and preference for this Mac
optiflume auto-switch status    # automatic switching and recent switches
optiflume telemetry status      # usage reporting
cat ~/.optiflume/config/routing-config.json

Last updated 8 October 2026

Questions? support@optiflume.ai