From b04f9d9bd85e3e759d145908f648c4b88b402f67 Mon Sep 17 00:00:00 2001 From: Tomas Grasl Date: Thu, 11 Jun 2026 07:56:32 +0200 Subject: [PATCH] =?UTF-8?q?release:=200.3.1=20=E2=80=94=20model=20alias=20?= =?UTF-8?q?refresh=20(Composer=202.5=20+=20Grok=204.3)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Retarget the grok alias to the live grok-4.3 id (grok-4-20 and grok-4-20-thinking are retired), add a grok-build shortcut for grok-build-0.1, drop the dead grok-thinking alias, and cut the 0.3.1 changelog section covering #8/#10. Version bumped in package.json and plugin.json. Co-Authored-By: Claude Fable 5 --- CHANGELOG.md | 3 ++- README.md | 2 +- plugins/cursor/package.json | 2 +- plugins/cursor/plugin.json | 2 +- plugins/cursor/scripts/lib/cursor.mjs | 5 +++-- plugins/cursor/tests/cursor.test.mjs | 4 +++- 6 files changed, 11 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d6296d4..348d7cf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,12 +4,13 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## Unreleased +## 0.3.1 — model alias refresh (Composer 2.5 + Grok 4.3) ### Fixed - **Model aliases updated for Composer 2.5.** Cursor retired the Composer 2.x ids — `cursor-agent --list-models` now lists only `composer-2.5` and `composer-2.5-fast` (verified on macOS, 2026-06-10). The `composer`, `composer-fast`, and `fast` shortcuts now resolve to `composer-2.5-fast` (was the dead `composer-2-fast`), and `composer-full` resolves to `composer-2.5` (was `composer-2`). The retired `composer-2` / `composer-2-fast` ids are kept as identity passthroughs so users on older `cursor-agent` builds aren't broken. README, the `cursor-runner` agent guidance, command/package descriptions, and tests updated to match. (#8) - **`cursor-runner` agent invocation corrected.** Step 6 told the subagent to run `node_modules/.bin/tsx …/plugins/cursor/scripts/delegate.ts` — stale from before the zero-deps `.mjs` rewrite: `tsx` is not a dependency, there is no `.ts` file, and the path double-counted `plugins/cursor`. It now matches the working slash command: `node "${CLAUDE_PLUGIN_ROOT}/scripts/delegate.mjs" -- …`. The `/cursor:delegate` slash command was already correct; only the subagent's documented call was broken. (#10) +- **`grok` alias retargeted to Grok 4.3.** `grok-4-20` and `grok-4-20-thinking` are also retired — `cursor-agent --list-models` now lists `grok-4.3` and `grok-build-0.1` (verified 2026-06-11). The `grok` shortcut resolves to `grok-4.3`, a new `grok-build` shortcut resolves to `grok-build-0.1`, and the `grok-thinking` alias is removed (no live thinking variant; the retired `grok-4-20` id still forwards as-is for older builds). README table and tests updated. ## 0.3.0 — /cursor:review + codebase hardening diff --git a/README.md b/README.md index aca9ba9..8455079 100644 --- a/README.md +++ b/README.md @@ -156,7 +156,7 @@ Hand a coding task to `cursor-agent -p …`. | Flag | Default | Effect | | ---------------------- | -------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `--model ` | `auto` (or `$CURSOR_PLUGIN_CC_DEFAULT_MODEL`) | Aliases → real Cursor ids: `composer`/`fast` → `composer-2.5-fast`, `composer-full` → `composer-2.5`, `sonnet` → `claude-4.6-sonnet-medium`, `opus` → `claude-opus-4-7-high`, `gpt`/`codex` → `gpt-5.3-codex`, `grok` → `grok-4-20`, `gemini` → `gemini-3.1-pro`, `auto` → `auto`. Unknown or retired ids (e.g. `composer-2`, `composer-2-fast`) are forwarded as-is. `auto` lets Cursor pick whatever model your account is entitled to — safe if you don't have a Composer seat. Run `/cursor:setup --print-models` for the live list. | +| `--model ` | `auto` (or `$CURSOR_PLUGIN_CC_DEFAULT_MODEL`) | Aliases → real Cursor ids: `composer`/`fast` → `composer-2.5-fast`, `composer-full` → `composer-2.5`, `sonnet` → `claude-4.6-sonnet-medium`, `opus` → `claude-opus-4-7-high`, `gpt`/`codex` → `gpt-5.3-codex`, `grok` → `grok-4.3`, `gemini` → `gemini-3.1-pro`, `auto` → `auto`. Unknown or retired ids (e.g. `composer-2`, `composer-2-fast`) are forwarded as-is. `auto` lets Cursor pick whatever model your account is entitled to — safe if you don't have a Composer seat. Run `/cursor:setup --print-models` for the live list. | | `--background` | off | Detach; the command returns a job id immediately. | | `--wait` | on (if not `--background`) | Block until finished. | | `--fresh` | off | Start a brand-new Cursor session (no resume). | diff --git a/plugins/cursor/package.json b/plugins/cursor/package.json index db9a4de..6d89ec3 100644 --- a/plugins/cursor/package.json +++ b/plugins/cursor/package.json @@ -1,6 +1,6 @@ { "name": "cursor-plugin-cc", - "version": "0.3.0", + "version": "0.3.1", "description": "Use Cursor CLI from Claude Code to delegate coding tasks to Composer and other Cursor models.", "type": "module", "license": "MIT", diff --git a/plugins/cursor/plugin.json b/plugins/cursor/plugin.json index 72b909c..a529fd8 100644 --- a/plugins/cursor/plugin.json +++ b/plugins/cursor/plugin.json @@ -1,6 +1,6 @@ { "name": "cursor", - "version": "0.3.0", + "version": "0.3.1", "description": "Hand off tasks from Claude Code to cursor-agent. Composer-optimised.", "author": { "name": "Tomas Grasl", diff --git a/plugins/cursor/scripts/lib/cursor.mjs b/plugins/cursor/scripts/lib/cursor.mjs index 95f047c..996beae 100644 --- a/plugins/cursor/scripts/lib/cursor.mjs +++ b/plugins/cursor/scripts/lib/cursor.mjs @@ -39,8 +39,9 @@ export const MODEL_ALIASES = { 'gpt-5.3-codex-high': 'gpt-5.3-codex-high', 'gpt-5.2-codex': 'gpt-5.2-codex', 'gpt-5.2': 'gpt-5.2', - grok: 'grok-4-20', - 'grok-thinking': 'grok-4-20-thinking', + grok: 'grok-4.3', + 'grok-4.3': 'grok-4.3', + 'grok-build': 'grok-build-0.1', gemini: 'gemini-3.1-pro', 'gemini-pro': 'gemini-3.1-pro', 'gemini-flash': 'gemini-3-flash', diff --git a/plugins/cursor/tests/cursor.test.mjs b/plugins/cursor/tests/cursor.test.mjs index 5643ddc..051c659 100644 --- a/plugins/cursor/tests/cursor.test.mjs +++ b/plugins/cursor/tests/cursor.test.mjs @@ -60,13 +60,15 @@ describe('resolveModel', () => { expect(resolveModel('sonnet')).toBe('claude-4.6-sonnet-medium'); expect(resolveModel('opus')).toBe('claude-opus-4-7-high'); expect(resolveModel('gpt')).toBe('gpt-5.3-codex'); - expect(resolveModel('grok')).toBe('grok-4-20'); + expect(resolveModel('grok')).toBe('grok-4.3'); + expect(resolveModel('grok-build')).toBe('grok-build-0.1'); expect(resolveModel('gemini')).toBe('gemini-3.1-pro'); }); it('keeps retired Composer ids as passthrough for older cursor-agent builds', () => { expect(resolveModel('composer-2')).toBe('composer-2'); expect(resolveModel('composer-2-fast')).toBe('composer-2-fast'); + expect(resolveModel('grok-4-20')).toBe('grok-4-20'); }); it('defaults to auto when empty (no env override)', () => {