pub struct ToolResultMeta {
pub id: String,
pub non_execution_kind: Option<String>,
pub user_feedback: Option<String>,
pub remedy: Option<ToolResultRemedy>,
pub permission_decision: Option<ToolPermissionDecision>,
}Expand description
Display metadata for a tool_result block carried on the user wrapper.
Fields§
§id: StringThe tool_use_id of the matching tool_result block.
non_execution_kind: Option<String>Harness-stamped reason an is_error: true result did not carry the
tool’s own execution output (user-rejected, permission-rule,
automode-*, interrupted, cancelled). Open set — treat
unrecognized values as valid reasons; absent means the tool ran to
completion. Optional since CLI 2.1.276, when an entry may carry a
remedy alone.
user_feedback: Option<String>The deny comment a human typed at a permission prompt, when present.
remedy: Option<ToolResultRemedy>The fix a host can offer for what the result reports (CLI 2.1.276+).
May be present on a result that did run (a staged settings write, a
sandbox violation on exit 0), so read whether the call ran from
non_execution_kind, not from this.
permission_decision: Option<ToolPermissionDecision>How the call’s permission check ended (CLI 2.1.293+). On a
subagent’s messages (parent_tool_use_id set) entries carry only
this, so those messages do not say whether a call ran. Absent when
the call ended before its permission check, and on some results
built apart from the call’s own run (a plugin hook’s refusal, a
hook’s rewrite of a denied result, a queued call a stop cancelled).