From 4342347ac63d82b502e9503e52fa3c5b042b994c Mon Sep 17 00:00:00 2001 From: shokollm <270575765+shokollm@users.noreply.github.com> Date: Thu, 2 Apr 2026 13:28:47 +0000 Subject: [PATCH] fix(kugetsu): destroy --base and --pm-agent actually delete opencode sessions Previously destroy only removed local session files but didn't delete the sessions from opencode's database. This caused init to reuse the same session with old context. Now destroy calls 'opencode session delete ' to properly remove the session from opencode. --- skills/kugetsu/scripts/kugetsu | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/skills/kugetsu/scripts/kugetsu b/skills/kugetsu/scripts/kugetsu index a7c02ec..dfe422d 100755 --- a/skills/kugetsu/scripts/kugetsu +++ b/skills/kugetsu/scripts/kugetsu @@ -1548,6 +1548,7 @@ cmd_destroy() { if [ "$target" = "base" ]; then if [ "$force" = true ]; then + local base_session_id=$(get_base_session_id) rm -f "$SESSIONS_DIR/base.json" local pm_agent=$(get_pm_agent_session_id) if [ -n "$pm_agent" ] && [ "$pm_agent" != "null" ]; then @@ -1556,6 +1557,10 @@ cmd_destroy() { else echo '{"base": null, "pm_agent": null, "issues": {}}' > "$INDEX_FILE" fi + if [ -n "$base_session_id" ] && [ "$base_session_id" != "null" ]; then + echo "Deleting opencode session: $base_session_id" + opencode session delete "$base_session_id" 2>/dev/null || echo "Warning: Could not delete session from opencode (may already be deleted)" + fi echo "Base session destroyed" else echo "Error: destroying base session requires --base -y" >&2 @@ -1566,6 +1571,7 @@ cmd_destroy() { if [ "$target" = "pm-agent" ]; then if [ "$force" = true ]; then + local pm_session_id=$(get_pm_agent_session_id) rm -f "$SESSIONS_DIR/pm-agent.json" local base=$(get_base_session_id) if [ -n "$base" ] && [ "$base" != "null" ]; then @@ -1573,6 +1579,10 @@ cmd_destroy() { else write_index "null" "null" "{}" fi + if [ -n "$pm_session_id" ] && [ "$pm_session_id" != "null" ]; then + echo "Deleting opencode session: $pm_session_id" + opencode session delete "$pm_session_id" 2>/dev/null || echo "Warning: Could not delete session from opencode (may already be deleted)" + fi echo "PM agent session destroyed" else echo "Error: destroying pm-agent session requires --pm-agent -y" >&2 -- 2.49.1