[PR #29] [MERGED] fix: opencode cross-tool handoff and gemini native resume #29

Closed
opened 2026-03-04 01:39:20 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/yigitkonur/cli-continues/pull/29
Author: @yigitkonur
Created: 3/2/2026
Status: Merged
Merged: 3/2/2026
Merged by: @yigitkonur

Base: mainHead: fix/opencode-handoff-gemini-resume


📝 Commits (1)

  • 8ac769a fix: opencode cross-tool handoff, gemini resume, and windows spawn safety (#22)

📊 Changes

2 files changed (+15 additions, -10 deletions)

View changed files

📝 src/parsers/registry.ts (+3 -3)
📝 src/utils/resume.ts (+12 -7)

📄 Description

fixes #22

hey @DaveW001 — tracked this down to three things:

  1. opencode handoff was passing --prompt which doesn't exist on the run subcommand. opencode uses yargs strict mode so it just shows help and exits 1. switched to positional args: opencode run <prompt>

  2. gemini native resume was using --continue but gemini cli actually uses --resume. simple flag name mismatch.

  3. windows spawn was hitting node 22's DEP0190 deprecation — passing args array with shell: true doesn't quote them, so multi-word prompts get word-split. rewrote runCommand() to build a properly quoted command string on windows and use direct spawn (no shell) on unix.

all 688 tests pass, build is clean.


Open with Devin

Review all of them with eye of John Carmack-like simplicity with elegeance approach and apply the one only if required

Greptile Summary

Fixes three handoff bugs: opencode now uses run <prompt> (positional) instead of non-existent --prompt flag, gemini uses --resume instead of --continue, and Windows spawn avoids DEP0190 by building quoted command strings. Changes are minimal and targeted.

  • Simple flag corrections in registry are correct
  • Windows quoting logic properly escapes special chars with "" and handles word-splitting
  • Unix path uses direct spawn (no shell) — clean and efficient
  • Issue: isBinaryAvailable() still uses deprecated args-with-shell pattern on Windows (inconsistent with runCommand() fix)

Confidence Score: 4/5

  • Safe to merge with one minor inconsistency
  • Fixes are correct and minimal, but isBinaryAvailable() still triggers DEP0190 on Windows — won't break anything but creates inconsistency
  • Pay attention to src/utils/resume.ts:201-209 (isBinaryAvailable function)

Important Files Changed

Filename Overview
src/parsers/registry.ts Simple flag corrections for gemini (--continue → --resume) and opencode (--prompt → positional run arg)
src/utils/resume.ts Rewrote runCommand() to fix DEP0190, but isBinaryAvailable() still uses deprecated pattern

Last reviewed commit: 2eae97b


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/yigitkonur/cli-continues/pull/29 **Author:** [@yigitkonur](https://github.com/yigitkonur) **Created:** 3/2/2026 **Status:** ✅ Merged **Merged:** 3/2/2026 **Merged by:** [@yigitkonur](https://github.com/yigitkonur) **Base:** `main` ← **Head:** `fix/opencode-handoff-gemini-resume` --- ### 📝 Commits (1) - [`8ac769a`](https://github.com/yigitkonur/cli-continues/commit/8ac769acb2cf892224011f2641cd6adbc1ce8036) fix: opencode cross-tool handoff, gemini resume, and windows spawn safety (#22) ### 📊 Changes **2 files changed** (+15 additions, -10 deletions) <details> <summary>View changed files</summary> 📝 `src/parsers/registry.ts` (+3 -3) 📝 `src/utils/resume.ts` (+12 -7) </details> ### 📄 Description fixes #22 hey @DaveW001 — tracked this down to three things: 1. **opencode handoff** was passing `--prompt` which doesn't exist on the `run` subcommand. opencode uses yargs strict mode so it just shows help and exits 1. switched to positional args: `opencode run <prompt>` 2. **gemini native resume** was using `--continue` but gemini cli actually uses `--resume`. simple flag name mismatch. 3. **windows spawn** was hitting node 22's DEP0190 deprecation — passing args array with `shell: true` doesn't quote them, so multi-word prompts get word-split. rewrote `runCommand()` to build a properly quoted command string on windows and use direct spawn (no shell) on unix. all 688 tests pass, build is clean. <!-- devin-review-badge-begin --> --- <a href="https://app.devin.ai/review/yigitkonur/cli-continues/pull/29" target="_blank"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://static.devin.ai/assets/gh-open-in-devin-review-dark.svg?v=1"> <img src="https://static.devin.ai/assets/gh-open-in-devin-review-light.svg?v=1" alt="Open with Devin"> </picture> </a> <!-- devin-review-badge-end --> <!-- greptile_comment --> # Review all of them with eye of John Carmack-like simplicity with elegeance approach and apply the one only if required <h3>Greptile Summary</h3> Fixes three handoff bugs: opencode now uses `run <prompt>` (positional) instead of non-existent `--prompt` flag, gemini uses `--resume` instead of `--continue`, and Windows spawn avoids DEP0190 by building quoted command strings. Changes are minimal and targeted. - Simple flag corrections in registry are correct - Windows quoting logic properly escapes special chars with `""` and handles word-splitting - Unix path uses direct spawn (no shell) — clean and efficient - **Issue**: `isBinaryAvailable()` still uses deprecated args-with-shell pattern on Windows (inconsistent with `runCommand()` fix) <details><summary><h3>Confidence Score: 4/5</h3></summary> - Safe to merge with one minor inconsistency - Fixes are correct and minimal, but isBinaryAvailable() still triggers DEP0190 on Windows — won't break anything but creates inconsistency - Pay attention to src/utils/resume.ts:201-209 (isBinaryAvailable function) </details> <details open><summary><h3>Important Files Changed</h3></summary> | Filename | Overview | |----------|----------| | src/parsers/registry.ts | Simple flag corrections for gemini (--continue → --resume) and opencode (--prompt → positional run arg) | | src/utils/resume.ts | Rewrote runCommand() to fix DEP0190, but isBinaryAvailable() still uses deprecated pattern | </details> </details> <sub>Last reviewed commit: 2eae97b</sub> <!-- greptile_other_comments_section --> <!-- /greptile_comment --> --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-03-04 01:39:20 +03:00
Sign in to join this conversation.
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/cli-continues#29
No description provided.