{"record":{"id":"c6dcb4076be55900","repo":"Hmbown/CodeWhale","slug":"usage-network-default-allow-deny-prompt","errorCode":null,"errorMessage":"Usage: /network default <allow|deny|prompt>","messagePattern":"Usage: /network default <allow\\|deny\\|prompt>","errorType":"validation","errorClass":"anyhow::Error","httpStatus":null,"severity":"warning","filePath":"crates/tui/src/commands/groups/utility/network.rs","lineNumber":71,"sourceCode":"    match command.as_str() {\n        \"allow\" | \"deny\" | \"remove\" | \"forget\" => {\n            let Some(host_arg) = parts.next() else {\n                bail!(\"Usage: /network {command} <host>\");\n            };\n            if parts.next().is_some() {\n                bail!(\"Usage: /network {command} <host>\");\n            }\n            let host = normalize_host_arg(host_arg)?;\n            let edit = match command.as_str() {\n                \"allow\" => NetworkEdit::Allow,\n                \"deny\" => NetworkEdit::Deny,\n                _ => NetworkEdit::Remove,\n            };\n            update_host(edit, &host)\n        }\n        \"default\" => {\n            let Some(value) = parts.next() else {\n                bail!(\"Usage: /network default <allow|deny|prompt>\");\n            };\n            if parts.next().is_some() {\n                bail!(\"Usage: /network default <allow|deny|prompt>\");\n            }\n            update_default(value)\n        }\n        _ => bail!(usage()),\n    }\n}\n\nfn usage() -> &'static str {\n    \"Usage: /network [list|allow <host>|deny <host>|remove <host>|default <allow|deny|prompt>]\"\n}\n\n#[derive(Clone, Copy)]\nenum NetworkEdit {\n    Allow,\n    Deny,","sourceCodeStart":53,"sourceCodeEnd":89,"githubUrl":"https://github.com/Hmbown/CodeWhale/blob/0c42157ee52f9d55af2b506d71b46249910f77d3/crates/tui/src/commands/groups/utility/network.rs#L53-L89","documentation":"Usage error from the `/network default` subcommand: setting the default network policy requires one value of `allow`, `deny`, or `prompt`. With no value token present, the command bails with this usage string. The default policy is not modified.","triggerScenarios":"Running `/network default` with no argument after the subcommand.","commonSituations":"Exploring the command's shape by running it bare; forgetting the tri-state value; expecting default to print the current value instead of setting it (use `/network` or `/network list` to read).","solutions":["Provide the value: `/network default prompt`","Use `/network` or `/network list` to view the current default instead of setting it"],"exampleFix":"// before\n/network default\n\n// after\n/network default prompt","handlingStrategy":"validation","validationCode":"let tokens: Vec<&str> = raw.split_whitespace().collect();\nif tokens.first().copied() == Some(\"default\") {\n    anyhow::ensure!(tokens.len() == 2, \"Usage: /network default <allow|deny|prompt>\");\n    anyhow::ensure!(matches!(tokens[1], \"allow\" | \"deny\" | \"prompt\"), \"invalid default value\");\n}","typeGuard":"fn default_edit_is_well_formed(tokens: &[&str]) -> bool {\n    tokens.len() == 2 && matches!(tokens[1], \"allow\" | \"deny\" | \"prompt\")\n}","tryCatchPattern":null,"preventionTips":["Remember default takes a tri-state value, not a host","Use bare /network to read current state instead of setting it"],"tags":["slash-command","network-policy","usage","cli","default-policy"],"backgroundTag":"missing-command-argument","analyzedSha":"0c42157ee52f9d55af2b506d71b46249910f77d3","analyzedAt":"2026-08-20T21:50:45.477Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}