claude-use 11.68.1 → 11.68.3

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/dist/cli.cjs CHANGED
@@ -37387,7 +37387,7 @@ var init_package = __esm({
37387
37387
  "package.json"() {
37388
37388
  package_default = {
37389
37389
  name: "claude-use",
37390
- version: "11.68.1",
37390
+ version: "11.68.3",
37391
37391
  description: "A profile manager and launcher for Claude Code that lets one person run multiple logins from one machine while controlling what gets shared between them.",
37392
37392
  license: "MIT",
37393
37393
  author: "Joseph Mearman <joseph@mearman.co.uk>",
@@ -67638,6 +67638,95 @@ var init_claudeSession = __esm({
67638
67638
  }
67639
67639
  });
67640
67640
 
67641
+ // src/launcher/claudeSubcommand.ts
67642
+ function isOptionValue(token) {
67643
+ return token !== void 0 && !token.startsWith("-");
67644
+ }
67645
+ function isClaudeSubcommand(passthrough) {
67646
+ let index = 0;
67647
+ while (index < passthrough.length) {
67648
+ const token = passthrough[index];
67649
+ if (token === void 0 || token === "--") {
67650
+ return false;
67651
+ }
67652
+ if (!token.startsWith("-")) {
67653
+ return CLAUDE_SUBCOMMANDS.has(token);
67654
+ }
67655
+ index += 1;
67656
+ if (token.includes("=")) {
67657
+ continue;
67658
+ }
67659
+ if (VALUE_OPTIONS.has(token)) {
67660
+ index += 1;
67661
+ } else if (VARIADIC_OPTIONS.has(token)) {
67662
+ while (isOptionValue(passthrough[index])) {
67663
+ index += 1;
67664
+ }
67665
+ } else if (OPTIONAL_VALUE_OPTIONS.has(token) && isOptionValue(passthrough[index])) {
67666
+ index += 1;
67667
+ }
67668
+ }
67669
+ return false;
67670
+ }
67671
+ var CLAUDE_SUBCOMMANDS, VALUE_OPTIONS, VARIADIC_OPTIONS, OPTIONAL_VALUE_OPTIONS;
67672
+ var init_claudeSubcommand = __esm({
67673
+ "src/launcher/claudeSubcommand.ts"() {
67674
+ "use strict";
67675
+ CLAUDE_SUBCOMMANDS = /* @__PURE__ */ new Set([
67676
+ "agents",
67677
+ "attach",
67678
+ "auth",
67679
+ "auto-mode",
67680
+ "doctor",
67681
+ "gateway",
67682
+ "import",
67683
+ "install",
67684
+ "kill",
67685
+ "logs",
67686
+ "mcp",
67687
+ "plugin",
67688
+ "plugins",
67689
+ "purge",
67690
+ "respawn",
67691
+ "rm",
67692
+ "setup-token",
67693
+ "stop",
67694
+ "ultrareview",
67695
+ "update",
67696
+ "upgrade"
67697
+ ]);
67698
+ VALUE_OPTIONS = /* @__PURE__ */ new Set([
67699
+ "--agent",
67700
+ "--agents",
67701
+ "--append-system-prompt",
67702
+ "--autocompact",
67703
+ "--debug-file",
67704
+ "--effort",
67705
+ "--environment",
67706
+ "--fallback-model",
67707
+ "--input-format",
67708
+ "--json-schema",
67709
+ "--max-budget-usd",
67710
+ "--model",
67711
+ "--name",
67712
+ "-n",
67713
+ "--output-format",
67714
+ "--permission-mode",
67715
+ "--permission-prompts",
67716
+ "--plugin-dir",
67717
+ "--plugin-url",
67718
+ "--remote-control-session-name-prefix",
67719
+ "--session-id",
67720
+ "--setting-sources",
67721
+ "--settings",
67722
+ "--system-prompt",
67723
+ "--system-prompt-snapshot"
67724
+ ]);
67725
+ VARIADIC_OPTIONS = /* @__PURE__ */ new Set(["--add-dir", "--allowed-tools", "--allowedTools", "--betas", "--disallowed-tools", "--disallowedTools", "--file", "--mcp-config", "--tools"]);
67726
+ OPTIONAL_VALUE_OPTIONS = /* @__PURE__ */ new Set(["--cloud", "--debug", "-d", "--from-pr", "--prompt-suggestions", "--remote-control", "--resume", "-r", "--teleport", "--worktree", "-w"]);
67727
+ }
67728
+ });
67729
+
67641
67730
  // src/launcher/diagnostics.ts
67642
67731
  function diagnosticLines(diagnostics) {
67643
67732
  const unclassified = [...new Set(diagnostics.filter((diagnostic) => diagnostic.code === "UNCLASSIFIED_ENTRY").map((diagnostic) => diagnostic.subject))];
@@ -69848,15 +69937,16 @@ function decideLaunch(params, readOnly) {
69848
69937
  });
69849
69938
  const pickerSettings = modelPickerSettingsFromRows(routedModelRows(models ?? {}, listedProviders), selectedProvider !== void 0);
69850
69939
  const callerSettings = hasSettingsArgument(parsedArgv.rest);
69851
- if (pickerSettings !== void 0 && callerSettings) {
69940
+ const startsSession = !isClaudeSubcommand(parsedArgv.rest);
69941
+ if (startsSession && pickerSettings !== void 0 && callerSettings) {
69852
69942
  notes.push("--settings was passed, so /model keeps Claude Code's own model names");
69853
69943
  }
69854
69944
  const launcherSettings = mergeSettings([params.supervised?.settings, callerSettings ? void 0 : pickerSettings]);
69855
- const args = buildArgv({
69945
+ const args = startsSession ? buildArgv({
69856
69946
  toolFlags: buildFlagArgs(flags),
69857
69947
  extraFlags: splitExtraFlags(env.CLAUDE_EXTRA_FLAGS),
69858
69948
  passthrough: withLauncherSettings(params.supervised === void 0 ? parsedArgv.rest : withSupervision(parsedArgv.rest, params.supervised), launcherSettings)
69859
- });
69949
+ }) : [...parsedArgv.rest];
69860
69950
  const configDir = configDirEscapeHatchApplies || identityDecision.name === void 0 ? env.CLAUDE_CONFIG_DIR : import_node_path43.default.join(paths.identitiesDir, identityDecision.name);
69861
69951
  const decision = {
69862
69952
  identitySource: identityDecision.source,
@@ -70074,6 +70164,7 @@ var init_launcher = __esm({
70074
70164
  init_flags();
70075
70165
  init_extraFlags();
70076
70166
  init_claudeSession();
70167
+ init_claudeSubcommand();
70077
70168
  init_diagnostics();
70078
70169
  init_hold();
70079
70170
  init_launchReport();
@@ -157168,6 +157259,7 @@ async function realRefresher(params) {
157168
157259
  // src/supervise/launch.ts
157169
157260
  var import_node_crypto29 = require("node:crypto");
157170
157261
  init_claudeSession();
157262
+ init_claudeSubcommand();
157171
157263
  init_pool();
157172
157264
  init_realPorts();
157173
157265
  init_resumeContext();
@@ -157749,6 +157841,9 @@ async function supervise(deps, first) {
157749
157841
  }
157750
157842
 
157751
157843
  // src/supervise/launch.ts
157844
+ function supervisesLaunch(pool, passthrough) {
157845
+ return pool?.resumeOnLimit === true && !isClaudeSubcommand(passthrough);
157846
+ }
157752
157847
  async function runSupervised(params) {
157753
157848
  const { paths, pool, farm, log } = params;
157754
157849
  if (!process.stdin.isTTY || !process.stdout.isTTY) {
@@ -157975,7 +158070,7 @@ async function runClaude(argvOverride) {
157975
158070
  update: realLaunchUpdatePort(paths)
157976
158071
  };
157977
158072
  const poolName = identityDecision.pool;
157978
- if (poolName !== void 0 && farm.pools?.[poolName]?.resumeOnLimit === true) {
158073
+ if (poolName !== void 0 && farm.pools !== void 0 && supervisesLaunch(farm.pools[poolName], nativeArgv.rest)) {
157979
158074
  const code = await runSupervised({
157980
158075
  paths,
157981
158076
  pool: poolName,
package/dist/index.cjs CHANGED
@@ -4762,7 +4762,7 @@ var init_package = __esm({
4762
4762
  "package.json"() {
4763
4763
  package_default = {
4764
4764
  name: "claude-use",
4765
- version: "11.68.1",
4765
+ version: "11.68.3",
4766
4766
  description: "A profile manager and launcher for Claude Code that lets one person run multiple logins from one machine while controlling what gets shared between them.",
4767
4767
  license: "MIT",
4768
4768
  author: "Joseph Mearman <joseph@mearman.co.uk>",
@@ -11162,6 +11162,95 @@ var init_claudeSession = __esm({
11162
11162
  }
11163
11163
  });
11164
11164
 
11165
+ // src/launcher/claudeSubcommand.ts
11166
+ function isOptionValue(token) {
11167
+ return token !== void 0 && !token.startsWith("-");
11168
+ }
11169
+ function isClaudeSubcommand(passthrough) {
11170
+ let index = 0;
11171
+ while (index < passthrough.length) {
11172
+ const token = passthrough[index];
11173
+ if (token === void 0 || token === "--") {
11174
+ return false;
11175
+ }
11176
+ if (!token.startsWith("-")) {
11177
+ return CLAUDE_SUBCOMMANDS.has(token);
11178
+ }
11179
+ index += 1;
11180
+ if (token.includes("=")) {
11181
+ continue;
11182
+ }
11183
+ if (VALUE_OPTIONS.has(token)) {
11184
+ index += 1;
11185
+ } else if (VARIADIC_OPTIONS.has(token)) {
11186
+ while (isOptionValue(passthrough[index])) {
11187
+ index += 1;
11188
+ }
11189
+ } else if (OPTIONAL_VALUE_OPTIONS.has(token) && isOptionValue(passthrough[index])) {
11190
+ index += 1;
11191
+ }
11192
+ }
11193
+ return false;
11194
+ }
11195
+ var CLAUDE_SUBCOMMANDS, VALUE_OPTIONS, VARIADIC_OPTIONS, OPTIONAL_VALUE_OPTIONS;
11196
+ var init_claudeSubcommand = __esm({
11197
+ "src/launcher/claudeSubcommand.ts"() {
11198
+ "use strict";
11199
+ CLAUDE_SUBCOMMANDS = /* @__PURE__ */ new Set([
11200
+ "agents",
11201
+ "attach",
11202
+ "auth",
11203
+ "auto-mode",
11204
+ "doctor",
11205
+ "gateway",
11206
+ "import",
11207
+ "install",
11208
+ "kill",
11209
+ "logs",
11210
+ "mcp",
11211
+ "plugin",
11212
+ "plugins",
11213
+ "purge",
11214
+ "respawn",
11215
+ "rm",
11216
+ "setup-token",
11217
+ "stop",
11218
+ "ultrareview",
11219
+ "update",
11220
+ "upgrade"
11221
+ ]);
11222
+ VALUE_OPTIONS = /* @__PURE__ */ new Set([
11223
+ "--agent",
11224
+ "--agents",
11225
+ "--append-system-prompt",
11226
+ "--autocompact",
11227
+ "--debug-file",
11228
+ "--effort",
11229
+ "--environment",
11230
+ "--fallback-model",
11231
+ "--input-format",
11232
+ "--json-schema",
11233
+ "--max-budget-usd",
11234
+ "--model",
11235
+ "--name",
11236
+ "-n",
11237
+ "--output-format",
11238
+ "--permission-mode",
11239
+ "--permission-prompts",
11240
+ "--plugin-dir",
11241
+ "--plugin-url",
11242
+ "--remote-control-session-name-prefix",
11243
+ "--session-id",
11244
+ "--setting-sources",
11245
+ "--settings",
11246
+ "--system-prompt",
11247
+ "--system-prompt-snapshot"
11248
+ ]);
11249
+ VARIADIC_OPTIONS = /* @__PURE__ */ new Set(["--add-dir", "--allowed-tools", "--allowedTools", "--betas", "--disallowed-tools", "--disallowedTools", "--file", "--mcp-config", "--tools"]);
11250
+ OPTIONAL_VALUE_OPTIONS = /* @__PURE__ */ new Set(["--cloud", "--debug", "-d", "--from-pr", "--prompt-suggestions", "--remote-control", "--resume", "-r", "--teleport", "--worktree", "-w"]);
11251
+ }
11252
+ });
11253
+
11165
11254
  // src/launcher/diagnostics.ts
11166
11255
  function diagnosticLines(diagnostics) {
11167
11256
  const unclassified = [...new Set(diagnostics.filter((diagnostic) => diagnostic.code === "UNCLASSIFIED_ENTRY").map((diagnostic) => diagnostic.subject))];
@@ -11734,15 +11823,16 @@ function decideLaunch(params, readOnly) {
11734
11823
  });
11735
11824
  const pickerSettings = modelPickerSettingsFromRows(routedModelRows(models ?? {}, listedProviders), selectedProvider !== void 0);
11736
11825
  const callerSettings = hasSettingsArgument(parsedArgv.rest);
11737
- if (pickerSettings !== void 0 && callerSettings) {
11826
+ const startsSession = !isClaudeSubcommand(parsedArgv.rest);
11827
+ if (startsSession && pickerSettings !== void 0 && callerSettings) {
11738
11828
  notes.push("--settings was passed, so /model keeps Claude Code's own model names");
11739
11829
  }
11740
11830
  const launcherSettings = mergeSettings([params.supervised?.settings, callerSettings ? void 0 : pickerSettings]);
11741
- const args = buildArgv({
11831
+ const args = startsSession ? buildArgv({
11742
11832
  toolFlags: buildFlagArgs(flags),
11743
11833
  extraFlags: splitExtraFlags(env.CLAUDE_EXTRA_FLAGS),
11744
11834
  passthrough: withLauncherSettings(params.supervised === void 0 ? parsedArgv.rest : withSupervision(parsedArgv.rest, params.supervised), launcherSettings)
11745
- });
11835
+ }) : [...parsedArgv.rest];
11746
11836
  const configDir = configDirEscapeHatchApplies || identityDecision.name === void 0 ? env.CLAUDE_CONFIG_DIR : import_node_path38.default.join(paths.identitiesDir, identityDecision.name);
11747
11837
  const decision = {
11748
11838
  identitySource: identityDecision.source,
@@ -11960,6 +12050,7 @@ var init_launcher = __esm({
11960
12050
  init_flags();
11961
12051
  init_extraFlags();
11962
12052
  init_claudeSession();
12053
+ init_claudeSubcommand();
11963
12054
  init_diagnostics();
11964
12055
  init_hold();
11965
12056
  init_launchReport();
package/dist/index.mjs CHANGED
@@ -4738,7 +4738,7 @@ var init_package = __esm({
4738
4738
  "package.json"() {
4739
4739
  package_default = {
4740
4740
  name: "claude-use",
4741
- version: "11.68.1",
4741
+ version: "11.68.3",
4742
4742
  description: "A profile manager and launcher for Claude Code that lets one person run multiple logins from one machine while controlling what gets shared between them.",
4743
4743
  license: "MIT",
4744
4744
  author: "Joseph Mearman <joseph@mearman.co.uk>",
@@ -11134,6 +11134,95 @@ var init_claudeSession = __esm({
11134
11134
  }
11135
11135
  });
11136
11136
 
11137
+ // src/launcher/claudeSubcommand.ts
11138
+ function isOptionValue(token) {
11139
+ return token !== void 0 && !token.startsWith("-");
11140
+ }
11141
+ function isClaudeSubcommand(passthrough) {
11142
+ let index = 0;
11143
+ while (index < passthrough.length) {
11144
+ const token = passthrough[index];
11145
+ if (token === void 0 || token === "--") {
11146
+ return false;
11147
+ }
11148
+ if (!token.startsWith("-")) {
11149
+ return CLAUDE_SUBCOMMANDS.has(token);
11150
+ }
11151
+ index += 1;
11152
+ if (token.includes("=")) {
11153
+ continue;
11154
+ }
11155
+ if (VALUE_OPTIONS.has(token)) {
11156
+ index += 1;
11157
+ } else if (VARIADIC_OPTIONS.has(token)) {
11158
+ while (isOptionValue(passthrough[index])) {
11159
+ index += 1;
11160
+ }
11161
+ } else if (OPTIONAL_VALUE_OPTIONS.has(token) && isOptionValue(passthrough[index])) {
11162
+ index += 1;
11163
+ }
11164
+ }
11165
+ return false;
11166
+ }
11167
+ var CLAUDE_SUBCOMMANDS, VALUE_OPTIONS, VARIADIC_OPTIONS, OPTIONAL_VALUE_OPTIONS;
11168
+ var init_claudeSubcommand = __esm({
11169
+ "src/launcher/claudeSubcommand.ts"() {
11170
+ "use strict";
11171
+ CLAUDE_SUBCOMMANDS = /* @__PURE__ */ new Set([
11172
+ "agents",
11173
+ "attach",
11174
+ "auth",
11175
+ "auto-mode",
11176
+ "doctor",
11177
+ "gateway",
11178
+ "import",
11179
+ "install",
11180
+ "kill",
11181
+ "logs",
11182
+ "mcp",
11183
+ "plugin",
11184
+ "plugins",
11185
+ "purge",
11186
+ "respawn",
11187
+ "rm",
11188
+ "setup-token",
11189
+ "stop",
11190
+ "ultrareview",
11191
+ "update",
11192
+ "upgrade"
11193
+ ]);
11194
+ VALUE_OPTIONS = /* @__PURE__ */ new Set([
11195
+ "--agent",
11196
+ "--agents",
11197
+ "--append-system-prompt",
11198
+ "--autocompact",
11199
+ "--debug-file",
11200
+ "--effort",
11201
+ "--environment",
11202
+ "--fallback-model",
11203
+ "--input-format",
11204
+ "--json-schema",
11205
+ "--max-budget-usd",
11206
+ "--model",
11207
+ "--name",
11208
+ "-n",
11209
+ "--output-format",
11210
+ "--permission-mode",
11211
+ "--permission-prompts",
11212
+ "--plugin-dir",
11213
+ "--plugin-url",
11214
+ "--remote-control-session-name-prefix",
11215
+ "--session-id",
11216
+ "--setting-sources",
11217
+ "--settings",
11218
+ "--system-prompt",
11219
+ "--system-prompt-snapshot"
11220
+ ]);
11221
+ VARIADIC_OPTIONS = /* @__PURE__ */ new Set(["--add-dir", "--allowed-tools", "--allowedTools", "--betas", "--disallowed-tools", "--disallowedTools", "--file", "--mcp-config", "--tools"]);
11222
+ OPTIONAL_VALUE_OPTIONS = /* @__PURE__ */ new Set(["--cloud", "--debug", "-d", "--from-pr", "--prompt-suggestions", "--remote-control", "--resume", "-r", "--teleport", "--worktree", "-w"]);
11223
+ }
11224
+ });
11225
+
11137
11226
  // src/launcher/diagnostics.ts
11138
11227
  function diagnosticLines(diagnostics) {
11139
11228
  const unclassified = [...new Set(diagnostics.filter((diagnostic) => diagnostic.code === "UNCLASSIFIED_ENTRY").map((diagnostic) => diagnostic.subject))];
@@ -11709,15 +11798,16 @@ function decideLaunch(params, readOnly) {
11709
11798
  });
11710
11799
  const pickerSettings = modelPickerSettingsFromRows(routedModelRows(models ?? {}, listedProviders), selectedProvider !== void 0);
11711
11800
  const callerSettings = hasSettingsArgument(parsedArgv.rest);
11712
- if (pickerSettings !== void 0 && callerSettings) {
11801
+ const startsSession = !isClaudeSubcommand(parsedArgv.rest);
11802
+ if (startsSession && pickerSettings !== void 0 && callerSettings) {
11713
11803
  notes.push("--settings was passed, so /model keeps Claude Code's own model names");
11714
11804
  }
11715
11805
  const launcherSettings = mergeSettings([params.supervised?.settings, callerSettings ? void 0 : pickerSettings]);
11716
- const args = buildArgv({
11806
+ const args = startsSession ? buildArgv({
11717
11807
  toolFlags: buildFlagArgs(flags),
11718
11808
  extraFlags: splitExtraFlags(env.CLAUDE_EXTRA_FLAGS),
11719
11809
  passthrough: withLauncherSettings(params.supervised === void 0 ? parsedArgv.rest : withSupervision(parsedArgv.rest, params.supervised), launcherSettings)
11720
- });
11810
+ }) : [...parsedArgv.rest];
11721
11811
  const configDir = configDirEscapeHatchApplies || identityDecision.name === void 0 ? env.CLAUDE_CONFIG_DIR : path38.join(paths.identitiesDir, identityDecision.name);
11722
11812
  const decision = {
11723
11813
  identitySource: identityDecision.source,
@@ -11931,6 +12021,7 @@ var init_launcher = __esm({
11931
12021
  init_flags();
11932
12022
  init_extraFlags();
11933
12023
  init_claudeSession();
12024
+ init_claudeSubcommand();
11934
12025
  init_diagnostics();
11935
12026
  init_hold();
11936
12027
  init_launchReport();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claude-use",
3
- "version": "11.68.1",
3
+ "version": "11.68.3",
4
4
  "description": "A profile manager and launcher for Claude Code that lets one person run multiple logins from one machine while controlling what gets shared between them.",
5
5
  "license": "MIT",
6
6
  "author": "Joseph Mearman <joseph@mearman.co.uk>",