From 492e0f1b67a6ec14ef28376f3d0cc8df64766be0 Mon Sep 17 00:00:00 2001 From: george larson Date: Wed, 26 Aug 2026 05:26:18 -0400 Subject: [PATCH 1/2] docs(task): explain per-call LLM profiles --- sdk/guides/task-tool-set.mdx | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/sdk/guides/task-tool-set.mdx b/sdk/guides/task-tool-set.mdx index 530f9354c..19a416a62 100644 --- a/sdk/guides/task-tool-set.mdx +++ b/sdk/guides/task-tool-set.mdx @@ -133,10 +133,33 @@ When the parent agent calls the task tool, it provides these parameters: | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `prompt` | `str` | Yes | The instruction for the sub-agent | -| `subagent_type` | `str` | No | Which registered agent type to use (default: `"default"`) | +| `subagent_type` | `str` | No | Which registered agent type to use (default: `"general-purpose"`) | | `description` | `str` | No | Short label (3-5 words) for display and tracking | +| `llm_profile` | `str` | No | Saved LLM profile for this sub-agent; if omitted, it inherits the parent model | | `resume` | `str` | No | Task ID from a previous invocation to continue | +## Selecting a Model for One Task + +Pass `llm_profile` to run a sub-agent on a [saved LLM profile](/sdk/guides/llm-profile-store) without changing the parent agent's model: + +```python icon="python" +conversation.send_message( + "Use the task tool to implement this change with " + "subagent_type='general-purpose' and llm_profile='fast-worker'." +) +conversation.run() +``` + +The model is selected in this order: + +1. A model profile specified by the sub-agent's file-based definition. +2. The task call's `llm_profile`. +3. The parent model, when neither of the above is set. + +An unknown profile returns an error instead of silently using the parent model. When you resume a task, omitting `llm_profile` keeps the profile used by that task. Passing a different profile changes it for that resume and later resumes. + +The task tool shows the parent agent the names of profiles in the default profile store. It does not include profile configuration or credentials. A file-based sub-agent that uses a custom `profile_store_dir` can resolve profiles from that directory even though the advertised list comes from the default store. + ## Task Observation The tool returns a `TaskObservation` containing: From 1c0f36babcdbba76759a408fd8ae0a540369aa21 Mon Sep 17 00:00:00 2001 From: george larson Date: Wed, 26 Aug 2026 17:48:59 -0400 Subject: [PATCH 2/2] docs(sdk): clarify task profile selection --- AGENTS.md | 2 +- sdk/guides/task-tool-set.mdx | 10 +++------- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index 0c2f8592b..67ea9adf2 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -77,7 +77,7 @@ mint dev Useful checks: ```bash -mint broken-links +mintlify broken-links ``` ### Python tooling (sync/generation scripts) diff --git a/sdk/guides/task-tool-set.mdx b/sdk/guides/task-tool-set.mdx index 19a416a62..5588a169f 100644 --- a/sdk/guides/task-tool-set.mdx +++ b/sdk/guides/task-tool-set.mdx @@ -150,15 +150,11 @@ conversation.send_message( conversation.run() ``` -The model is selected in this order: +For a sub-agent definition that inherits the parent model, `llm_profile` selects the worker model. Do not pass `llm_profile` when the selected sub-agent definition already specifies a model; the task returns a configuration error rather than silently choosing one. -1. A model profile specified by the sub-agent's file-based definition. -2. The task call's `llm_profile`. -3. The parent model, when neither of the above is set. +An unknown profile returns an error instead of silently using the parent model. When you resume a task with an inheriting definition, omitting `llm_profile` keeps the profile used by that task. Resuming with a model-pinned definition replaces the stored profile with the definition's model. Passing a different profile changes it for that resume and later resumes. -An unknown profile returns an error instead of silently using the parent model. When you resume a task, omitting `llm_profile` keeps the profile used by that task. Passing a different profile changes it for that resume and later resumes. - -The task tool shows the parent agent the names of profiles in the default profile store. It does not include profile configuration or credentials. A file-based sub-agent that uses a custom `profile_store_dir` can resolve profiles from that directory even though the advertised list comes from the default store. +The task tool shows the parent agent the names of profiles in the default profile store. It does not include profile configuration or credentials. If any registered sub-agent uses a custom `profile_store_dir`, the task tool omits the list rather than advertising names from a store that the selected agent may not use. You can still pass a valid profile name directly. ## Task Observation