Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -156,7 +156,7 @@ Hand a coding task to `cursor-agent -p …`.

| Flag | Default | Effect |
| ---------------------- | -------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `--model <id>` | `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 <id>` | `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). |
Expand Down
2 changes: 1 addition & 1 deletion plugins/cursor/package.json
Original file line number Diff line number Diff line change
@@ -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",
Expand Down
2 changes: 1 addition & 1 deletion plugins/cursor/plugin.json
Original file line number Diff line number Diff line change
@@ -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",
Expand Down
5 changes: 3 additions & 2 deletions plugins/cursor/scripts/lib/cursor.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -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',
Expand Down
4 changes: 3 additions & 1 deletion plugins/cursor/tests/cursor.test.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -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)', () => {
Expand Down
Loading