# Models and resuming

The composer's toolbar sets the model the agent works on, and its effort where the model has a
choice. With Claude Code, a line under the composer says what resuming a session takes once its
prompt cache has expired.

The rest of the composer is in [The composer](/docs/sessions-composer/).

## The model picker

The toolbar has two buttons side by side, each opening its menu: the model, and its effort where the
model has a choice. Each lists only what the agent offers, so a model's menu holds only the efforts
it takes.

- The agent's own default is marked **(default)**, as Opus 5.5 is on Claude Code, and checked
  while you've chosen none; the button says so too. Choosing it follows the agent's default as it
  moves, as when your account's default model changes. Any other choice stays as you chose it.
- Each agent's default shows as itself in every menu, never as a stand-in. Moontors learns it
  before the session's agent starts, from the agent's own settings and environment on this
  computer, as a session starts with them:
  - Claude Code: the model it starts on and each model's effort, its fast mode and its output
    style, from a quick call to Claude Code on your own settings, without a project's. A model
    shown for the first time is asked once, and its effort shows an ellipsis for the second or so
    that takes. Once Moontors starts again, its fast mode and output style are asked once more, the
    same way, and show an ellipsis meanwhile; if Claude Code can't answer, they show what your
    Claude Code settings set, else its own: fast mode off and the Default style. A session in a project whose own settings pick another model shows that one once
    its agent starts, in that session alone.
  - Codex: the model, reasoning effort and service tier your Codex config sets (`model`,
    `model_reasoning_effort` and `service_tier` in your `config.toml`, or a trusted project's
    `.codex/config.toml`) and its Daybreak, read again each time, else the ones Codex lists as its
    own. A model your config names that Codex doesn't list shows by its name, as the default.
  - Gemini CLI and Grok Build: the model each opens on, and Grok Build's default effort and context
    window for each model, from a list Moontors asks each once, in an empty folder of its own with nothing of yours
    running, and again after an update of the agent.
- A sign-in or a sign-out asks an agent's list and defaults again, as an account can list its own.
  Once the session's agent starts, what it says it runs with replaces what was learned, as a
  project's own Claude Code settings can set another.
- While a Codex turn runs, a model or effort you pick shows as chosen at once, with a clock beside
  it that says "Takes effect when this turn ends.", and switches when the turn ends, as a mode does
  (see [Switching](/docs/permission-modes/#switching)). Claude Code, Gemini CLI and Grok Build
  switch at once, even mid-turn. A change shows in the transcript as a quiet row, naming the model
  and its effort: one left at the model's own names the default it ran at, as Moontors knew it then,
  and a model that takes no effort names none.
- The agent's settings, such as fast mode, wait for the turn's end in the same way, as an agent
  takes them only as it starts; Grok Build's context window switches at once, as its model does
  (see [Session settings](/docs/configuration/#session-settings)).
- When no model can be picked now, both buttons are dimmed and a note beside them says why. A pick
  the session can't take, such as a model without fast mode while fast mode is on, is refused, and
  the reason shows above the composer.

## Resuming after a while

Claude Code keeps a conversation in its prompt cache for a while after each turn: an hour or five
minutes, as your plan has it. Once that's passed, your next message has it read the whole
conversation again, which takes more of your plan's 5-hour limit. Where Claude Code prices that, a
line under the composer says how long the session has been inactive and about how much of your
5-hour limit resuming takes, from Claude Code's own price. It shows in the warning colour from the
share at which Claude Code's own terminal would ask before resuming, and its ⓘ says why. Beside it:

- **Compact first** compacts the conversation, then sends what you've typed, once the compaction is
  done.
- **New conversation** clears the conversation, then sends what you've typed as the new
  conversation's first message.

With nothing typed, each runs its command alone. A plain **Send** resumes the conversation as it is.
Nothing ever waits on the line. On the phone it's one row, the time and the share, and tapping it
opens why, with the same two choices.

The line counts from the end of the session's last turn. It doesn't show for a model you switched to
since then, though the cache is that model's alone. See
[Known limits](/docs/known-limits/#sessions).