@@ -477,6 +477,7 @@ Examples:
477477 project , _ := cmd .Flags ().GetString ("project" )
478478 taskExecutor , _ := cmd .Flags ().GetString ("executor" )
479479 execute , _ := cmd .Flags ().GetBool ("execute" )
480+ createDangerous , _ := cmd .Flags ().GetBool ("dangerous" )
480481 tags , _ := cmd .Flags ().GetString ("tags" )
481482 pinned , _ := cmd .Flags ().GetBool ("pinned" )
482483 branch , _ := cmd .Flags ().GetString ("branch" )
@@ -582,15 +583,16 @@ Examples:
582583
583584 // Create the task
584585 task := & db.Task {
585- Title : title ,
586- Body : body ,
587- Status : status ,
588- Type : taskType ,
589- Project : project ,
590- Executor : taskExecutor ,
591- Tags : tags ,
592- Pinned : pinned ,
593- SourceBranch : branch ,
586+ Title : title ,
587+ Body : body ,
588+ Status : status ,
589+ Type : taskType ,
590+ Project : project ,
591+ Executor : taskExecutor ,
592+ Tags : tags ,
593+ Pinned : pinned ,
594+ SourceBranch : branch ,
595+ DangerousMode : createDangerous && execute ,
594596 }
595597
596598 if err := database .CreateTask (task ); err != nil {
@@ -618,7 +620,11 @@ Examples:
618620 msg += fmt .Sprintf (" (branch: %s)" , branch )
619621 }
620622 if execute {
621- msg += " (queued for execution)"
623+ if createDangerous {
624+ msg += " (queued for execution in dangerous mode)"
625+ } else {
626+ msg += " (queued for execution)"
627+ }
622628 }
623629 fmt .Println (successStyle .Render (msg ))
624630 }
@@ -629,6 +635,7 @@ Examples:
629635 createCmd .Flags ().StringP ("project" , "p" , "" , "Project name (auto-detected from cwd if not specified)" )
630636 createCmd .Flags ().StringP ("executor" , "e" , "" , "Task executor: claude, codex, gemini, pi, opencode, openclaw (default: claude)" )
631637 createCmd .Flags ().BoolP ("execute" , "x" , false , "Queue task for immediate execution" )
638+ createCmd .Flags ().Bool ("dangerous" , false , "Execute in dangerous mode (requires --execute)" )
632639 createCmd .Flags ().String ("tags" , "" , "Task tags (comma-separated)" )
633640 createCmd .Flags ().Bool ("pinned" , false , "Pin the task to the top of its column" )
634641 createCmd .Flags ().StringP ("branch" , "b" , "" , "Existing branch to checkout for worktree (e.g., fix/ui-overflow)" )
@@ -1344,6 +1351,7 @@ Examples:
13441351
13451352 oldProject := task .Project
13461353 execute , _ := cmd .Flags ().GetBool ("execute" )
1354+ moveDangerous , _ := cmd .Flags ().GetBool ("dangerous" )
13471355
13481356 // Confirm unless --force flag is set
13491357 force , _ := cmd .Flags ().GetBool ("force" )
@@ -1369,16 +1377,27 @@ Examples:
13691377
13701378 // Queue for execution if requested
13711379 if execute {
1380+ if moveDangerous {
1381+ if err := database .UpdateTaskDangerousMode (newTaskID , true ); err != nil {
1382+ fmt .Fprintln (os .Stderr , errorStyle .Render ("Error setting dangerous mode: " + err .Error ()))
1383+ os .Exit (1 )
1384+ }
1385+ }
13721386 if err := database .UpdateTaskStatus (newTaskID , db .StatusQueued ); err != nil {
13731387 fmt .Fprintln (os .Stderr , errorStyle .Render ("Error queueing task: " + err .Error ()))
13741388 os .Exit (1 )
13751389 }
1376- fmt .Println (successStyle .Render (fmt .Sprintf ("Queued task #%d for execution" , newTaskID )))
1390+ msg := fmt .Sprintf ("Queued task #%d for execution" , newTaskID )
1391+ if moveDangerous {
1392+ msg += " (dangerous mode)"
1393+ }
1394+ fmt .Println (successStyle .Render (msg ))
13771395 }
13781396 },
13791397 }
13801398 moveCmd .Flags ().BoolP ("force" , "f" , false , "Skip confirmation prompt" )
13811399 moveCmd .Flags ().BoolP ("execute" , "e" , false , "Queue the task for execution after moving" )
1400+ moveCmd .Flags ().Bool ("dangerous" , false , "Execute in dangerous mode (requires --execute)" )
13821401 rootCmd .AddCommand (moveCmd )
13831402
13841403 // Execute subcommand - queue a task for execution
@@ -1391,7 +1410,8 @@ Examples:
13911410Examples:
13921411 task execute 42
13931412 task queue 42
1394- task run 42` ,
1413+ task run 42
1414+ task execute 42 --dangerous # Execute in dangerous mode` ,
13951415 Args : cobra .ExactArgs (1 ),
13961416 Run : func (cmd * cobra.Command , args []string ) {
13971417 var taskID int64
@@ -1400,6 +1420,8 @@ Examples:
14001420 os .Exit (1 )
14011421 }
14021422
1423+ executeDangerous , _ := cmd .Flags ().GetBool ("dangerous" )
1424+
14031425 // Open database
14041426 dbPath := db .DefaultPath ()
14051427 database , err := db .Open (dbPath )
@@ -1429,14 +1451,27 @@ Examples:
14291451 return
14301452 }
14311453
1454+ // Set dangerous mode if requested
1455+ if executeDangerous {
1456+ if err := database .UpdateTaskDangerousMode (taskID , true ); err != nil {
1457+ fmt .Fprintln (os .Stderr , errorStyle .Render ("Error setting dangerous mode: " + err .Error ()))
1458+ os .Exit (1 )
1459+ }
1460+ }
1461+
14321462 if err := database .UpdateTaskStatus (taskID , db .StatusQueued ); err != nil {
14331463 fmt .Fprintln (os .Stderr , errorStyle .Render ("Error: " + err .Error ()))
14341464 os .Exit (1 )
14351465 }
14361466
1437- fmt .Println (successStyle .Render (fmt .Sprintf ("Queued task #%d: %s" , taskID , task .Title )))
1467+ msg := fmt .Sprintf ("Queued task #%d: %s" , taskID , task .Title )
1468+ if executeDangerous {
1469+ msg += " (dangerous mode)"
1470+ }
1471+ fmt .Println (successStyle .Render (msg ))
14381472 },
14391473 }
1474+ executeCmd .Flags ().Bool ("dangerous" , false , "Execute in dangerous mode (skip permission prompts)" )
14401475 rootCmd .AddCommand (executeCmd )
14411476
14421477 statusCmd := & cobra.Command {
0 commit comments