agent-policy-kit 0.4.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/AGENT_INSTALL.md CHANGED
@@ -20,7 +20,7 @@ Obey these rules in every step:
20
20
  In the steps below, `agent-policy` means the pinned command for the requested release:
21
21
 
22
22
  ```sh
23
- npx --yes --ignore-scripts --package agent-policy-kit@0.4.0 agent-policy
23
+ npx --yes --ignore-scripts --package agent-policy-kit@0.5.0 agent-policy
24
24
  ```
25
25
 
26
26
  ## Step 1: Select the release
@@ -30,7 +30,7 @@ The package version is the configuration release. Use the version that the owner
30
30
  1. Read the release notes:
31
31
 
32
32
  ```sh
33
- npx --yes --ignore-scripts --package agent-policy-kit@0.4.0 agent-policy release --json
33
+ npx --yes --ignore-scripts --package agent-policy-kit@0.5.0 agent-policy release --json
34
34
  ```
35
35
 
36
36
  2. Read the entry for this version in [CHANGELOG.md](CHANGELOG.md): what changed, why, and the migration limits.
@@ -41,7 +41,7 @@ The package version is the configuration release. Use the version that the owner
41
41
  For several commands, you can install the package into a temporary or user-owned prefix:
42
42
 
43
43
  ```sh
44
- npm install --prefix PREFIX agent-policy-kit@0.4.0 --ignore-scripts --no-audit --no-fund
44
+ npm install --prefix PREFIX agent-policy-kit@0.5.0 --ignore-scripts --no-audit --no-fund
45
45
  ```
46
46
 
47
47
  Then run `PREFIX/node_modules/.bin/agent-policy`. If the owner gives you a verified local `.tgz` file of a version that is not on npm, install that file in the same way. You need no sudo, no fixed prefix and no shell profile change.
