fix: bump CLI versions — codex 0.121.0, gemini 0.38.1, copilot 1.0.30, cursor 2026.04.15#412
Conversation
- @openai/codex: 0.120.0 → 0.121.0 (no CLI-specific regressions) - @google/gemini-cli: 0.37.2 → 0.38.1 (clean, no open bugs) - @github/copilot: 1.0.25 → 1.0.30 (no public issue tracker, low risk) NOT updated (intentionally): - kiro-cli: stays at 2.0.0 (already latest) - @anthropic-ai/claude-code: stays at 2.1.104 (2.1.112 has ENOENT race condition on parallel sessions — anthropics/claude-code#49512, labeled regression on Linux; 2.1.111 has model preference bug anthropics/claude-code#49503)
|
All PRs must reference a prior Discord discussion to ensure community alignment before implementation. Please edit the PR description to include a link like: This PR will be automatically closed in 3 days if the link is not added. |
Version sourced from official install script (curl https://cursor.com/install). opencode-ai already at latest (1.4.6), no change needed.
masami-agent
left a comment
There was a problem hiding this comment.
PR Review: #412
Summary
- Problem: Pinned CLI versions in Dockerfiles are outdated; routine maintenance bump.
- Approach: Bump 4 CLIs to latest stable after investigating upstream bug trackers. Intentionally skip claude-code due to active regressions.
- Risk level: Low (version bumps only, no logic changes)
Core Assessment
- Problem clearly stated: ✅ (clear table of what changed and why)
- Approach appropriate: ✅ (investigated upstream issues before bumping — this is the right way to do version maintenance)
- Alternatives considered: ✅ (explicitly documented why claude-code was NOT updated, with specific issue references)
- Best approach for now: ✅
Findings
Version bumps verified against main:
| Dockerfile | CLI | main | PR | ✅ |
|---|---|---|---|---|
Dockerfile.codex |
@openai/codex |
0.120.0 | 0.121.0 | ✅ |
Dockerfile.gemini |
@google/gemini-cli |
0.37.2 | 0.38.1 | ✅ |
Dockerfile.copilot |
@github/copilot |
1.0.25 | 1.0.30 | ✅ |
Dockerfile.cursor |
Cursor Agent CLI | 2026.04.14-ee4b43a | 2026.04.15-dccdccd | ✅ |
claude-code skip rationale — well-researched:
- #49512 (2.1.112): ENOENT race on parallel sessions — directly impacts openab containers ✅ correct to skip
- #49503 (2.1.111): model preference silently ignored
- #47648 (2.1.105+): auth paste broken on Linux (triggered PR #333 revert)
Staying on 2.1.104 is the right call.
Branch status: up to date with main ✅ (0 commits behind)
Review Summary
🔴 Blockers
- None
💬 Questions
- None
🔧 Suggested Changes
- Missing Discord Discussion URL — the bot has flagged this with
closing-soonlabel. Please add a Discord discussion link to the PR body to prevent auto-close.
ℹ️ Info
- Diff is minimal (+4/-4), one line per Dockerfile — easy to verify and low risk.
- Commit messages follow Conventional Commits ✅
- The PR description includes verification commands (
npm view,curl) — helpful for future maintainers doing the same task. - References #326 (original version pinning PR) and #333 (claude-code revert) for context.
⚪ Nits
- Commit type is
fix:— arguablychore:orbuild:would be more accurate for routine version bumps, but this is cosmetic and not worth a force-push.
Verdict
APPROVE — clean, well-researched version bump. Only action needed: add Discord Discussion URL to avoid auto-close.
obrutjack
left a comment
There was a problem hiding this comment.
Merge checklist verified:
- ✅ CI all green (cargo check + 7 Docker smoke tests)
- ✅ Branch up to date with main
- ✅ No Cargo.toml / Chart.yaml changes
- ✅ claude-code intentionally skipped (upstream regressions)
- ✅ masami-agent reviewed, no blockers
Routine version maintenance, all smoke tests pass. Pending @thepagent.
Before this change, `openab-claude:0.7.8-beta.7` ships: - claude-agent-acp@0.25.0 — hardcoded model list, no Opus 4.7 - claude-code@2.1.104 — knows up to Opus 4.6 only - ENV CLAUDE_CODE_EXECUTABLE=/usr/local/bin/claude (openabdev#447) With openabdev#447 making the pinned claude-code binary load-bearing, neither the adapter's availableModels nor the CLI's model resolver knows about Opus 4.7 — users get Sonnet 4.6 regardless of ANTHROPIC_MODEL=opus. This PR: - introduces `CLAUDE_AGENT_ACP_VERSION` ARG (pattern parity with `CLAUDE_CODE_VERSION` from openabdev#326/openabdev#412) - bumps adapter 0.25.0 → 0.29.2 (brings claude-agent-sdk 0.2.111+ whose availableModels includes Opus 4.7) - bumps claude-code 2.1.104 → 2.1.114 anthropics/claude-code#49512 (parallel-mkdir ENOENT race) was filed against 2.1.112 and is still OPEN but has zero comments. Inspection of the 2.1.114 install shows the CLI moved to a per-platform native binary (openabdev#2.1.113) and session state relocated from `/tmp/claude-<uid>/…/tasks/` to `$HOME/.claude/{projects,tasks}/`, so the vulnerable filesystem layout no longer exists — binary-grep for `/home-//tasks` returns 0 matches. 50 parallel `claude -p` calls as the same user (40ms stagger) produced 0/50 errors, 0 bytes stderr, and no `/tmp/claude-*` directories. Refs openabdev#326, openabdev#412, openabdev#418, openabdev#447 Closes nothing explicitly (no issue filed; repro + rationale in body). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Summary
Bump pinned CLI versions in Dockerfiles after investigating latest releases and upstream bug trackers.
Changes
Dockerfile.codex@openai/codexDockerfile.gemini@google/gemini-clibuglabelDockerfile.copilot@github/copilotDockerfile.cursorNOT updated (intentionally)
Dockerfilekiro-cliDockerfile.claude@anthropic-ai/claude-codeDockerfile.opencodeopencode-aiclaude-code risk assessment
mkdirof per-session tasks dir when running parallel sessions — labeledregression+platform:linux. Directly impacts openab which runs containers with concurrent sessions.settings.jsonmodel preference silently ignored — sessions default to Opus 4.7 instead of pinned model.Recommendation: stay on 2.1.104 until upstream resolves the parallel session race condition.
How to verify
Ref: #326, #333