Skip to content

feat: add per-BTW model and thinking overrides#3

Open
counterposition wants to merge 1 commit intodbachelder:mainfrom
counterposition:configurable-model-and-thinking
Open

feat: add per-BTW model and thinking overrides#3
counterposition wants to merge 1 commit intodbachelder:mainfrom
counterposition:configurable-model-and-thinking

Conversation

@counterposition
Copy link

Summary

Adds /btw:model and /btw:thinking commands so BTW can run with a different model or thinking level than the main thread — useful for keeping BTW cheaper or faster without changing main thread settings.

New commands

/btw:model [<provider> <model> <api> | clear]

  • No args: shows the current effective BTW model and whether it is inherited or overridden
  • With values: sets a BTW-only model override
  • clear: removes the override and returns BTW to inheriting the main thread model
  • If the configured override has no credentials, BTW warns and falls back to the main thread model

/btw:thinking [<level> | clear]

  • No args: shows the current effective BTW thinking level and whether it is inherited or overridden
  • With a value: sets a BTW-only thinking override for normal BTW chat
  • clear: removes the override and returns BTW to inheriting the main thread thinking level

Behavior

  • Changing either override disposes the active BTW sub-session; the new settings apply on the next BTW prompt while preserving the hidden thread
  • /btw:summarize uses the effective BTW model but always keeps thinking off
  • Overrides are persisted as hidden session entries (btw-model-override, btw-thinking-override) and restored on session reload
  • api field added to BtwDetails so seed messages correctly reflect which API each past exchange used

Tests

6 new tests covering:

  • BTW-specific model and thinking overrides applied to prompts
  • Summarize uses BTW model but forces thinking off
  • Clearing overrides restores inheritance from the main thread
  • Override state restored from session history
  • Read-only show commands report inherited vs overridden state
  • Fallback to main model when override has no credentials

All 47 tests pass.

Co-Authored-By: Oz oz-agent@warp.dev

Add /btw:model and /btw:thinking commands that let users configure
a BTW-only model and thinking level independently from the main
thread settings.

- /btw:model [<provider> <model> <api> | clear]: show, set, or clear
  a BTW-only model override; falls back to the main thread model
  if the configured override has no credentials
- /btw:thinking [<level> | clear]: show, set, or clear a BTW-only
  thinking level override
- overrides are persisted as hidden session entries and restored on
  session reload
- changing either override disposes the active BTW sub-session so
  the new settings apply on the next BTW prompt
- /btw:summarize continues to use the effective BTW model but always
  keeps thinking off
- api field added to BtwDetails so seed messages correctly reflect
  which API each past exchange used
- README and skill updated with new command docs and guidance

Co-Authored-By: Oz <oz-agent@warp.dev>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant