Edits applied to the auto-added general-purpose subagent.
deepagents.profiles exposes beta APIs that may receive minor changes in
future releases. Refer to the versioning documentation
for more details.
These settings only affect the default subagent that create_deep_agent
inserts when the caller does not explicitly provide a subagent named
general-purpose.
Whether to auto-add the default general-purpose subagent (three-state:
None inherits / defaults on, True forces inclusion, False disables).
None means inherit from a base profile when merging, or fall back to
the default of including the subagent. True forces inclusion and is
what a model-level profile can use to re-enable a subagent that a
provider-level profile disabled. False disables the auto-added
subagent entirely.
If the default subagent is disabled and no other synchronous subagents are
configured, the main agent will not expose the task tool.
Override for the default subagent description.
None means keep the default description.
Override for the default general-purpose subagent system prompt.
None means keep the default system prompt.
HarnessProfile.base_system_promptWhen a profile sets both this field and
HarnessProfile.base_system_prompt, this field wins for the
general-purpose subagent.
The reasoning: general_purpose_subagent.system_prompt is GP-specific
configuration, while base_system_prompt is a global override that
applies to the main agent. The more-specific intent wins on the GP
subagent so a user setting both never sees their GP override
silently dropped. The profile's system_prompt_suffix still
layers on top.
Dump this sub-profile to a plain dict.
Only fields with non-None values are emitted so the serialized form
round-trips cleanly without forcing None defaults into the config.
Construct a sub-profile from a plain dict.