pub struct ExecuteRequest {
pub model: Option<String>,
pub provider: Option<String>,
pub model_ref: Option<ProviderModelRef>,
pub skill_mode: Option<String>,
pub reasoning_effort: Option<ReasoningEffort>,
pub client_sync: Option<ExecuteClientSync>,
pub no_human_approver: bool,
}Expand description
Request payload for agent execution.
§Fields
model- Optional model identifier used only as a compatibility fallback
§Note
The model parameter is optional.
Runtime behavior is session-driven:
- prefer
session.model - then provider default model
- finally
request.modelas a compatibility fallback
§Examples
{
"model": "claude-3-opus"
}Fields§
§model: Option<String>Optional model compatibility fallback for execution.
provider: Option<String>Optional provider name (used with provider_model_ref feature).
model_ref: Option<ProviderModelRef>Optional provider+model reference (takes priority when present).
skill_mode: Option<String>Optional per-execution skill mode override (for example: “code”, “ask”).
When provided, skill discovery prefers skills-<mode> directories.
reasoning_effort: Option<ReasoningEffort>Optional reasoning effort override for this execution.
When omitted, the active provider default from config is used.
client_sync: Option<ExecuteClientSync>Optional server-confirmed client cursor used for pre-execution sync checks.
no_human_approver: boolWhether this run has NO interactive human approver (headless -p, a
scheduled job, a deployed broker). #74: this is re-derived per
user-initiated execute and OVERWRITES the session’s persisted
no_human_approver, so a session first run headlessly and later reopened
interactively (UI omits this → false) correctly resets to the
human-present posture. Suspend/resume does NOT go through this handler,
so a within-run resume keeps the persisted posture.