Hmbown/CodeWhale · error · anyhow::Error
unsupported Runtime mode {mode:?}; expected plan, act, or op
Error message
unsupported Runtime mode {mode:?}; expected plan, act, or operate What it means
RuntimePolicy::from_request rejected the requested Runtime mode string: parse_runtime_mode (including legacy aliases) did not recognize it, so only plan/act/operate (or their accepted aliases) are valid.
Source
Thrown at crates/tui/src/runtime_policy.rs:53
} else {
ApprovalMode::Suggest
}
});
Self {
mode: visible_mode(parsed_mode),
permission,
}
}
/// Validate and normalize a new Runtime request. Legacy aliases are
/// accepted as one-way inputs, but only current values are persisted.
pub(crate) fn from_request(
mode: &str,
permission_posture: Option<&str>,
auto_approve: Option<bool>,
) -> Result<Self> {
let parsed_mode = parse_runtime_mode(mode).ok_or_else(|| {
anyhow::anyhow!("unsupported Runtime mode {mode:?}; expected plan, act, or operate")
})?;
let permission = match permission_posture {
Some(value) => ApprovalMode::from_config_value(value).ok_or_else(|| {
anyhow::anyhow!(
"unsupported permission posture {value:?}; expected ask, auto-review, or full-access"
)
})?,
None if parsed_mode == AppMode::Yolo || auto_approve.unwrap_or(false) => {
ApprovalMode::Bypass
}
None => ApprovalMode::Suggest,
};
if permission == ApprovalMode::Never {
bail!("permission posture 'never' is not part of the Runtime product contract");
}
Ok(Self {
mode: visible_mode(parsed_mode),
permission,View on GitHub (pinned to 0c42157ee5)
Solutions
- Use one of plan, act, or operate
- Check for typos in the mode string sent by the client
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at crates/tui/src/runtime_policy.rs:53 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of Hmbown/CodeWhale@0c42157ee5 (2026-08-20).
Data as JSON: /api/errors/36f7125ec0c45398.
Report an issue: GitHub.