From 0514d25f2b2b11b944cc4bb5dee8ce981566f4fd Mon Sep 17 00:00:00 2001 From: Bruno Bornsztein Date: Fri, 20 Feb 2026 18:33:30 -0600 Subject: [PATCH] Remove hardcoded --chrome flag from Claude executor The --chrome flag should not be enabled by default. Users who want it can alias their claude command or set it up in their shell config. Co-Authored-By: Claude Opus 4.6 --- internal/executor/claude_executor.go | 8 ++++---- internal/executor/executor.go | 10 +++++----- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/internal/executor/claude_executor.go b/internal/executor/claude_executor.go index 78233630..adbe484a 100644 --- a/internal/executor/claude_executor.go +++ b/internal/executor/claude_executor.go @@ -99,7 +99,7 @@ func (c *ClaudeExecutor) BuildCommand(task *db.Task, sessionID, prompt string) s // Build command - resume if we have a session ID, otherwise start fresh if sessionID != "" { - cmd := fmt.Sprintf(`WORKTREE_TASK_ID=%d WORKTREE_SESSION_ID=%s WORKTREE_PORT=%d WORKTREE_PATH=%q claude %s%s--chrome --resume %s`, + cmd := fmt.Sprintf(`WORKTREE_TASK_ID=%d WORKTREE_SESSION_ID=%s WORKTREE_PORT=%d WORKTREE_PATH=%q claude %s%s--resume %s`, task.ID, worktreeSessionID, task.Port, task.WorktreePath, dangerousFlag, systemPromptFlag, sessionID) if systemFile != nil { cmd += fmt.Sprintf(`; rm -f %q`, systemFile.Name()) @@ -113,7 +113,7 @@ func (c *ClaudeExecutor) BuildCommand(task *db.Task, sessionID, prompt string) s promptFile, err := os.CreateTemp("", "task-prompt-*.txt") if err != nil { c.logger.Error("BuildCommand: failed to create temp file", "error", err) - cmd := fmt.Sprintf(`WORKTREE_TASK_ID=%d WORKTREE_SESSION_ID=%s WORKTREE_PORT=%d WORKTREE_PATH=%q claude %s%s--chrome`, + cmd := fmt.Sprintf(`WORKTREE_TASK_ID=%d WORKTREE_SESSION_ID=%s WORKTREE_PORT=%d WORKTREE_PATH=%q claude %s%s`, task.ID, worktreeSessionID, task.Port, task.WorktreePath, dangerousFlag, systemPromptFlag) if systemFile != nil { cmd += fmt.Sprintf(`; rm -f %q`, systemFile.Name()) @@ -123,7 +123,7 @@ func (c *ClaudeExecutor) BuildCommand(task *db.Task, sessionID, prompt string) s promptFile.WriteString(prompt) promptFile.Close() - cmd := fmt.Sprintf(`WORKTREE_TASK_ID=%d WORKTREE_SESSION_ID=%s WORKTREE_PORT=%d WORKTREE_PATH=%q claude %s%s--chrome "$(cat %q)"; rm -f %q`, + cmd := fmt.Sprintf(`WORKTREE_TASK_ID=%d WORKTREE_SESSION_ID=%s WORKTREE_PORT=%d WORKTREE_PATH=%q claude %s%s"$(cat %q)"; rm -f %q`, task.ID, worktreeSessionID, task.Port, task.WorktreePath, dangerousFlag, systemPromptFlag, promptFile.Name(), promptFile.Name()) if systemFile != nil { cmd += fmt.Sprintf(` %q`, systemFile.Name()) @@ -131,7 +131,7 @@ func (c *ClaudeExecutor) BuildCommand(task *db.Task, sessionID, prompt string) s return cmd } - cmd := fmt.Sprintf(`WORKTREE_TASK_ID=%d WORKTREE_SESSION_ID=%s WORKTREE_PORT=%d WORKTREE_PATH=%q claude %s%s--chrome`, + cmd := fmt.Sprintf(`WORKTREE_TASK_ID=%d WORKTREE_SESSION_ID=%s WORKTREE_PORT=%d WORKTREE_PATH=%q claude %s%s`, task.ID, worktreeSessionID, task.Port, task.WorktreePath, dangerousFlag, systemPromptFlag) if systemFile != nil { cmd += fmt.Sprintf(`; rm -f %q`, systemFile.Name()) diff --git a/internal/executor/executor.go b/internal/executor/executor.go index 6de87d1b..b30c9896 100644 --- a/internal/executor/executor.go +++ b/internal/executor/executor.go @@ -2192,7 +2192,7 @@ func (e *Executor) runClaude(ctx context.Context, task *db.Task, workDir, prompt envPrefix := claudeEnvPrefix(paths.configDir) if existingSessionID != "" && ClaudeSessionExists(existingSessionID, workDir, paths.configDir) { e.logLine(task.ID, "system", fmt.Sprintf("Resuming existing session %s", existingSessionID)) - script = fmt.Sprintf(`WORKTREE_TASK_ID=%d WORKTREE_SESSION_ID=%s WORKTREE_PORT=%d WORKTREE_PATH=%q %sclaude %s%s--chrome --resume %s "$(cat %q)"`, + script = fmt.Sprintf(`WORKTREE_TASK_ID=%d WORKTREE_SESSION_ID=%s WORKTREE_PORT=%d WORKTREE_PATH=%q %sclaude %s%s--resume %s "$(cat %q)"`, task.ID, sessionID, task.Port, task.WorktreePath, envPrefix, dangerousFlag, systemPromptFlag, existingSessionID, promptFile.Name()) } else { if existingSessionID != "" { @@ -2202,7 +2202,7 @@ func (e *Executor) runClaude(ctx context.Context, task *db.Task, workDir, prompt e.logger.Warn("failed to clear stale session ID", "task", task.ID, "error", err) } } - script = fmt.Sprintf(`WORKTREE_TASK_ID=%d WORKTREE_SESSION_ID=%s WORKTREE_PORT=%d WORKTREE_PATH=%q %sclaude %s%s--chrome "$(cat %q)"`, + script = fmt.Sprintf(`WORKTREE_TASK_ID=%d WORKTREE_SESSION_ID=%s WORKTREE_PORT=%d WORKTREE_PATH=%q %sclaude %s%s"$(cat %q)"`, task.ID, sessionID, task.Port, task.WorktreePath, envPrefix, dangerousFlag, systemPromptFlag, promptFile.Name()) } @@ -2359,7 +2359,7 @@ func (e *Executor) runClaudeResume(ctx context.Context, task *db.Task, workDir, systemPromptFlag := fmt.Sprintf(`--append-system-prompt "$(cat %q)" `, systemFile.Name()) envPrefix := claudeEnvPrefix(paths.configDir) - script := fmt.Sprintf(`WORKTREE_TASK_ID=%d WORKTREE_SESSION_ID=%s WORKTREE_PORT=%d WORKTREE_PATH=%q %sclaude %s%s--chrome --resume %s "$(cat %q)"`, + script := fmt.Sprintf(`WORKTREE_TASK_ID=%d WORKTREE_SESSION_ID=%s WORKTREE_PORT=%d WORKTREE_PATH=%q %sclaude %s%s--resume %s "$(cat %q)"`, task.ID, taskSessionID, task.Port, task.WorktreePath, envPrefix, dangerousFlag, systemPromptFlag, claudeSessionID, feedbackFile.Name()) // Create new window in task-daemon session (with retry logic for race conditions) @@ -2516,7 +2516,7 @@ func (e *Executor) resumeClaudeDangerous(task *db.Task, workDir string) bool { // Force dangerous mode regardless of WORKTREE_DANGEROUS_MODE setting envPrefix := claudeEnvPrefix(paths.configDir) - script := fmt.Sprintf(`WORKTREE_TASK_ID=%d WORKTREE_SESSION_ID=%s WORKTREE_PORT=%d WORKTREE_PATH=%q %sclaude --dangerously-skip-permissions --chrome --resume %s`, + script := fmt.Sprintf(`WORKTREE_TASK_ID=%d WORKTREE_SESSION_ID=%s WORKTREE_PORT=%d WORKTREE_PATH=%q %sclaude --dangerously-skip-permissions --resume %s`, taskID, taskSessionID, task.Port, task.WorktreePath, envPrefix, claudeSessionID) // Create new window in task-daemon session (with retry logic for race conditions) @@ -2681,7 +2681,7 @@ func (e *Executor) resumeClaudeSafe(task *db.Task, workDir string) bool { // Resume without --dangerously-skip-permissions (safe mode) envPrefix := claudeEnvPrefix(paths.configDir) - script := fmt.Sprintf(`WORKTREE_TASK_ID=%d WORKTREE_SESSION_ID=%s WORKTREE_PORT=%d WORKTREE_PATH=%q %sclaude --chrome --resume %s`, + script := fmt.Sprintf(`WORKTREE_TASK_ID=%d WORKTREE_SESSION_ID=%s WORKTREE_PORT=%d WORKTREE_PATH=%q %sclaude --resume %s`, taskID, taskSessionID, task.Port, task.WorktreePath, envPrefix, claudeSessionID) // Create new window in task-daemon session (with retry logic for race conditions)