From 209fbc9e41792c337cd4e4ae954ca7abb3c40d7c Mon Sep 17 00:00:00 2001 From: Alex Clarke Date: Wed, 8 Jul 2026 15:17:21 -0600 Subject: [PATCH] feat: Added a --dangerously-skip-permissions flag to skip permission prompts for tool invocations --- src/cli/mod.rs | 15 +++++++++++++++ src/main.rs | 6 ++++++ 2 files changed, 21 insertions(+) diff --git a/src/cli/mod.rs b/src/cli/mod.rs index 5f35727..40d525d 100644 --- a/src/cli/mod.rs +++ b/src/cli/mod.rs @@ -91,6 +91,9 @@ pub struct Cli { /// Disable memory for this invocation #[arg(long)] pub no_memory: bool, + /// Skip permission prompts by setting AUTO_CONFIRM for all tools (dangerous!) + #[arg(long)] + pub dangerously_skip_permissions: bool, /// Bootstrap a memory marker so coyote begins loading memory next run #[arg(long, value_name = "SCOPE", value_enum)] pub init_memory: Option, @@ -424,6 +427,18 @@ mod tests { assert!(cli.build_tools); } + #[test] + fn parse_dangerously_skip_permissions_flag() { + let cli = parse(&["--dangerously-skip-permissions"]); + assert!(cli.dangerously_skip_permissions); + } + + #[test] + fn parse_dangerously_skip_permissions_default_off() { + let cli = parse(&[]); + assert!(!cli.dangerously_skip_permissions); + } + #[test] fn parse_sync_models_flag() { let cli = parse(&["--sync-models"]); diff --git a/src/main.rs b/src/main.rs index c6c68be..a8d7484 100644 --- a/src/main.rs +++ b/src/main.rs @@ -56,6 +56,12 @@ async fn main() -> Result<()> { CompleteEnv::with_factory(Cli::command).complete(); let cli = Cli::parse(); + if cli.dangerously_skip_permissions { + unsafe { + env::set_var("AUTO_CONFIRM", "true"); + } + } + if let Some(shell) = cli.completions { let mut cmd = Cli::command(); shell.generate_completions(&mut cmd);