claude-multi 0.9.0 → 0.11.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/CHANGELOG.md CHANGED
@@ -5,6 +5,30 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [0.11.0] - 2026-08-14
9
+
10
+ ### Changed
11
+ - **GLM template updated for GLM-5.3**: Opus and sonnet slots now use `glm-5.3[1m]` (sonnet follows Z.ai's official Claude Code example); haiku and small/fast stay on `glm-5-turbo`. GLM-5.2 and GLM-5.1 are no longer served on the GLM Coding Plan, and requests for them auto-route to GLM-5.3. `MAX_OUTPUT_TOKENS` raised from `64000` to `128000` to match the documented 128K max output of both models. Thinking can no longer be disabled on GLM-5.3 (`reasoning_effort` low/high/max); the template keeps `high`.
12
+ - New points-based GLM Coding Plan pricing documented on the provider page and in the GLM-5.3 blog post. The legacy 3x peak / 2x off-peak multiplier model was discontinued for new users on 2026-07-30.
13
+ - Model and context-window references updated across the provider docs, environment-variables guide, FAQ, providers table, and llms.txt.
14
+
15
+ ### Fixed
16
+ - CI `check-version` job no longer fails when there is nothing new to publish. It now exits `0` on a skip (equal or older version) and relies on the `should_publish` output to gate publishing, so pushes without a version bump keep CI green.
17
+
18
+ ### Blog
19
+ - Blog post: [GLM-5.3 for Claude Code: Post-Training Gains and a Two-Model Mapping](https://claude-multi.hmziq.xyz/blog/glm-5-3-coding-plan/)
20
+
21
+ ## [0.10.0] - 2026-06-13
22
+
23
+ ### Changed
24
+ - **GLM template moved to a three-tier model mapping**: Opus slot now uses `glm-5.2[1m]`, sonnet uses `glm-5.1`, haiku uses `glm-5-turbo`. The previous template put GLM-5.1 in opus and reused GLM-5-Turbo for both sonnet and haiku, so there was no real middle tier.
25
+ - GLM-5.2 is the new opus-tier model with a 1,000,000-token context window, exposed through the `[1m]` model-name suffix. GLM-5.1 and GLM-5-Turbo are 200K models.
26
+ - Removed the global `CLAUDE_CODE_AUTO_COMPACT_WINDOW` (131072) and `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` overrides from the GLM template. A single global window cannot fit a 1M model and two 200K models at once, so each tier now carries its own size: the `[1m]` suffix for GLM-5.2, and Claude Code's default 200K assumption for the other two, which matches their real limit.
27
+ - Updated GLM model and context-window references across the provider docs, FAQ, environment-variables guide, and glossary to reflect the three models.
28
+
29
+ ### Blog
30
+ - Blog post: [GLM-5.2 for Claude Code: 1M Context and Three-Tier Model Mapping](https://claude-multi.hmziq.xyz/blog/glm-5-2-three-tier-coding-plan/)
31
+
8
32
  ## [0.9.0] - 2026-06-12
9
33
 
10
34
  ### Changed
@@ -37,9 +61,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
37
61
  - Header spacing and navigation density adjusted for better visual balance.
38
62
  - `Instance.autoSync` field deprecated in favor of `Instance.syncMode`. Old configs with `autoSync: false` resolve to `full-manual` via `getSyncMode()`.
39
63
 
40
- ### Blog
41
- - Blog post: [v0.8.2: Granular Sync Modes and Responsive Web](https://claude-multi.hmziq.xyz/blog/v082-granular-sync-modes-responsive-web/)
42
-
43
64
  ## [0.8.1] - 2026-06-03
44
65
 
45
66
  ### Fixed
@@ -47,9 +68,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
47
68
  - Updated `bin/claude-multi.js` to resolve `../build/cli.js` instead of `../dist/cli.js`.
48
69
  - Updated CI workflows (`ci.yml`, `publish.yml`) to verify `build/cli.js` instead of `dist/cli.js`.
49
70
 
50
- ### Blog
51
- - Blog post: [v0.8.1: Fixing the Broken npm Package](https://claude-multi.hmziq.xyz/blog/v081-fixing-the-broken-npm-package/)
52
-
53
71
  ## [0.8.0] - 2026-06-01
54
72
 
55
73
  ### Changed
@@ -89,9 +107,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
89
107
  - `add` command PATH check was Unix-only (`lastIndexOf('/')` and `split(':')`).
90
108
  - Health check had no regex for Windows `.cmd` wrapper format.
91
109
 
92
- ### Blog
93
- - Blog post: [v0.7.0: No More Pinned Claude Binary](https://claude-multi.hmziq.xyz/blog/v070-no-more-pinned-claude/)
94
-
95
110
  ## [0.6.5] - 2026-05-30
96
111
 
97
112
  ### Added
@@ -108,9 +123,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
108
123
  - **Doctor fix guard**: `handleDoctorFix` is now guarded against double-invocation from rapid keypresses.
109
124
  - Removed pre-existing TypeScript type errors in `migration.ts` v0.6.3 migration body (narrow `Record` type inference on `newEnv`).
110
125
 
111
- ### Blog
112
- - Blog post: [v0.6.5: Action Buttons, Health Screen Fix, Hardened Migrations](https://claude-multi.hmziq.xyz/blog/v065-instance-actions-health-fix/)
113
-
114
126
  ## [0.6.4] - 2026-05-29
115
127
 
116
128
  ### Added
@@ -118,9 +130,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
118
130
  - `detectProvider()` and `getProviderByBaseUrl()` in `templates.ts` match a base URL to a provider template name.
119
131
  - `providerTemplate` field on the `Instance` type. New instances store it; migration backfills it for existing instances.
120
132
 
121
- ### Blog
122
- - Blog post: [v0.6.4: Existing Instances Now Auto-Sync Provider Template Updates](https://claude-multi.hmziq.xyz/blog/v064-provider-template-sync/)
123
-
124
133
  ## [0.6.3] - 2026-05-29
125
134
 
126
135
  ### Changed
@@ -142,9 +151,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
142
151
  ### Fixed
143
152
  - Health test compared `fixWrapperVersions` output against `generateWrapperScript()` (resolves via env override) instead of `buildWrapperScript(inst, PINNED_CLAUDE_BIN)` (what the function actually uses). Would break if `CLAUDE_MULTI_CLAUDE_PATH` was set.
144
153
 
145
- ### Blog
146
- - Blog post: [v0.6.3: Drop the Pinned Binary, Update Every Provider Template](https://claude-multi.hmziq.xyz/blog/v063-migration-and-provider-updates/)
147
-
148
154
  ### Added
149
155
  - Instances track the claude-multi version they were created with (`createdWithVersion`). New instances get the current version. Instances created before this field existed get `0.5` and show "before version tracking" in the UI.
150
156
  - `doctor` and the TUI health screen report when instance migrations are pending or when an instance is running an older version.
@@ -176,9 +182,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
176
182
  - Unknown CLI subcommands exit with an error instead of falling through to the Ink TUI.
177
183
  - All version pinning and compatibility code tagged with `[SAFE PARK]` comments for easy discovery and reactivation.
178
184
 
179
- ### Added
180
- - Blog post: "Claude Code v2.1.156 fixes the third-party provider breakage"
181
-
182
185
  ## [0.6.0] - 2026-05-29
183
186
 
184
187
  ### Added
@@ -488,6 +491,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
488
491
  - Support for custom config and binary paths
489
492
  - Command-line interface built with Commander.js
490
493
 
494
+ [0.11.0]: https://github.com/hmziqrs/claude-multi/compare/v0.10.0...v0.11.0
491
495
  [0.8.2]: https://github.com/hmziqrs/claude-multi/compare/v0.8.1...v0.8.2
492
496
  [0.8.1]: https://github.com/hmziqrs/claude-multi/compare/v0.8.0...v0.8.1
493
497
  [0.8.0]: https://github.com/hmziqrs/claude-multi/compare/v0.7.0...v0.8.0
@@ -501,4 +505,4 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
501
505
  [0.4.4]: https://github.com/hmziqrs/claude-multi/compare/v0.4.3...v0.4.4
502
506
  [0.3.0]: https://github.com/hmziqrs/claude-multi/compare/v0.2.0...v0.3.0
503
507
  [0.2.0]: https://github.com/hmziqrs/claude-multi/compare/v0.1.0...v0.2.0
504
- [0.1.0]: https://github.com/hmziqrs/claude-multi/releases/tag/v0.1.0
508
+ [0.1.0]: https://github.com/hmziqrs/claude-multi/releases/tag/v0.1.0
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  <div align="center">
2
2
 
3
- <img src="public/favicon-animated.svg" width="256" height="256" alt="claude-multi logo">
3
+ <img src="https://raw.githubusercontent.com/hmziqrs/claude-multi/master/public/favicon-animated.svg" width="256" height="256" alt="claude-multi logo">
4
4
 
5
5
  <h1 align="center">claude-multi</h1>
6
6
 
@@ -49,7 +49,7 @@ Each instance is isolated. All of them run the normal, unmodified Claude Code bi
49
49
  ## Features
50
50
 
51
51
  * Multiple Claude Code instances, one `claude-<name>` command each.
52
- * Provider templates for GLM/Z.ai, MiniMax, and DeepSeek.
52
+ * Provider templates for GLM/Z.ai, MiniMax, DeepSeek, Xiaomi MiMo, Moonshot Kimi, and Qwen.
53
53
  * Isolated config directories. Every instance gets its own `~/.claude-<name>/`.
54
54
  * A full terminal UI that covers adding, listing, plugins, MCP, and sync.
55
55
  * Plugin management per instance: enable, disable, install, copy, remove.
package/build/cli.js CHANGED
@@ -7381,24 +7381,22 @@ var init_templates = __esm(() => {
7381
7381
  glm: {
7382
7382
  name: "glm",
7383
7383
  displayName: "GLM Coding Plan",
7384
- description: "GLM-5.1 and GLM-5-Turbo via z.ai Coding Plan subscription (Anthropic endpoint is coding-plan-only)",
7384
+ description: "GLM-5.3 and GLM-5-Turbo via z.ai Coding Plan subscription (Anthropic endpoint is coding-plan-only)",
7385
7385
  settings: {
7386
7386
  env: {
7387
7387
  ANTHROPIC_AUTH_TOKEN: "",
7388
7388
  ANTHROPIC_BASE_URL: "https://api.z.ai/api/anthropic",
7389
7389
  API_TIMEOUT_MS: "3000000",
7390
7390
  ANTHROPIC_DEFAULT_HAIKU_MODEL: "glm-5-turbo",
7391
- ANTHROPIC_DEFAULT_SONNET_MODEL: "glm-5-turbo",
7392
- ANTHROPIC_DEFAULT_OPUS_MODEL: "glm-5.1",
7393
- ANTHROPIC_MODEL: "glm-5.1",
7391
+ ANTHROPIC_DEFAULT_SONNET_MODEL: "glm-5.3[1m]",
7392
+ ANTHROPIC_DEFAULT_OPUS_MODEL: "glm-5.3[1m]",
7393
+ ANTHROPIC_MODEL: "glm-5.3[1m]",
7394
7394
  ANTHROPIC_SMALL_FAST_MODEL: "glm-5-turbo",
7395
7395
  ENABLE_THINKING: "true",
7396
7396
  REASONING_EFFORT: "high",
7397
7397
  MAX_THINKING_TOKENS: "8000",
7398
7398
  ENABLE_STREAMING: "true",
7399
- MAX_OUTPUT_TOKENS: "64000",
7400
- CLAUDE_CODE_AUTO_COMPACT_WINDOW: "131072",
7401
- CLAUDE_AUTOCOMPACT_PCT_OVERRIDE: "75"
7399
+ MAX_OUTPUT_TOKENS: "128000"
7402
7400
  },
7403
7401
  includeCoAuthoredBy: false,
7404
7402
  alwaysThinkingEnabled: false
@@ -60573,7 +60571,7 @@ var import_react78, jsx_dev_runtime18, GoodbyeScreen = () => {
60573
60571
  ] : [],
60574
60572
  { label: "\uD83E\uDE7A Doctor check", value: "doctor-check" },
60575
60573
  ...hasVersionIssues ? [{ label: "\uD83D\uDD27 Fix wrappers (3rd-party API)", value: "doctor-fix" }] : [],
60576
- ...instanceMigrationVersion && instanceMigrationVersion !== getClaudeMultiVersion() ? [{ label: "⬆️ Run instance migrations", value: "doctor-fix" }] : [],
60574
+ ...instanceMigrationVersion && instanceMigrationVersion !== getClaudeMultiVersion() ? [{ label: "⬆️ Run instance migrations", value: "doctor-migrate" }] : [],
60577
60575
  { label: "\uD83D\uDCE6 Check for updates", value: "update" },
60578
60576
  { label: "\uD83D\uDEAA Exit", value: "exit" }
60579
60577
  ];
@@ -60605,7 +60603,7 @@ var import_react78, jsx_dev_runtime18, GoodbyeScreen = () => {
60605
60603
  setTimeout(() => exit(), 300);
60606
60604
  } else if (value === "doctor-check") {
60607
60605
  setScreen("health");
60608
- } else if (value === "doctor-fix") {
60606
+ } else if (value === "doctor-fix" || value === "doctor-migrate") {
60609
60607
  await handleDoctorFix();
60610
60608
  } else {
60611
60609
  setScreen(value);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claude-multi",
3
- "version": "0.9.0",
3
+ "version": "0.11.0",
4
4
  "description": "Manage multiple Claude Code instances with different aliases and configurations",
5
5
  "type": "module",
6
6
  "bin": {
@@ -50,15 +50,14 @@
50
50
  },
51
51
  "devDependencies": {
52
52
  "@astrojs/check": "^0.9.9",
53
- "@astrojs/starlight": "^0.39.2",
54
- "@astrojs/tailwind": "^6.0.2",
53
+ "@astrojs/starlight": "^0.41.3",
55
54
  "@inkjs/ui": "^2.0.0",
56
55
  "@tailwindcss/vite": "^4.3.0",
57
56
  "@types/node": "^20.0.0",
58
57
  "@types/prompts": "^2.4.9",
59
58
  "@types/react": "^19.2.14",
60
59
  "@types/semver": "^7.7.1",
61
- "astro": "^6.4.2",
60
+ "astro": "^7.0.7",
62
61
  "bun-types": "latest",
63
62
  "chalk": "^5.3.0",
64
63
  "commander": "^12.0.0",
@@ -78,7 +77,8 @@
78
77
  "bun": ">=1.0.0"
79
78
  },
80
79
  "dependencies": {
81
- "@astrojs/rss": "^4.0.18",
80
+ "@astrojs/rss": "^4.0.19",
81
+ "@astrojs/sitemap": "^3.7.3",
82
82
  "@iconify-json/lucide": "^1.2.109",
83
83
  "@iconify-json/simple-icons": "^1.2.83",
84
84
  "astro-icon": "^1.1.5",