You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The reasoning and temperature frontmatter keys were parsed into AgentDef
but never read. Wire them into the main loop:
- /agent <name> applies the profile's reasoning via session.effort_override
(the same mechanism /effort uses, so rebuilds keep it sticky), capturing
the pre-profile override in ContextFiles.effort_before_agent — the effort
sibling of route_before_agent. /agent off restores it.
- The profile wins over a live /effort override at activation; a later
/effort overrides it; /agent off restores the pre-profile value, mirroring
how the model restore discards a mid-profile /model.
- An unrecognised reasoning value warns and leaves effort untouched; the
switch proceeds (fail-soft, matching /effort's unknown-level handling).
- temperature is consulted from the active agent layer at agent build time
(profile > CLI > config), so /agent's rebuild applies it and /agent off's
rebuild falls back automatically. Same clamp/warn as before.
- Subagent path unchanged (still model + prompt only); docs updated: the
key table now lists all seven /effort levels and the new semantics.
Verified end-to-end with the wire dump: turn under the profile flips to
model=claude-haiku-4-5 reasoning=false, /agent off returns to
claude-sonnet-5 reasoning=true.
Copy file name to clipboardExpand all lines: docs/agents.md
+4-3Lines changed: 4 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -51,8 +51,8 @@ All frontmatter keys are optional:
51
51
|`model`| A `providers` alias **or** a model name. Resolved to a model string for the current client (see *Model routing* below). Omit to keep the current model. |
52
52
|`deny_tools`| Tools to deny while this profile is active (e.g. `[bash, write, edit, apply_patch]`). |
53
53
|`allow_tools`| The complement: deny every built-in **not** listed. `deny_tools` wins if both are given. |
54
-
|`reasoning`| Reasoning-effort hint (`low` / `medium` / `high`). |
55
-
|`temperature`| Sampling temperature. |
54
+
|`reasoning`| Reasoningeffort applied on activation (`off` / `minimal` / `low` / `medium` / `high` / `xhigh` / `max` — the same levels as `/effort`). Wins over any live `/effort` override at activation; a later `/effort` overrides it; `/agent off` restores the pre-profile effort. An unrecognised value warns and leaves the session's effort unchanged. |
55
+
|`temperature`| Sampling temperature while the profile is active (clamped to `0.0..=2.0`). Wins over `--temperature` and the config default; `/agent off` falls back to those. |
56
56
|`description`| One-line summary shown in `/agents`. |
57
57
|`subagent_tools`| Opt this profile's `task(agent=…)` subagent into tools: `readonly` (read-only tool universe), `readwrite` (readonly + write/edit/bash — can edit the repo), or `toolless` (the default one-shot). See *Tooled subagents* below. |
58
58
|`subagent_max_turns`| Cap the tooled subagent's loop (default `25`). |
@@ -155,7 +155,8 @@ Profiles are resolved into subagent routes once at startup. By default
155
155
subagents are **tool-less** (a one-shot query — a profile's
156
156
`deny_tools`/`allow_tools` doesn't apply, since the subagent has no tools),
157
157
and the profile's `reasoning`/`temperature` aren't applied on the subagent
158
-
path — only the model and system prompt are. Routing `/plan` phases to named
158
+
path — only the model and system prompt are (the MAIN loop applies both when
159
+
the profile is activated with `/agent <name>`; see the key table above). Routing `/plan` phases to named
159
160
profiles, and cross-provider client switching, remain follow-ups.
0 commit comments