# Minimal routing settings

The local plugin exposes `embercrank_get_settings` and `embercrank_update_settings`. Once installed, the intended interaction is ordinary chat:

- “Show my Embercrank settings.”
- “Use only OpenAI for my tasks.”
- “Use only Anthropic.”
- “Either provider is fine, but stay at balanced or below.”
- “Don't escalate to another model.”
- “Use this specific model for future tasks.”

These are examples of intended host invocation, not proof of an installed app experience. Protocol integration tests verify the tools separately. Model availability and the server's supported catalog still apply; choosing a model in settings does not grant account access.

Saved fields are provider (`either`, `openai`, `anthropic`), selection mode (`automatic`, `fixed`), fixed model when applicable, maximum tier, escalation enabled, and billing mode (`subscription`, `api`). Subscription is the default. Fixed mode requires a particular provider/model and disables escalation. Changing to API mode is an explicit user action; it must not be inferred from a subscription failure.

Ordinary task options may narrow saved choices, but may not broaden the provider set, increase the ceiling, switch billing mode, enable prohibited escalation, or replace a fixed model. Such changes require a separate explicit settings action. A running job uses the settings captured at its start; a settings update affects future jobs and does not cancel or alter a running job.

Preferences are local, contain no credentials, and use a strict versioned file in the existing configuration directory. Atomic replacement prevents partial writes; an update lock prevents overlapping writes. Corrupt settings fail rather than silently falling back to more permissive defaults. Provider accounts, project grants and product licenses are separate setup concerns.

The default preference does not mean measured cost-optimal routing. Current selection combines heuristic task classification, account-advertised availability, private catalog mappings and user constraints. Language reliability and comparative savings remain open release gates. A separate web settings page is not required for the first app integration; these tools keep recurring settings changes inside the conversation.
