Skip to content

fix(chat): the agent's own model and effort on the chips, and no resume on coming back - #56

Merged
viktorvillalobos merged 2 commits into
mainfrom
fix/chat-defaults-and-return
Oct 19, 2026
Merged

viktorvillalobos merged 2 commits into
mainfrom
fix/chat-defaults-and-return

Conversation

@viktorvillalobos

Copy link
Copy Markdown
Contributor

Two things found using Leon's own interface (Settings ▸ Experimental) with Claude Code.

The chips said "Default"

A conversation that asked for no model and no effort showed DEFAULT (RECOMMENDED) and DEFAULT EFFORT instead of what the agent runs with.

  • AgentOptions gains default_model and default_effort, and AgentModel gains resolves_to (the model an entry stands for).
  • Claude Code is asked a second request when it is asked what it offers: get_settings, whose applied is the model and the effort after every settings file and default was weighed. Checked against Claude Code 2.1.296 ({"model":"claude-opus-5-5","effort":"medium"} here).
  • Codex: model and model_reasoning_effort of its configuration, else the model its list marks and that one's defaultReasoningEffort.
  • Grok: the model grok models marks (default). It says nothing of its effort before a session, so that chip still says Default.
  • What a turn says it answers with (claude-opus-5-5) is shown as the entry a person knows (Opus 5.5), and the lists say what "Default" is.

opencode and Cursor say nothing of their defaults outside a session; their chips are as before.

Coming back to a conversation asked to resume it

Once the agent had written its session, the conversation's row in the tree was the history session's. A click on it only looked for a terminal of that session, found none, and offered "Resume this session? … starts its agent in a terminal". Shell::running_of_history now answers for a terminal or a conversation, in the click, the context menu, the keys that act on the session under the cursor, the resume paths and the Den.

Tested

scripts/check.sh passes. New tests in leon-turn (each agent's defaults, the script with a stand-in), in chat::complete (what is shown) and in ui::tests_chat (the row brings the conversation back). The chips themselves were not looked at in a running window.

…esume it

Once the agent had written its session, the conversation's row was the
history session's, and a click on it only looked for a terminal: it
offered to start the agent again in one. A history row whose
conversation is open is that conversation's, as it is a terminal's, also
for the context menu, the keys that act on the session under the cursor
and the Den.
A conversation that asked for neither said Default for both. The agent
is now asked what a turn would run with: Claude Code answers a second
request for its settings as it weighs them, Codex's configuration names
them or its list marks its own choice, Grok marks a model. What a turn
says it answers with (claude-opus-5-5) is shown by the entry a person
knows (Opus 5.5), and the lists say what Default is.
@viktorvillalobos
viktorvillalobos merged commit 57ce84e into main Oct 19, 2026
10 checks passed
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