docs

models and roles

which model does what in bise, and how to change each one.

bise uses models for a few different jobs. each job is a role, and each role has its own model. you pick one model at the first run; every other role follows it or picks a cheap one for you.

the roles

rolewhat it doesunset
mainyour team lead: the agent you talk tothe model of the first run
agentsthe agents main startssame as main
smallsmall jobs: titles, summariesthe cheap model of main's provider
voicelistens when you talk (ctrl+r)Mistral's or OpenAI's speech model, when you have that key
classifythe checker: in auto, decides which commands run and which ask youJev, through TypeSafe or OpenRouter when you have one of those keys, else your small jobs model (more)

/models shows them all, with what each one resolves to. pick a row to change it: role, then provider, then model, then effort.

change a model

for the agent you're looking at, now:

/model anthropic/claude-sonnet-5-5

/model <model> default also makes it the default for new sessions: main's role when you're in main's view, the agents' role in an agent's view.

from a terminal, for every new session:

bise config set main anthropic/claude-opus-5-5
bise config set agents openai/gpt-6.1-sol
bise config set small mistral/mistral-small-latest
bise config get main

or in ~/.bise/config.toml:

~/.bise/config.toml
[roles]
main = "anthropic/claude-opus-5-5"      # your team lead
agents = "openai/gpt-6.1-sol"           # the agents main starts (unset: main's)
small = "mistral/mistral-small-latest"  # titles, summaries
voice = "mistral/voxtral-transcribe-3"  # listens when you talk

[roles.main]                            # the table form, to set the effort too
model = "anthropic/claude-opus-5-5"
effort = "high"

a role is either one line or a table, not both. an environment variable wins over the file for one session: BISE_MODEL (main), BISE_AGENT_MODEL, BISE_SMALL_MODEL, BISE_VOICE_MODEL, BISE_CLASSIFY_MODEL.

reasoning effort

for a model that reasons, /reasoning picks how hard it thinks:

/reasoning high

Anthropic's models take none, low, medium, high and max; the others none, low, medium and high. unset, a model gets high. the effort shows on the divider next to the model.

compaction

when a conversation grows close to the model's context window, bise compacts it: it replaces the older part with a summary, so the agent goes on. by default that happens at 80% of the window. to compact earlier:

bise config set compaction_threshold 450000   # tokens
bise config set compaction_threshold 45%      # a share of the window

the threshold is at most 80% of the window. /compact compacts the agent you're looking at now.

what a model can do

each model in the list has a context window, a max output, and whether it reads images and reasons. a model bise doesn't list gets its provider's defaults. for a model behind your own gateway, you set these yourself: see gateways and local models.

bise models anthropic
anthropic  Anthropic · anthropic · key: env ANTHROPIC_API_KEY
  anthropic/claude-opus-5-5      1M ctx  128k out vision reasoning $4/$20
  anthropic/claude-sonnet-5-5    1M ctx  128k out vision reasoning $2/$10
  anthropic/claude-haiku-4-5   200k ctx   64k out vision reasoning $1/$5

prices are list prices in USD per million tokens, input then output. bise shows a turn's cost when it knows the price.