@@ -51,7 +51,7 @@ More: [updates and removal](docs/guide/updates-and-removal.md), [presets](docs/r
51
51
  ## Step 2: Detect
52
52
 
53
53
  ```sh
54
- npx --yes --ignore-scripts --package agent-policy-kit@0.4.0 agent-policy detect --json
54
+ npx --yes --ignore-scripts --package agent-policy-kit@0.5.0 agent-policy detect --json
55
55
  ```
56
56
 
57
57
  1. Read the status of each assistant: `detected`, `not_found`, `invalid` or `timeout`.
@@ -112,7 +112,7 @@ APK updates owned files in a transaction for each client, without a removal gap.
112
112
  1. Run `doctor`:
113
113
 
114
114
  ```sh
115
- npx --yes --ignore-scripts --package agent-policy-kit@0.4.0 agent-policy doctor --json
115
+ npx --yes --ignore-scripts --package agent-policy-kit@0.5.0 agent-policy doctor --json
116
116
  ```
117
117
 
118
118
  Each client reports its saved release, source and preset from its receipt, independent of the version that runs `doctor`. `verified` means that the owned files match the receipt.
@@ -120,7 +120,7 @@ APK updates owned files in a transaction for each client, without a removal gap.
120
120
  2. Run `show` to read the current user-level subagent settings, including manual edits:
121
121
 
122
122
  ```sh
123
- npx --yes --ignore-scripts --package agent-policy-kit@0.4.0 agent-policy show --json
123
+ npx --yes --ignore-scripts --package agent-policy-kit@0.5.0 agent-policy show --json
124
124
  ```
125
125
 
126
126
  `show` does not resolve project, managed or session settings. It exits with code 3 when a client needs attention, and it keeps the results of the other clients.
@@ -134,7 +134,7 @@ A verified configuration does not prove that a model runs. After verification, y
134
134
  1. Plan the removal:
135
135
 
136
136
  ```sh
137
- npx --yes --ignore-scripts --package agent-policy-kit@0.4.0 agent-policy uninstall --json
137
+ npx --yes --ignore-scripts --package agent-policy-kit@0.5.0 agent-policy uninstall --json
138
138
  ```
139
139
 
140
140
  2. Review the plan.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,39 @@
2
2
 
3
3
  Each npm version is one configuration release: its presets, native role definitions, instructions and configuration page. Published versions are not rewritten. Applying another release is explicit; package installation alone changes no settings.
4
4
 
5
+ ## 0.5.0 — 2026-11-01
6
+
7
+ ### Why this release
8
+
9
+ Three follow-ups from the 2026-11-01 model review needed released configuration changes. Primary Anthropic data showed that Sonnet 5.5 at medium is too weak for the Standard Coder (#29). Grok Build turned out to accept a reasoning effort per role, and APK described its Grok effort behavior wrongly (#27). Claude 4.5 models approach retirement, and the `sonnet` alias still points at Sonnet 4.5 on some providers (#28). The release also makes undo visible, so people can apply a setup without fear, and keeps the share link short until a setup is complete.
10
+
11
+ ### Who should update
12
+
13
+ - Anyone who uses the Standard preset with Claude.
14
+ - Anyone who uses Grok Build and wants a different effort per role.
15
+ - Everyone else can update for the clearer undo guidance and the corrected Grok and Claude information. Light and Top-tier values do not change.
16
+
17
+ ### Migration and rollback
18
+
19
+ Assistant IDs, preset ids, share-link format v2 and receipt format v4 are unchanged. Setup with 0.5.0 replaces a 0.4.0 installation in place, and setup with 0.4.0 moves back in place, for ChatGPT, Claude, Gemini and Grok. A Grok role effort written by 0.5.0 is removed when 0.4.0 writes its role files. Kimi was not checked with a provisioned model pool. The Claude boundary to 0.3.0 and earlier from 0.4.0 still applies to receipts from 0.5.0: see the [migration boundaries](docs/guide/updates-and-removal.md#migration-boundaries).
20
+
21
+ ### Presets and model catalog
22
+
23
+ - **Standard, Claude:** the Coder uses Sonnet 5.5 at high instead of medium (#29). Anthropic's per-effort data puts Sonnet 5.5 at medium 8.6 to 14.2 points below high on Terminal-Bench 4.0, FrontierCode and CursorBench, and Opus 5.5 at medium costs more per solved task on every measurement. Claude subagents without a named role in Standard also move from medium to high, so they use more of the plan. Reviewer and Test writer keep Sonnet 5.5 at high.
24
+ - **Grok:** Grok 4.7 lists the native levels low, medium, high and xhigh, with high as its default. Grok 4.6, Grok 4.5 and Grok Build 0.1 offer no effort. Grok presets keep the native default, and there is still no Grok top choice (#27).
25
+ - **Claude lifecycle:** Sonnet 4.5 is labelled "Sonnet 4.5 (retires 2026-11-30)" and records its deprecation date, its replacement and the partner schedules: Bedrock Legacy with end of life 2027-04-08, and no date on Google managed. Opus 4.5 and Haiku 4.5 stay active as legacy models without a deprecation notice (#28). The catalog review date is 2026-11-02.
26
+
27
+ Configuration checks are not model-quality evaluations.
28
+
29
+ ### What changed
30
+
31
+ - Grok: each role can pin a reasoning effort. Setup writes `effort: <level>` in `~/.grok/agents/apk-<role>.md`; a role without an effort gets no line. `--grok` accepts `role=model:effort` and `role=model:native`; `role=model` still means the native default and produces the same files as before. The configurator offers effort buttons for Grok 4.7 and custom model IDs, share links keep a Grok effort, and `agent-policy show` reports the effort of each Grok agent.
32
+ - Fixed: APK no longer says that Grok subagents use the main session effort. APK pins each role's model, so a role without an effort runs at that model's default (Grok 4.7: high). The setup warning `grok-per-role-effort-unsupported` is replaced by `grok-effort-model-dependent`.
33
+ - The README and step 4 of the configurator show how to undo a setup: the uninstall command pinned to the release, with a copy button. Removal restores the settings you had before APK and keeps your unrelated edits.
34
+ - The configurator puts a `#setup=` share link in the address only when steps 1–3 are complete. Opening the page, Reset form, or a change that leaves a step incomplete removes the link. Existing links, including links to unfinished forms, still open as before.
35
+ - Docs: the AI assistants reference shows which 4.5 models the Claude `sonnet`, `haiku` and `default` aliases resolve to on Bedrock, Google Agent Platform, Microsoft Foundry and Claude Platform on AWS, and tells Foundry users to pin a newer Sonnet before 2026-11-30. The model review cites primary sources for the Opus 5.5 and Sonnet 5.5 equal-effort numbers and records the Standard Claude Coder decision.
36
+ - Docs: Grok Build ignores the `permission_mode` field that APK writes for read-only roles, so the Grok Reviewer and Code explorer are not read-only yet (#30).
37
+
5
38
  ## 0.4.0 — 2026-11-01
6
39
 
7
40
  ### Why this release
package/README.md CHANGED
@@ -17,12 +17,22 @@ Created and maintained by [Mykola Maksymenko](https://www.linkedin.com/in/nick-m
17
17
 
18
18
  [Getting started](docs/guide/getting-started.md) shows the full path, from the configurator to removal.
19
19
 
20
+ ## Undo
21
+
22
+ One command removes the APK settings. It restores the settings that you had before APK and keeps your unrelated edits:
23
+
24
+ ```sh
25
+ npx --yes --ignore-scripts --package agent-policy-kit@0.5.0 agent-policy uninstall --apply
26
+ ```
27
+
28
+ To preview the removal first, run the command without `--apply`. Removal uses the receipts in `~/.agent-policy-kit`, so keep that folder. [Updates and removal](docs/guide/updates-and-removal.md#remove-apk) gives the details and the exceptions.
29
+
20
30
  ## Good to know
21
31
 
22
32
  - Your main agent and its model do not change. The main agent still decides when to delegate.
23
33
  - APK configures the coding agent of each assistant: Codex in ChatGPT, Claude Code in Claude, Kimi Code, Antigravity for Gemini, and Grok Build. Plain chats do not change. [Assistants](docs/reference/assistants.md) lists the details, also for the desktop apps.
24
34
  - APK adds no proxy and no background process. You can delete the npm package after setup.
25
- - `npx --yes --ignore-scripts --package agent-policy-kit@0.4.0 agent-policy show` reads your current settings. Use `uninstall --apply` instead of `show` to remove the APK settings and keep yours.
35
+ - `npx --yes --ignore-scripts --package agent-policy-kit@0.5.0 agent-policy show` reads your current settings.
26
36
  - Apart from the npm download, APK makes no network requests. [Privacy](docs/guide/privacy.md) tells what it reads and writes.
27
37
 
28
38
  ## Documentation
@@ -25,6 +25,11 @@ Many programmers use Grok Build next to Codex, Claude Code, Kimi Code and Antigr
25
25
  - Explicit command: `--grok`, `--grok-max-concurrent`, `--avoid-grok`, following the existing per-tool pattern.
26
26
  - Ownership, drift refusal, receipts and uninstall follow the existing adapters; TOML edits are surgical, like Codex.
27
27
 
28
+ ## Later corrections
29
+
30
+ - 0.5.0: Grok Build 1.0.70 does read a per-role effort from the `effort` field of an agent file, and a model pinned in `[subagents.models]` runs at that model's default effort, not at the main session's effort (#27). APK now writes `effort` when a role pins one. See the AI assistants reference.
31
+ - Grok Build reads agent fields in camelCase, so it ignores `permission_mode: plan`. The Reviewer and Code explorer roles are therefore not read-only in Grok (#30).
32
+
28
33
  ## Out of scope
29
34
 
30
35
  Personas, roles TOML, plugin agents, project-level `.grok/` files, live model execution and any change to the main session's model or effort.
@@ -9,10 +9,10 @@ APK needs Node.js 22.13 or later in the 22 line, or Node.js 24 or later.
9
9
  Run a pinned release with `npx`:
10
10
 
11
11
  ```sh
12
- npx --yes --ignore-scripts --package agent-policy-kit@0.4.0 agent-policy <command> [options]
12
+ npx --yes --ignore-scripts --package agent-policy-kit@0.5.0 agent-policy <command> [options]
13
13
  ```
14
14
 
15
- - `--package agent-policy-kit@0.4.0` selects the configuration release. The package version is the release version.
15
+ - `--package agent-policy-kit@0.5.0` selects the configuration release. The package version is the release version.
16
16
  - `--ignore-scripts` prevents npm install scripts.
17
17
  - `--yes` lets npx download the package without a prompt.
18
18
 
@@ -99,7 +99,7 @@ agent-policy setup \
99
99
  --claude 'reviewer=claude-sonnet-5-5:high,explorer=claude-haiku-5-5:native' \
100
100
  --claude-max-concurrent 2 \
101
101
  --gemini 'reviewer=pro,explorer=flash' \
102
- --grok 'reviewer=grok-4.7,explorer=grok-4.7'
102
+ --grok 'reviewer=grok-4.7:xhigh,explorer=grok-4.7'
103
103
  ```
104
104
 
105
105
  | Option | Value | Rules |
@@ -108,7 +108,7 @@ agent-policy setup \
108
108
  | `--max-concurrent` | A whole number from 1 to 32 | Required. The shared parallel limit. |
109
109
  | `--chatgpt`, `--claude`, `--kimi` | `ROLE=MODEL:EFFORT,...` | One entry for each role in `--roles`, exactly once. |
110
110
  | `--gemini` | `ROLE=TIER,...` | `TIER` is `pro`, `flash`, `flash_lite` or `inherit`. No effort. |
111
- | `--grok` | `ROLE=MODEL,...` | No effort. A model that ends with `:` and an effort word is refused. |
111
+ | `--grok` | `ROLE=MODEL,...`, `ROLE=MODEL:EFFORT,...` or a mix | `ROLE=MODEL` sets no effort, the same as `:native`. APK reads a trailing `:` and an effort word or `native` as the effort. For a model ID that itself ends like that, add `:native`. |
112
112
  | `--TOOL-max-concurrent` | A whole number from 1 to 32 | Optional. Replaces `--max-concurrent` for one assistant. Needs the `--TOOL` option. |
113
113
  | `--avoid-TOOL` | Comma-separated model IDs | Optional. At most 32 models. Routing guidance only. Needs the `--TOOL` option. |
114
114
 
@@ -1,6 +1,6 @@
1
1
  # Configurator
2
2
 
3
- This document describes the configurator page: its four steps, the work modes, the top models switch, the per-assistant limits and the share links. It is for people who use the page to make a setup command. For a first setup from start to end, see [Getting started](getting-started.md).
3
+ This document describes the configurator page: its four steps, the work modes, the top models switch, the per-assistant limits, the undo command and the share links. It is for people who use the page to make a setup command. For a first setup from start to end, see [Getting started](getting-started.md).
4
4
 
5
5
  ## Open the page
6
6
 
@@ -76,7 +76,7 @@ The **Models & effort** table shows one row for each selected role. It is visibl
76
76
 
77
77
  Any change to a model or effort sets the assistant to **Custom**. Selecting **Custom** without a change does not change any value. A model ID can have 1 to 128 ASCII characters and no spaces.
78
78
 
79
- For Kimi, roles that use the same model alias share one effort. A change to one of these roles changes all of them. For Grok, the page has no effort buttons. Grok subagents use the main session effort. The [assistants reference](../reference/assistants.md) explains these limits.
79
+ For Kimi, roles that use the same model alias share one effort. A change to one of these roles changes all of them. For Grok, the page offers the effort levels of the model: low, medium, high and xhigh for Grok 4.7, and none for Grok 4.6, Grok 4.5 and Grok Build 0.1. A custom Grok model ID offers every level that Grok Build accepts. Grok Build applies an effort only when the model supports effort. A Grok role without an effort runs at the default effort of its model. The [assistants reference](../reference/assistants.md) explains these limits.
80
80
 
81
81
  ### Use the top models switch
82
82
 
@@ -114,7 +114,7 @@ The command always lists every selected assistant and role with its model and ef
114
114
  A generated command has this form:
115
115
 
116
116
  ```sh
117
- npx --yes --ignore-scripts --package agent-policy-kit@0.4.0 agent-policy setup \
117
+ npx --yes --ignore-scripts --package agent-policy-kit@0.5.0 agent-policy setup \
118
118
  --roles 'reviewer,explorer' \
119
119
  --max-concurrent 3 \
120
120
  --chatgpt 'reviewer=gpt-6.1-sol:high,explorer=gpt-6-luna:high' \
@@ -125,15 +125,33 @@ npx --yes --ignore-scripts --package agent-policy-kit@0.4.0 agent-policy setup \
125
125
  - The package version is the release of the page.
126
126
  - `--roles` lists the selected role IDs.
127
127
  - `--max-concurrent` is the shared limit. If the limits of the assistants differ, the assistants with a different limit also get `--TOOL-max-concurrent`.
128
- - Each assistant gets one argument with `role=model:effort` entries. Gemini and Grok entries have no effort.
128
+ - Each assistant gets one argument with `role=model:effort` entries. Gemini entries have no effort. A Grok entry has an effort only when one is set, so a Grok role without an effort stays `role=model`.
129
129
  - `--avoid-TOOL` appears only when the list of models to avoid is not empty. A model that you select is removed from that list.
130
130
  - `--apply` is always the last line.
131
131
 
132
132
  The [Commands](commands.md#explicit-tool-arguments) reference describes this syntax. To preview without writes, delete the `--apply` line and the ` \` at the end of the line before it.
133
133
 
134
+ ### Undo the setup
135
+
136
+ Under step 4, the box **You can undo the setup** shows the command that removes the APK settings. The command is pinned to the release of the page, for example:
137
+
138
+ ```sh
139
+ npx --yes --ignore-scripts --package agent-policy-kit@0.5.0 agent-policy uninstall --apply
140
+ ```
141
+
142
+ The removal restores the settings that you had before APK and keeps your unrelated edits. It uses the receipts that setup saves in the state directory, `~/.agent-policy-kit` by default. Keep this directory.
143
+
144
+ 1. Click **Copy** next to the command. If the clipboard is not available, the page selects the command. Copy it with your keyboard.
145
+ 2. To preview the removal, run the command without `--apply`.
146
+ 3. Run the command with `--apply` to remove the APK settings.
147
+
148
+ To remove the APK settings of one assistant only, add `--client ID`, for example `--client claude`.
149
+
150
+ The box is always visible. It does not depend on the form. [Updates and removal](updates-and-removal.md#remove-apk) gives the full procedure and the known exceptions.
151
+
134
152
  ## Reset the form
135
153
 
136
- Click **Reset form** under step 4. The page selects all six roles again and clears the assistants, the modes and the copy status. The address then holds only the six roles, as on a page that you open for the first time. Reset does not change files on your computer.
154
+ Click **Reset form** under step 4. The page selects all six roles again and clears the assistants, the modes and the copy status. It also removes the setup link from the address. Reset does not change files on your computer. To remove the APK settings, use the [undo command](#undo-the-setup).
137
155
 
138
156
  ## Check current settings
139
157
 
@@ -141,15 +159,22 @@ At the bottom of the page, **Check current settings** has a **Copy** button. It
141
159
 
142
160
  ## Share a setup
143
161
 
144
- The page saves the form in the address. Each change replaces the part after `#setup=`.
162
+ The page saves a complete form in the address, in the part after `#setup=`. The form is complete when steps 1, 2 and 3 show their green checks.
163
+
164
+ - When you open the page without a setup link, the address has no `#setup=` part.
165
+ - When steps 1, 2 and 3 are complete, the page writes the form into the address. Each later change replaces the part after `#setup=`.
166
+ - When a change makes step 1, 2 or 3 incomplete, the page removes the `#setup=` part. For example, this occurs when you remove the last assistant.
167
+ - **Reset form** removes the `#setup=` part.
168
+
169
+ To share a setup:
145
170
 
146
- 1. Complete the form, or a part of it.
171
+ 1. Complete steps 1, 2 and 3.
147
172
  2. Copy the page address from the browser.
148
173
  3. Send the address to the other person.
149
174
 
150
175
  The link contains the roles, the assistant order, the mode of each assistant, the model and effort choices, each limit and the assistant that you edit. It does not contain the copy status. The link stays in the browser. The page needs no database to open it.
151
176
 
152
- When someone opens the link, the page restores the form, including unfinished choices. The command is still blocked until all values are valid.
177
+ When someone opens the link, the page restores the form, including unfinished choices. The command is still blocked until all values are valid. For a link to an unfinished form, the address keeps the link until the form changes.
153
178
 
154
179
  - A link contains its release version. A link from another release opens only on the page of that release. The hosted page sends such a link to the page of its release, if that page is hosted. Otherwise, the page shows an error.
155
180
  - If a link is not valid, the page shows an error. Click **Reset form** to start again.
@@ -40,6 +40,8 @@ Make sure that you have:
40
40
  10. Run the full command, with `--apply`.
41
41
  11. Open a new session in each configured assistant. A session that was open before setup can keep the old settings.
42
42
 
43
+ You can undo the setup later. Step 4 of the page shows the `uninstall` command for its release. The removal restores the settings that you had before APK and keeps your unrelated edits. See [Remove APK settings after other changes](#remove-apk-settings-after-other-changes).
44
+
43
45
  For each control on the page, see [Configurator](configurator.md).
44
46
 
45
47
  ## Check the result
@@ -47,13 +49,13 @@ For each control on the page, see [Configurator](configurator.md).
47
49
  1. Run `doctor` to verify the configuration that APK owns:
48
50
 
49
51
  ```sh
50
- npx --yes --ignore-scripts --package agent-policy-kit@0.4.0 agent-policy doctor
52
+ npx --yes --ignore-scripts --package agent-policy-kit@0.5.0 agent-policy doctor
51
53
  ```
52
54
 
53
55
  2. Run `show` to read the subagent settings that your assistants use now, including settings that you made yourself:
54
56
 
55
57
  ```sh
56
- npx --yes --ignore-scripts --package agent-policy-kit@0.4.0 agent-policy show
58
+ npx --yes --ignore-scripts --package agent-policy-kit@0.5.0 agent-policy show
57
59
  ```
58
60
 
59
61
  A verified configuration does not prove that a provider runs a specific model. For all command options, see [Commands](commands.md).
@@ -89,7 +91,7 @@ Each assistant gets its own native role files and instructions. No central servi
89
91
  Run setup with the release input mode:
90
92
 
91
93
  ```sh
92
- npx --yes --ignore-scripts --package agent-policy-kit@0.4.0 agent-policy setup --release
94
+ npx --yes --ignore-scripts --package agent-policy-kit@0.5.0 agent-policy setup --release
93
95
  ```
94
96
 
95
97
  This previews the Standard mode. Add `--preset fast` for Light or `--preset quality` for Top-tier. Add `--apply` to write the files. For details, see [Commands](commands.md#release-presets---release-and---preset).
@@ -18,7 +18,7 @@ Preferences apply only when the main agent decides to delegate. They do not turn
18
18
  1. Create a file with the Standard preset of the release:
19
19
 
20
20
  ```sh
21
- npx --yes --ignore-scripts --package agent-policy-kit@0.4.0 agent-policy init --policy ./preferences.json
21
+ npx --yes --ignore-scripts --package agent-policy-kit@0.5.0 agent-policy init --policy ./preferences.json
22
22
  ```
23
23
 
24
24
  2. Edit the file. Use the rules below.
@@ -96,7 +96,7 @@ This example configures three roles in Claude Code and Antigravity. The Claude R
96
96
  APK refuses preferences that break one of these rules:
97
97
 
98
98
  - `selectedRoles`, if present, is not empty, has no duplicates and contains only `worker`, `reviewer`, `explorer`, `tester`, `writer` and `routine`.
99
- - The effort is `null` or a native level of the assistant. Gemini and Grok accept only `null`. The [model catalog reference](../reference/model-catalog.md) lists the levels of each assistant.
99
+ - The effort is `null` or a native level of the assistant. Gemini accepts only `null`. Grok accepts the levels that Grok Build reads from an agent file, limited by the catalog for a known model: Grok 4.7 accepts `low` to `xhigh`, and the other Grok models only `null`. The [model catalog reference](../reference/model-catalog.md) lists the levels of each assistant.
100
100
  - If the model is in the release catalog, the effort is a level of that model. A model that is not in the catalog can use any native level of the assistant. The assistant must still support it.
101
101
  - A Gemini model is a native tier: `pro`, `flash`, `flash_lite` or `inherit`.
102
102
  - A Kimi model is not `primary`.
@@ -112,7 +112,7 @@ Some conditions can only be checked against the native files, for example missin
112
112
  APK has no separate validation command. A preview checks the file and writes nothing:
113
113
 
114
114
  ```sh
115
- npx --yes --ignore-scripts --package agent-policy-kit@0.4.0 agent-policy setup --policy ./preferences.json
115
+ npx --yes --ignore-scripts --package agent-policy-kit@0.5.0 agent-policy setup --policy ./preferences.json
116
116
  ```
117
117
 
118
118
  If the file is not valid, the command fails with `INVALID_POLICY`. The file must be a regular file of at most 64 KiB, not a symbolic link.
@@ -126,13 +126,13 @@ Use one of these methods.
126
126
  1. Preview the setup:
127
127
 
128
128
  ```sh
129
- npx --yes --ignore-scripts --package agent-policy-kit@0.4.0 agent-policy setup --policy ./preferences.json
129
+ npx --yes --ignore-scripts --package agent-policy-kit@0.5.0 agent-policy setup --policy ./preferences.json
130
130
  ```
131
131
 
132
132
  2. Apply it:
133
133
 
134
134
  ```sh
135
- npx --yes --ignore-scripts --package agent-policy-kit@0.4.0 agent-policy setup --policy ./preferences.json --apply
135
+ npx --yes --ignore-scripts --package agent-policy-kit@0.5.0 agent-policy setup --policy ./preferences.json --apply
136
136
  ```
137
137
 
138
138
  `--policy` is conservative. If APK already has a setup with other values, it stops with `INSTALLATION_CONFLICT` or `POLICY_CONFLICT`.
@@ -150,7 +150,7 @@ To replace saved values with the values of a file, send the file as `--config`:
150
150
  2. Preview the setup with the encoded value:
151
151
 
152
152
  ```sh
153
- npx --yes --ignore-scripts --package agent-policy-kit@0.4.0 agent-policy setup --config ENCODED_VALUE
153
+ npx --yes --ignore-scripts --package agent-policy-kit@0.5.0 agent-policy setup --config ENCODED_VALUE
154
154
  ```
155
155
 
156
156
  3. Run the same command with `--apply`.
@@ -21,7 +21,7 @@ Installing or updating the npm package does not change your native files. Only `
21
21
  2. Show the release and its notes with the `release` command:
22
22
 
23
23
  ```sh
24
- npx --yes --ignore-scripts --package agent-policy-kit@0.4.0 agent-policy release
24
+ npx --yes --ignore-scripts --package agent-policy-kit@0.5.0 agent-policy release
25
25
  ```
26
26
 
27
27
  3. Check the installed versions of your assistants and the models that your account can use.
@@ -37,7 +37,7 @@ A release that is not published yet has the heading `VERSION — Unreleased` in
37
37
  1. Preview the setup with the release that you want:
38
38
 
39
39
  ```sh
40
- npx --yes --ignore-scripts --package agent-policy-kit@0.4.0 agent-policy setup --release
40
+ npx --yes --ignore-scripts --package agent-policy-kit@0.5.0 agent-policy setup --release
41
41
  ```
42
42
 
43
43
  2. To select another preset, add `--preset fast` (Light) or `--preset quality` (Top-tier). The default is `balanced` (Standard).
@@ -76,16 +76,16 @@ These boundaries are known:
76
76
 
77
77
  | Assistant | Change | Setup without removal | Remove with |
78
78
  |---|---|---|---|
79
- | Claude | From 0.4.0 to 0.3.0 or earlier | `INVALID_RECEIPT` | 0.4.0 |
79
+ | Claude | From 0.4.0 or later to 0.3.0 or earlier | `INVALID_RECEIPT` | The installed release, 0.4.0 or later |
80
80
  | ChatGPT and Gemini | From 0.2.0 or earlier to 0.3.0 or later | `OWNERSHIP_CONFLICT` | The release that created the settings, for example 0.2.0 |
81
81
  | ChatGPT and Gemini | From 0.3.0 or later to 0.2.0 or earlier | `OWNERSHIP_CONFLICT` | The release that created the settings, for example 0.4.0 |
82
82
 
83
- **Claude, 0.4.0 to an older release.** A 0.4.0 Claude receipt owns `CLAUDE_CODE_SUBAGENT_EFFORT` when the effort of the default subagent role is pinned. Every preset pins it. Releases 0.3.0 and earlier do not know this setting, so they refuse the receipt. To move Claude back to 0.3.0:
83
+ **Claude, 0.4.0 or later to 0.3.0 or earlier.** A Claude receipt from 0.4.0 or later owns `CLAUDE_CODE_SUBAGENT_EFFORT` when the effort of the default subagent role is pinned. Every preset pins it. Releases 0.3.0 and earlier do not know this setting, so they refuse the receipt. To move Claude back to 0.3.0:
84
84
 
85
- 1. Remove the Claude settings with 0.4.0:
85
+ 1. Remove the Claude settings with the installed release (0.4.0 or later), for example:
86
86
 
87
87
  ```sh
88
- npx --yes --ignore-scripts --package agent-policy-kit@0.4.0 agent-policy uninstall --client claude --apply
88
+ npx --yes --ignore-scripts --package agent-policy-kit@0.5.0 agent-policy uninstall --client claude --apply
89
89
  ```
90
90
 
91
91
  2. Set up Claude with 0.3.0.
@@ -124,14 +124,14 @@ APK has no background updater and requests no live model catalog. Your configure
124
124
  1. Preview the removal:
125
125
 
126
126
  ```sh
127
- npx --yes --ignore-scripts --package agent-policy-kit@0.4.0 agent-policy uninstall
127
+ npx --yes --ignore-scripts --package agent-policy-kit@0.5.0 agent-policy uninstall
128
128
  ```
129
129
 
130
130
  2. Read the preview.
131
131
  3. Remove the configuration:
132
132
 
133
133
  ```sh
134
- npx --yes --ignore-scripts --package agent-policy-kit@0.4.0 agent-policy uninstall --apply
134
+ npx --yes --ignore-scripts --package agent-policy-kit@0.5.0 agent-policy uninstall --apply
135
135
  ```
136
136
 
137
137
  4. Run `show` to check the current settings.
@@ -143,7 +143,7 @@ Uninstall uses the receipts in the state directory. It needs no assistant execut
143
143
  You do not need the release that you used for setup. Any release that can read the receipt can remove it. There are two known exceptions:
144
144
 
145
145
  - Releases 0.3.0 and later do not read the ChatGPT and Gemini receipts of 0.2.0 and earlier. Remove these settings with the release that created them.
146
- - Releases 0.3.0 and earlier cannot read a 0.4.0 Claude receipt that owns `CLAUDE_CODE_SUBAGENT_EFFORT`. Remove these settings with 0.4.0.
146
+ - Releases 0.3.0 and earlier cannot read a Claude receipt from 0.4.0 or later that owns `CLAUDE_CODE_SUBAGENT_EFFORT`. Remove these settings with 0.4.0 or a later release.
147
147
 
148
148
  See [Migration boundaries](#migration-boundaries) and the [ownership reference](../reference/ownership.md#receipt-formats).
149
149
 
@@ -14,6 +14,21 @@ A configuration check does not prove native loading. Native loading does not pro
14
14
 
15
15
  Each record names the platform and the date. Browser evidence, temporary homes, raw configuration fixtures and logs stay outside Git and npm.
16
16
 
17
+ ## 0.5.0
18
+
19
+ macOS arm64, 2026-11-01.
20
+
21
+ | Layer | Evidence |
22
+ |---|---|
23
+ | Full Node 26.5.1 suite | PASS: 381/381. New tests cover the Grok role effort (frontmatter, explicit `role=model:effort`, share links, `show`, a rebuilt 0.4.0 install), the Standard Claude Coder at high and its default subagent effort, the Claude 4.5 lifecycle data, the undo box and the share-address rule |
24
+ | Hosted CI | PASS on main 19844f5: macOS Node 22.13.0 and Ubuntu Node 24 suites and the site build ([run](https://github.com/automatis-tools/agent-policy-kit/actions/runs/41377664489)) |
25
+ | Published 0.4.0 to 0.5.0 | PASS in isolated homes with the npm 0.4.0 package and the 0.5.0 tarball, Standard preset. ChatGPT, Claude, Gemini and Grok upgrade to 0.5.0 and move back to 0.4.0 in place. Kimi NOT CHECKED with a provisioned model pool: both versions return a prerequisite in an empty home |
26
+ | Grok role effort | PASS: an explicit `worker=grok-4.7:xhigh` writes `effort: xhigh` in `apk-worker.md`; moving back to 0.4.0 removes the line. A non-live `grok inspect --json` with an isolated profile lists the generated agents. That the effort reaches a model request is NOT CHECKED with a live task |
27
+ | Browser | PASS in a local Chromium preview: no share fragment on first load or with steps 1–2 only, a fragment after a mode is chosen, none after Reset form; Standard Claude Coder at Sonnet 5.5 high; Grok 4.7 effort buttons; the undo box with the 0.5.0 uninstall command and its copy button |
28
+ | Native ChatGPT, Claude, Kimi, Gemini and Grok loading and provider execution | NOT CHECKED for 0.5.0. No live model tasks were used as configuration proof |
29
+ | npm packaging | PASS: `npm pack --dry-run` lists 50 files. No private evidence or configuration |
30
+ | Model catalog | Reviewed on 2026-11-02; see the [model review](../research/2026-11-01-model-review.md). Configuration tests do not establish account access or model quality |
31
+
17
32
  ## 0.4.0
18
33
 
19
34
  macOS arm64, 2026-11-01.
@@ -74,7 +74,7 @@ APK writes settings through native features. It does not run during agent work a
74
74
  | Claude | Native setting. It applies to ordinary Agent-tool spawns, with documented exceptions. | Role file | Role file | Session, project and managed settings, environment overrides and some spawn paths can override user settings. |
75
75
  | Kimi | Guidance only. No native cap is set. | Guidance only. The parent selects the pool alias when it spawns. | Per alias, not per role | Native Kimi rules |
76
76
  | Gemini | Guidance only. There is no universal native cap. | Native tier per role | None | Native Antigravity rules |
77
- | Grok | Native setting | `config.toml` per role | None. Subagents use the main session effort. | Project settings, explicit spawn settings and higher-priority instructions follow Grok Build rules. |
77
+ | Grok | Native setting | `config.toml` per role | Role file. It applies only when the model supports effort. A role without an effort runs at the default effort of its model. | Project settings, explicit spawn settings, Grok roles with the same name and higher-priority instructions follow Grok Build rules. |
78
78
 
79
79
  Each assistant adds warning codes to the setup result. The codes tell the person or agent which limits apply:
80
80
 
@@ -84,7 +84,7 @@ Each assistant adds warning codes to the setup result. The codes tell the person
84
84
  | Claude | `claude-native-precedence-limits` |
85
85
  | Kimi | `kimi-concurrency-guidance-only`, `kimi-model-pool-routing-guidance` |
86
86
  | Gemini | `gemini-concurrency-guidance-only`, `gemini-per-role-effort-unsupported` |
87
- | Grok | `grok-per-role-effort-unsupported`, `grok-native-precedence-limits` |
87
+ | Grok | `grok-effort-model-dependent`, `grok-native-precedence-limits`. Installs made by 0.4.0 keep the older code `grok-per-role-effort-unsupported` in their receipt; setup shows it with the same corrected note. |
88
88
 
89
89
  Other limits apply to all assistants:
90
90
 
@@ -111,6 +111,24 @@ These rules apply to all assistants except Gemini:
111
111
  - If `env.CLAUDE_CODE_SUBAGENT_MODEL_FORCE` is `1`, setup returns `claude-force-model-conflict`. That setting forces one model for all subagents, so the role models cannot apply. Change the native setting first.
112
112
  - Claude Code 2.1.316 or later reads `CLAUDE_CODE_SUBAGENT_EFFORT`. Earlier versions ignore it.
113
113
 
114
+ #### Claude model aliases on other providers
115
+
116
+ APK writes a Claude alias such as `sonnet` or `haiku` as it is. Claude Code resolves the alias for each provider. The presets use versioned IDs, not aliases. A role that you set to an alias in Custom can resolve to an older model outside the Anthropic API. On 2026-11-02, the Claude Code documentation gave these resolutions:
117
+
118
+ | Provider | `sonnet` | `haiku` |
119
+ |---|---|---|
120
+ | Anthropic API | Sonnet 5.5 | Haiku 5.5 |
121
+ | Claude Platform on AWS | Sonnet 4.6 | Haiku 4.5 |
122
+ | Amazon Bedrock, Google Cloud's Agent Platform | Sonnet 4.5 | Haiku 4.5 |
123
+ | Microsoft Foundry | Sonnet 4.5 | Haiku 4.5 |
124
+
125
+ - On Microsoft Foundry, the `default` model setting is also Sonnet 4.5.
126
+ - Sonnet 4.5 is deprecated. On Bedrock and Agent Platform it stays available until the partner's own date: Bedrock lists it as Legacy with end of life on 2027-04-08, and Google announces no date. See [Model catalog](model-catalog.md#lifecycle).
127
+ - Haiku 4.5 is active (legacy) and has no deprecation notice.
128
+ - **Foundry risk after 2026-11-30:** Foundry follows the Claude API lifecycle, so Sonnet 4.5 retires there on 2026-11-30. Unless Claude Code changes its Foundry defaults, `sonnet` and `default` then name a retired model. Bedrock and Agent Platform show a notice and fall back to an earlier version of an unavailable alias default. Foundry has no such startup check, so Foundry users see errors instead.
129
+ - On Foundry, pin a newer Sonnet before 2026-11-30: set `ANTHROPIC_DEFAULT_SONNET_MODEL` to a Sonnet 5.x or Sonnet 4.6 deployment, or choose a full model ID for each role and for the main model.
130
+ - Claude Code warns when a requested model has a scheduled retirement date. The check also covers a `model` in subagent frontmatter, so it covers APK role files.
131
+
114
132
  ### Kimi (Kimi Code)
115
133
 
116
134
  Kimi needs provisioned model entries. APK never creates aliases, providers or credentials.
@@ -132,6 +150,17 @@ Kimi sets effort for each alias, not for each role. The effort rules and their r
132
150
  - Existing `[subagents]` or `[subagents.models]` values that are not tables, or a `max_concurrent` that is not a positive whole number, stop setup with `UNSUPPORTED_CONFIG`.
133
151
  - Grok Build reads `~/.claude/CLAUDE.md` by default. If Claude is also configured, Grok Build can therefore also read the Claude instruction block. APK does not change that behavior.
134
152
 
153
+ #### Grok role effort
154
+
155
+ Issue #27 tested whether a named agent such as `apk-reviewer` can have its own effort. It can. The result comes from the Grok Build source and from a check with Grok Build 1.0.70:
156
+
157
+ - APK writes a role effort as `effort: <level>` in the frontmatter of `~/.grok/agents/apk-<role>.md`. A role with the native default gets no `effort` line.
158
+ - Grok Build 1.0.70 accepts `low`, `medium`, `high`, `xhigh` and `max` in this field. For any other value, Grok Build drops the whole agent without a warning. `grok inspect --json` with an isolated `GROK_HOME` confirmed both cases. APK writes only the levels that the [model catalog](model-catalog.md#grok-grok-build) lists for a known model.
159
+ - Grok Build applies the effort only when the model supports effort. Grok 4.7 lists `low`, `medium`, `high` and `xhigh`, with `high` as its default. Grok Build 0.1 has no effort setting, so Grok Build ignores an effort for it.
160
+ - A role without an effort runs at the default effort of its model, not at the main session effort. The reason: APK pins the model of each role in `[subagents.models]`, and Grok Build gives a pinned model the default effort from its model list. For Grok 4.7 the default is `high`. Exceptions: the `--effort` option of Grok Build applies to all models, and `[models].default_reasoning_effort` applies to the default model.
161
+ - Grok Build uses this order: a spawn override from the harness, then a Grok role with the same name as the agent (`[subagents.roles.apk-<role>]` or `~/.grok/roles/apk-<role>.toml`), then the agent frontmatter, then the default of the model. The parent model cannot select an effort when it spawns a subagent. APK writes no Grok roles.
162
+ - Not checked: a live model task. Grok Build has no command that shows the resolved subagent effort without a model run. The source is a public sync from 2026-09-29, and the error and log text of these code paths occurs in the 1.0.70 program.
163
+
135
164
  ## Desktop apps
136
165
 
137
166
  Some desktop apps include their own copy of a CLI and do not put it on `PATH`. On macOS, detection also checks these copies, after `PATH` and the conventional locations:
@@ -159,7 +188,7 @@ These desktop features are not configured:
159
188
  ## Sources
160
189
 
161
190
  - [Codex subagents](https://learn.chatgpt.com/docs/agent-configuration/subagents)
162
- - [Claude Code subagents](https://code.claude.com/docs/en/sub-agents)
191
+ - [Claude Code subagents](https://code.claude.com/docs/en/sub-agents), [Claude Code model configuration](https://code.claude.com/docs/en/model-config) and [Claude in Microsoft Foundry](https://platform.claude.com/docs/en/build-with-claude/claude-in-microsoft-foundry)
163
192
  - [Kimi configuration files](https://github.com/MoonshotAI/kimi-code/blob/main/docs/en/configuration/config-files.md) and [Kimi agent definitions](https://github.com/MoonshotAI/kimi-code/blob/main/docs/en/customization/agents.md)
164
193
  - [Antigravity subagents](https://antigravity.google/docs/subagents?tab=cli)
165
194
  - [Grok Build subagents](https://github.com/xai-org/grok-build/blob/main/crates/codegen/xai-grok-pager/docs/user-guide/16-subagents.md), observed with Grok Build 1.0.70 and an isolated `GROK_HOME`
@@ -1,12 +1,12 @@
1
1
  # Model catalog
2
2
 
3
- This document describes `models/catalog.json`, the model catalog of release 0.4.0. It explains the fields, lists the models and effort levels for each AI assistant, and records defaults, lifecycle dates and access requirements. It is for everyone who chooses a model in Custom or wants to know which values a release accepts.
3
+ This document describes `models/catalog.json`, the model catalog of release 0.5.0. It explains the fields, lists the models and effort levels for each AI assistant, and records defaults, lifecycle dates and access requirements. It is for everyone who chooses a model in Custom or wants to know which values a release accepts.
4
4
 
5
5
  ## What the catalog is
6
6
 
7
7
  The model catalog is a dated snapshot of the native subagent selectors that each AI assistant accepts. A selector is the value that a native role setting takes: a model ID, an alias or a tier. The catalog ships inside the package. One package version has one catalog, as with presets (see [Presets](presets.md)).
8
8
 
9
- - The snapshot date is `reviewedAt`: 2026-11-01 UTC. The review checked the installed native clients and the current vendor documentation. No vendor released or retired a subagent model between the previous check on 2026-10-30 and this one.
9
+ - The snapshot date is `reviewedAt`: 2026-11-02 UTC. On that date the lifecycle of the Claude 4.5 models was checked again. See [Lifecycle](#lifecycle). The full review of 2026-11-01 checked the installed native clients and the current vendor documentation. No vendor released or retired a subagent model between the previous check on 2026-10-30 and this one.
10
10
  - The configurator page and the preferences validation use the same data. For the validation rules, see [Preferences](../guide/preferences.md).
11
11
  - APK never fetches a catalog at run time. Normal agent work never reads the catalog.
12
12
  - The catalog is not a live inventory and not a list of what one account can use. Account access and custom deployment IDs vary.
@@ -48,7 +48,7 @@ Some entries have optional fields:
48
48
  | `delegationModes` | Execution modes such as `ultra`. These are not effort levels. |
49
49
  | `nativeSource` | A second source for the native behavior. |
50
50
  | `effortResolution` | How an alias or `inherit` resolves effort. |
51
- | `lifecycle` | Status (`active`, `deprecated` or `retired`), a retirement date or earliest retirement date, the scope and the source. |
51
+ | `lifecycle` | Status (`active`, `deprecated` or `retired`), a retirement date (`retirementDate`) or earliest retirement date (`earliestRetirement`), the scope and the source. Optional: the deprecation date (`deprecationDate`), the recommended replacement ID (`replacement`), a `note`, and `partners`, a list of partner platforms that set their own schedule. Each partner entry has `platform`, `source` and, where announced, the partner's own `status`, `earliestRetirement` or `endOfLife`, or a `note`. |
52
52
  | `upstreamModelId`, `thinkingRequired`, `planRequirement` | Kimi: the upstream model, whether thinking must be on, and the plan that the model needs. |
53
53
  | `documented` | `false` when the native client accepts a selector that the vendor documentation does not list. |
54
54
 
@@ -98,7 +98,7 @@ The inventory has 14 versioned IDs, 4 family aliases and `inherit`. The review c
98
98
  | `claude-opus-4-6` | Opus 4.6 | low, medium, high, max | high |
99
99
  | `claude-sonnet-4-6` | Sonnet 4.6 | low, medium, high, max | high |
100
100
  | `claude-opus-4-5-20251101` | Opus 4.5 | none | not documented |
101
- | `claude-sonnet-4-5-20250929` | Sonnet 4.5 (deprecated) | none | not documented |
101
+ | `claude-sonnet-4-5-20250929` | Sonnet 4.5 (retires 2026-11-30) | none | not documented |
102
102
  | `claude-haiku-4-5-20251001` | Haiku 4.5 | none | not documented |
103
103
  | `fable` | Fable (alias) | low, medium, high, xhigh, max | high |
104
104
  | `opus` | Opus (alias) | low, medium, high, xhigh, max | not documented |
@@ -148,25 +148,41 @@ The native role field takes a tier, not a model ID. The review checked the Antig
148
148
 
149
149
  The inventory has 4 model IDs from the documented xAI model list. The review checked Grok Build 1.0.70.
150
150
 
151
- | ID | Label | Native efforts | API efforts |
151
+ The client `efforts` list is `low`, `medium`, `high`, `xhigh` and `max`: the values that Grok Build 1.0.70 accepts in the `effort` field of an agent file. A custom model ID can request these levels. Grok Build drops an agent with any other value.
152
+
153
+ | ID | Label | Native efforts | Native default |
152
154
  |---|---|---|---|
153
- | `grok-4.7` | Grok 4.7 | none | low, medium, high (default), xhigh |
154
- | `grok-4.6` | Grok 4.6 | none | not recorded |
155
- | `grok-4.5` | Grok 4.5 | none | not recorded |
156
- | `grok-build-0.1` | Grok Build 0.1 | none | not recorded |
155
+ | `grok-4.7` | Grok 4.7 | low, medium, high, xhigh | high |
156
+ | `grok-4.6` | Grok 4.6 | not verified, none offered | not documented |
157
+ | `grok-4.5` | Grok 4.5 | not verified, none offered | not documented |
158
+ | `grok-build-0.1` | Grok Build 0.1 | none | none |
157
159
 
158
- The Grok 4.7 levels are API capabilities. APK writes only a model for each Grok role, so the catalog has no native efforts for Grok. For how Grok Build resolves subagent effort, see [Roles](roles.md#how-effort-applies).
160
+ - The Grok 4.7 levels and default come from the Grok Build model list (`supports_reasoning_effort`, `reasoning_efforts`) of 1.0.70. They are the same as the API levels in `apiEfforts`. `max` is not listed for Grok 4.7, so APK does not write it for that model.
161
+ - Grok Build 0.1 has no effort setting. Grok Build ignores an effort for a model without effort support.
162
+ - The levels of Grok 4.6 and 4.5 were not verified, so the catalog offers no effort for them.
163
+ - For where APK writes the effort and how Grok Build applies it, see [Roles](roles.md#how-effort-applies).
159
164
 
160
165
  ## Lifecycle
161
166
 
162
167
  | Model | Status | Date | Scope |
163
168
  |---|---|---|---|
164
169
  | GPT-5.5 | retired | 2026-10-14 | Codex with ChatGPT sign-in. API-key sign-in keeps access. |
165
- | Sonnet 4.5 | deprecated | retirement 2026-11-30 | Anthropic-operated platforms. Partner schedules differ. |
166
- | Opus 4.5 | active | earliest retirement 2026-11-24 | Anthropic model lifecycle |
167
- | Haiku 4.5 | active | earliest retirement 2026-10-15 | Anthropic model lifecycle |
170
+ | Sonnet 4.5 | deprecated since 2026-09-30 | retirement 2026-11-30 | Claude API, Claude Platform on AWS, Claude Models on Google Cloud (Anthropic managed) and Microsoft Foundry. Replacement: `claude-sonnet-5-5`. |
171
+ | Opus 4.5 | active (legacy) | earliest retirement 2026-11-24 | Anthropic-operated platforms and Microsoft Foundry. No deprecation notice. |
172
+ | Haiku 4.5 | active (legacy) | earliest retirement 2026-10-15 | Anthropic-operated platforms and Microsoft Foundry. No deprecation notice. |
173
+
174
+ Partner platforms set their own schedules:
175
+
176
+ | Model | Amazon Bedrock | Google Cloud (Google managed) |
177
+ |---|---|---|
178
+ | Sonnet 4.5 | Legacy. End of life 2027-04-08. | No retirement date announced. The earliest retirement date, 2026-09-29, passed. |
179
+ | Opus 4.5 | Not on the legacy list | Earliest retirement 2026-11-24 |
180
+ | Haiku 4.5 | Not on the legacy list | Earliest retirement 2026-12-07 |
168
181
 
169
- The earliest retirement date of Haiku 4.5, 2026-10-15, passed without an announced deprecation. This was the state on the review date, 2026-11-01.
182
+ - This is the state on 2026-11-02. Sonnet 4.5 still works for organizations that already have access, so the catalog records it as deprecated, not retired. The Anthropic Models API describes a deprecated model as closed to new adopters, so a new account can already fail with it.
183
+ - The page offers Sonnet 4.5 with the label "Sonnet 4.5 (retires 2026-11-30)". After that date, a role that names `claude-sonnet-4-5-20250929` fails on the Claude API, Claude Platform on AWS, Claude Models on Google Cloud (Anthropic managed) and Microsoft Foundry. Choose Sonnet 5.5 instead.
184
+ - Anthropic gives at least 60 days' notice before it retires a model. Opus 4.5 and Haiku 4.5 had no deprecation notice, so their earliest retirement dates are floors, not scheduled dates. The date for Haiku 4.5, 2026-10-15, passed without an announcement.
185
+ - The Claude Code aliases `sonnet`, `haiku` and `default` can resolve to these 4.5 models on some providers. See [AI assistants](assistants.md#claude-model-aliases-on-other-providers).
170
186
 
171
187
  A release does not keep a retired model available. See [Updates and removal](../guide/updates-and-removal.md).
172
188
 
@@ -186,7 +202,7 @@ A catalog entry does not grant access. The account plan and the provider decide
186
202
  Each entry has a `source` URL in `models/catalog.json`. The main sources are:
187
203
 
188
204
  - ChatGPT: [OpenAI models](https://learn.chatgpt.com/docs/models) and the Codex CLI 0.166.0 bundled and server catalogs.
189
- - Claude: [Claude Code model configuration](https://code.claude.com/docs/en/model-config) and [model lifecycle](https://platform.claude.com/docs/en/about-claude/model-deprecations).
205
+ - Claude: [Claude Code model configuration](https://code.claude.com/docs/en/model-config), [model lifecycle](https://platform.claude.com/docs/en/about-claude/model-deprecations), [Bedrock legacy models](https://docs.aws.amazon.com/bedrock/latest/userguide/model-lifecycle-legacy.html) and [Google partner model deprecations](https://docs.cloud.google.com/gemini-enterprise-agent-platform/models/deprecations/partner-models).
190
206
  - Kimi: [Kimi Code models](https://www.kimi.com/code/docs/en/kimi-code/models) and [membership](https://www.kimi.com/code/docs/en/kimi-code/membership.html).
191
207
  - Gemini: [Antigravity subagents](https://antigravity.google/docs/subagents?tab=cli) and the CLI 1.4.12 parser.
192
208
  - Grok: [xAI models](https://docs.x.ai/developers/models) and [Grok Build subagents](https://github.com/xai-org/grok-build/blob/main/crates/codegen/xai-grok-pager/docs/user-guide/16-subagents.md).