mirror of
https://github.com/instructkr/claw-code.git
synced 2026-06-07 18:25:22 -04:00
Compare commits
1 Commits
fix/permis
...
fix/bypass
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9b5b0f0dfb |
@@ -877,13 +877,17 @@ fn parse_args(args: &[String]) -> Result<CliAction, String> {
|
|||||||
// `missing Anthropic credentials` even though the command is purely
|
// `missing Anthropic credentials` even though the command is purely
|
||||||
// local introspection. Mirror `agents`/`mcp`/`skills`: action is the
|
// local introspection. Mirror `agents`/`mcp`/`skills`: action is the
|
||||||
// first positional arg, target is the second.
|
// first positional arg, target is the second.
|
||||||
"plugins" => {
|
// `plugin` (singular) and `marketplace` are aliases for `plugins`.
|
||||||
|
// All three must route to the same local handler so that no form
|
||||||
|
// falls through to the LLM/prompt path.
|
||||||
|
"plugins" | "plugin" | "marketplace" => {
|
||||||
let tail = &rest[1..];
|
let tail = &rest[1..];
|
||||||
let action = tail.first().cloned();
|
let action = tail.first().cloned();
|
||||||
let target = tail.get(1).cloned();
|
let target = tail.get(1).cloned();
|
||||||
if tail.len() > 2 {
|
if tail.len() > 2 {
|
||||||
return Err(format!(
|
return Err(format!(
|
||||||
"unexpected extra arguments after `claw plugins {}`: {}",
|
"unexpected extra arguments after `claw {} {}`: {}",
|
||||||
|
rest[0],
|
||||||
tail[..2].join(" "),
|
tail[..2].join(" "),
|
||||||
tail[2..].join(" ")
|
tail[2..].join(" ")
|
||||||
));
|
));
|
||||||
@@ -926,14 +930,6 @@ fn parse_args(args: &[String]) -> Result<CliAction, String> {
|
|||||||
}
|
}
|
||||||
Ok(CliAction::Diff { output_format })
|
Ok(CliAction::Diff { output_format })
|
||||||
}
|
}
|
||||||
// `claw permissions <mode>` falls through to the LLM when called
|
|
||||||
// with a subcommand argument because parse_single_word_command_alias
|
|
||||||
// only intercepts the bare single-word form. Catch all multi-word
|
|
||||||
// forms here and return a structured guidance error so no network
|
|
||||||
// call or session is created.
|
|
||||||
"permissions" => Err(format!(
|
|
||||||
"`claw permissions` is a slash command. Start `claw` and run `/permissions` inside the REPL.\n Usage /permissions [read-only|workspace-write|danger-full-access]"
|
|
||||||
)),
|
|
||||||
"skills" => {
|
"skills" => {
|
||||||
let args = join_optional_args(&rest[1..]);
|
let args = join_optional_args(&rest[1..]);
|
||||||
match classify_skills_slash_command(args.as_deref()) {
|
match classify_skills_slash_command(args.as_deref()) {
|
||||||
|
|||||||
Reference in New Issue
Block a user