From 251b22500cad5aa5c3564d7af8dba7e6126d66bf Mon Sep 17 00:00:00 2001 From: shokollm <270575765+shokollm@users.noreply.github.com> Date: Tue, 31 Mar 2026 21:29:37 +0000 Subject: [PATCH] fix: opencode message argument must come before flags opencode CLI requires: opencode run "message" --session sid --workdir /path But kugetsu was placing message AFTER flags, causing all commands to fail. Fixed in: - cmd_delegate: nohup sh -c with message first - cmd_start: --fork --session with message first - fork_session_for_issue: --continue --session with message first Closes #53 --- skills/kugetsu/scripts/kugetsu | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/skills/kugetsu/scripts/kugetsu b/skills/kugetsu/scripts/kugetsu index e071bd5..b095449 100755 --- a/skills/kugetsu/scripts/kugetsu +++ b/skills/kugetsu/scripts/kugetsu @@ -558,7 +558,7 @@ cmd_delegate() { echo "Error: Max concurrent agents ($MAX_CONCURRENT_AGENTS) reached. Try again later." >&2 exit 1 fi - nohup bash -c "source /home/shoko/.local/bin/kugetsu; opencode run --continue --session '$pm_session' '$message' >> '$log_file' 2>&1; release_agent_slot" > /dev/null 2>&1 & + nohup sh -c "opencode run '$message' --continue --session '$pm_session' >> '$log_file' 2>&1; ~/.kugetsu/release-slot.sh" > /dev/null 2>&1 & disown echo "Delegated to PM agent (logged to $(basename "$log_file"))" } @@ -859,9 +859,9 @@ cmd_start() { fi trap release_agent_slot EXIT if [ "$DEBUG_MODE" = true ]; then - opencode run --fork --session "$base_session_id" "$message" --workdir "$worktree_path" 2>&1 | tee "$SESSIONS_DIR/$session_file.debug.log" + opencode run "$message" --fork --session "$base_session_id" --workdir "$worktree_path" 2>&1 | tee "$SESSIONS_DIR/$session_file.debug.log" else - opencode run --fork --session "$base_session_id" "$message" --workdir "$worktree_path" 2>&1 + opencode run "$message" --fork --session "$base_session_id" --workdir "$worktree_path" 2>&1 fi release_agent_slot trap - EXIT @@ -941,15 +941,15 @@ cmd_continue() { if [ -n "$worktree_path" ] && [ -d "$worktree_path" ]; then echo "Using worktree: $worktree_path" if [ "$DEBUG_MODE" = true ]; then - opencode run --continue --session "$opencode_session_id" "$message" --workdir "$worktree_path" 2>&1 | tee "$session_path.debug.log" + opencode run "$message" --continue --session "$opencode_session_id" --workdir "$worktree_path" 2>&1 | tee "$session_path.debug.log" else - opencode run --continue --session "$opencode_session_id" "$message" --workdir "$worktree_path" + opencode run "$message" --continue --session "$opencode_session_id" --workdir "$worktree_path" fi else if [ "$DEBUG_MODE" = true ]; then - opencode run --continue --session "$opencode_session_id" "$message" 2>&1 | tee "$session_path.debug.log" + opencode run "$message" --continue --session "$opencode_session_id" 2>&1 | tee "$session_path.debug.log" else - opencode run --continue --session "$opencode_session_id" "$message" + opencode run "$message" --continue --session "$opencode_session_id" fi fi release_agent_slot -- 2.49.1