Settings reference
Every setting, its default, and the quickest way to change it. Most people never need more than optiflume configure.
Where settings live
| File | Holds |
|---|---|
~/.optiflume/config/routing-config.json | Routing, notifications, updates and telemetry, for this Mac. Created by the installer. |
~/.optiflume/config/advanced-config.json | The Guardian, in a safety section. Optional; create it to change a safety default. |
<project>/.cursor/intent-router.json | Routing 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 offstops them switching altogether. Paused also turns routing off in Claude Code and Codex. - Change it:
optiflume auto-switch on|off|pause,optiflume configure prefer_qualityDefaultfalseValues: true, falsefalse: 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_notificationDefaultfalseValues: 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_msDefault2600Values: Milliseconds, 600 or more- How long the Stop/Keep notice waits before the prompt sends on the new model. Used only when
switch_notificationis on. - Change it: Edit the file
notify_disabled_model_savingsDefaultfalseValues: true, false- Reserved.
optiflume configureasks about it and stores it; current versions do not act on it. - Change it:
optiflume configure
Updates
In routing-config.json only.
auto_updateDefaulttrueValues: true, false- Installs verified updates by itself. With
false, an Update note appears instead and you install withoptiflume update. - Change it: Edit the file
update_checkDefaulttrueValues: true, false- Checks for new versions. With
false, OptiFlume never checks or installs on its own;optiflume updatestill 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"]
}
}enabledDefaulttrueValues: true, false- Turns the Guardian on or off.
- Change it: Edit
advanced-config.json redact_env_filesDefaulttrueValues: true, false- Hides secret files such as
.envfrom the model entirely. - Change it: Edit
advanced-config.json warn_destructive_commandsDefaulttrueValues: true, false- Warns before destructive shell commands.
- Change it: Edit
advanced-config.json block_destructive_commandsDefaultfalseValues: true, false- Blocks destructive commands instead of warning. Needs
warn_destructive_commandson. - 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.
telemetryDefaulttrueValues: true, false- Sends the daily usage rollup (counts only) behind your console.
optiflume analyticsworks 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 --projectIt 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_notificationandswitch_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
.gitignoreto 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