Default and inheritance
The word Default has different effects at the two scopes.
Global Default
Section titled “Global Default”Global Default disables the shared override. OpenCode uses the model configured for each delegated agent.
Session Default
Section titled “Session Default”Session Default creates an explicit boundary. Descendants stop looking at session ancestors and use the global state instead.
Precedence
Section titled “Precedence”For a delegated message, the plugin resolves state in this order:
- Start at the message’s parent session.
- Walk toward the root.
- Use the first forced session state found.
- If the first session state is Default, stop the walk and use global state.
- If no session state exists, use global state.
- If global state is Default, leave OpenCode’s selected model unchanged.
A primary session has no parent in this lookup and is never overridden.
Failure behavior
Section titled “Failure behavior”Missing files mean “no state at this scope.” Corrupt, invalid, or unreadable files are different: the plugin stops resolution and keeps the model already selected by OpenCode.