summaryrefslogtreecommitdiff
path: root/internal/askcli/taskexec.go
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2026-03-23 22:41:39 +0200
committerPaul Buetow <paul@buetow.org>2026-03-23 22:41:39 +0200
commit5beb39a3338e83c9a5906d2e5f7acb3bf795811d (patch)
tree0777ad808aa9e8dd5ae9b3a6c149a2b8eac579d7 /internal/askcli/taskexec.go
parentb18ee2f6b6e0cb7164a7bbbc8efbb4c75cffade6 (diff)
fix: prevent ask add from swallowing tags into descriptions, add rc.confirmation=offv0.25.11
parseAddArgs now rejects args that start with '+'/'-' but contain spaces as modifiers — those are description text, not tags (tags cannot have spaces). This prevents agents from quoting tag+description together and having the tag silently land in the task description with no tag applied. Also removed the fallthrough that duplicated all-modifier args as description. Added rc.confirmation=off to every taskwarrior invocation so that write operations (done, delete, start, etc.) succeed non-interactively when stdin is unavailable (as is always the case when called from an agent). Bump version to v0.25.11. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Diffstat (limited to 'internal/askcli/taskexec.go')
-rw-r--r--internal/askcli/taskexec.go4
1 files changed, 3 insertions, 1 deletions
diff --git a/internal/askcli/taskexec.go b/internal/askcli/taskexec.go
index 9c9aa69..0553070 100644
--- a/internal/askcli/taskexec.go
+++ b/internal/askcli/taskexec.go
@@ -37,7 +37,9 @@ func (e Executor) taskArgs(repoRoot string, args []string) ([]string, error) {
if err != nil {
return nil, err
}
- return append([]string{"project:" + projectName, "+agent"}, args...), nil
+ // rc.confirmation=off suppresses interactive prompts so the CLI works
+ // non-interactively (stdin is never available when called from an agent).
+ return append([]string{"rc.confirmation=off", "project:" + projectName, "+agent"}, args...), nil
}
func (e Executor) Run(ctx context.Context, args []string, stdin io.Reader, stdout, stderr io.Writer) (int, error) {