Switching models & defaults

The menu edits the defaults each tool already reads from its own config file. BlackFlare invents no settings and stores none of its own — it writes the same keys you would edit by hand, and the change applies to your next session.

Claude Code

Written to ~/.claude/settings.json.

Menu Key Values
Model model Aliases (opus, sonnet, haiku, opusplan), pinned claude-* IDs pulled live from models.dev, or your own custom IDs. Default removes the key.
Permission Mode permissions.defaultMode default · auto · acceptEdits · plan · bypassPermissions
Effort effortLevel low · medium · high · xhigh
Always Thinking alwaysThinkingEnabled on / off

Offline, the alias list is always available; pinned versions come from the last successful catalog fetch or a built-in fallback.

Codex

Written to ~/.codex/config.toml, top-level keys only — the editor never descends into [tables], so your [sandbox_workspace_write] network and writable-root settings are never touched.

Menu Key(s) Values
Model model Slugs from Codex’s own models_cache.json (models.dev’s OpenAI list as fallback), or custom slugs. Default removes the key.
Reasoning Effort model_reasoning_effort Whatever the selected model advertises, in Codex’s order. Default removes the key.
Permission Mode sandbox_mode + approval_policy + approvals_reviewer Read Only · Ask for approval · Approve for me · Full Access

Effort follows the model

Codex publishes reasoning levels per model, so the menu offers exactly what your configured model supports — GPT-5.6 Sol and Terra add max and ultra, Luna adds max only, GPT-5.5 neither. A model with no metadata (a custom slug, the models.dev fallback, or Default) gets the conservative common set low · medium · high · xhigh.

If your config already names a level the model doesn’t advertise, the menu shows it as Current: <value> (unsupported) rather than hiding it or quietly rewriting it. Same principle for models: ones Codex marks visibility = "hide" stay out of the list, but a hidden model already named in your config still appears, checked.

Permission mode writes three keys at once

BlackFlare writes the same combinations Codex’s own /permissions menu does, in a single atomic edit:

Mode sandbox_mode approval_policy approvals_reviewer
Read Only read-only on-request user
Ask for approval workspace-write on-request user
Approve for me workspace-write on-request auto_review
Full Access danger-full-access never user

Picking a mode also removes the beta default_permissions key so the two permission systems can’t coexist.

There is no Default here. Permissions are security state, so BlackFlare only ever writes a mode you explicitly picked. Any other combination — a missing key, a value Codex’s own menu never writes, a lingering default_permissions — displays as Custom and is left exactly as it is.

Which apps pick up the change

Switching defaults works where the tool reads its shared config file fresh at session start:

  • Claude Code — CLI and IDE extensions. Both read ~/.claude/settings.json on every new session.
  • Codex — CLI only. It loads ~/.codex/config.toml at session start.

The Claude desktop app, the Codex IDE extension, and the ChatGPT desktop app are not supported: each stores and caches its configuration in its own app-specific location (the ChatGPT desktop app even sends model and effort per thread from its own picker), so defaults switched here never reach those sessions.

One more thing worth knowing: traffic is bidirectional. The GUI apps write their own model and permission picks back into config.toml, so whoever wrote last wins. A change made in Codex’s UI can replace one made here, and the reverse is equally true.