Skip to main content

AgentStepConfig

Type Alias AgentStepConfig 

Source
pub type AgentStepConfig = AgentConfig;
Expand description

Backward-compatible alias for AgentConfig.

§Examples

use ironflow_engine::config::AgentStepConfig;

let config = AgentStepConfig::new("Review this code for security issues")
    .model("haiku")
    .max_budget_usd(0.10);

Aliased Type§

pub struct AgentStepConfig {
Show 13 fields pub system_prompt: Option<String>, pub prompt: String, pub model: String, pub allowed_tools: Vec<String>, pub max_turns: Option<u32>, pub max_budget_usd: Option<f64>, pub working_dir: Option<String>, pub mcp_config: Option<String>, pub strict_mcp_config: bool, pub permission_mode: PermissionMode, pub json_schema: Option<String>, pub resume_session_id: Option<String>, pub verbose: bool, /* private fields */
}

Fields§

§system_prompt: Option<String>

Optional system prompt that sets the agent’s persona or constraints.

§prompt: String

The user prompt - the main instruction to the agent.

§model: String

Which model to use for this invocation.

Accepts any string. Use Model constants for well-known Claude models (e.g. Model::SONNET), or pass a custom identifier for other providers.

§allowed_tools: Vec<String>

Allowlist of tool names the agent may invoke (empty = provider default).

§max_turns: Option<u32>

Maximum number of agentic turns before the provider should stop.

§max_budget_usd: Option<f64>

Maximum spend in USD for this single invocation.

§working_dir: Option<String>

Working directory for the agent process.

§mcp_config: Option<String>

Path to an MCP server configuration file.

§strict_mcp_config: bool

When true, pass --strict-mcp-config to the Claude CLI so it only loads MCP servers from mcp_config and ignores any global/user MCP configuration (e.g. ~/.claude.json).

Useful to prevent global MCP servers from leaking tools into steps that request structured_output, which triggers the Claude CLI bug where --json-schema combined with any active tool returns structured_output: null. See https://github.com/anthropics/claude-code/issues/18536.

Combine with mcp_config set to a file containing {"mcpServers":{}} to disable every MCP server for the invocation.

§permission_mode: PermissionMode

Permission mode controlling how the agent handles tool-use approvals.

§json_schema: Option<String>

Optional JSON Schema string. When set, the provider should request structured (typed) output from the model.

§resume_session_id: Option<String>

Optional session ID to resume a previous conversation.

When set, the provider should continue the conversation from the specified session rather than starting a new one.

§verbose: bool

Enable verbose/debug mode to capture the full conversation trace.

When true, the provider uses streaming output (stream-json) to record every assistant message and tool call. The resulting AgentOutput::debug_messages field will contain the conversation trace for inspection.