localclawd 1.1.16 → 1.1.17

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.
Files changed (3) hide show
  1. package/README.md +2 -1
  2. package/dist/cli.mjs +80 -80
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -173,9 +173,10 @@ If you want to use the Anthropic API directly, set `ANTHROPIC_API_KEY` in your e
173
173
 
174
174
  ## Release status
175
175
 
176
- `v1.1.16` is live on npm. Install globally with `npm install -g localclawd` or run without installing with `npx localclawd`.
176
+ `v1.1.17` is live on npm. Install globally with `npm install -g localclawd` or run without installing with `npx localclawd`.
177
177
 
178
178
  **Changelog**
179
+ - `1.1.17` — Fix startup crash: Command.hideHelp() not available in Commander.js v14 — use { hidden: true } option instead.
179
180
  - `1.1.16` — Complete branding purge (no Claude/Anthropic references anywhere in UI or prompts); Grove data-sharing and subscription features fully disabled; MCP client identity updated to localclawd; all cloud-only error messages reworded to be backend-agnostic.
180
181
  - `1.1.15` — Full branding cleanup (no Anthropic/Claude references in UI); global crash handler shows errors instead of silent exit; auth commands hidden (use env vars or /setup); all startup errors surfaced with actionable messages.
181
182
  - `1.1.14` — Error handling for all startup awaits; clean build artifacts before rebuild to prevent stale cache issues.
package/dist/cli.mjs CHANGED
@@ -89227,7 +89227,7 @@ var init_isEqual = __esm(() => {
89227
89227
 
89228
89228
  // src/utils/userAgent.ts
89229
89229
  function getClaudeCodeUserAgent() {
89230
- return `claude-code/${"1.1.16"}`;
89230
+ return `claude-code/${"1.1.17"}`;
89231
89231
  }
89232
89232
 
89233
89233
  // src/utils/workloadContext.ts
@@ -89249,7 +89249,7 @@ function getUserAgent() {
89249
89249
  const clientApp = process.env.CLAUDE_AGENT_SDK_CLIENT_APP ? `, client-app/${process.env.CLAUDE_AGENT_SDK_CLIENT_APP}` : "";
89250
89250
  const workload = getWorkload();
89251
89251
  const workloadSuffix = workload ? `, workload/${workload}` : "";
89252
- return `claude-cli/${"1.1.16"} (${process.env.USER_TYPE}, ${process.env.CLAUDE_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
89252
+ return `claude-cli/${"1.1.17"} (${process.env.USER_TYPE}, ${process.env.CLAUDE_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
89253
89253
  }
89254
89254
  function getMCPUserAgent() {
89255
89255
  const parts = [];
@@ -89263,7 +89263,7 @@ function getMCPUserAgent() {
89263
89263
  parts.push(`client-app/${process.env.CLAUDE_AGENT_SDK_CLIENT_APP}`);
89264
89264
  }
89265
89265
  const suffix = parts.length > 0 ? ` (${parts.join(", ")})` : "";
89266
- return `claude-code/${"1.1.16"}${suffix}`;
89266
+ return `claude-code/${"1.1.17"}${suffix}`;
89267
89267
  }
89268
89268
  function getWebFetchUserAgent() {
89269
89269
  return `Claude-User (${getClaudeCodeUserAgent()}; +https://support.anthropic.com/)`;
@@ -99172,7 +99172,7 @@ function getAttributionHeader(fingerprint) {
99172
99172
  if (!isAttributionHeaderEnabled()) {
99173
99173
  return "";
99174
99174
  }
99175
- const version = `${"1.1.16"}.${fingerprint}`;
99175
+ const version = `${"1.1.17"}.${fingerprint}`;
99176
99176
  const entrypoint = process.env.CLAUDE_CODE_ENTRYPOINT ?? "unknown";
99177
99177
  const cch = "";
99178
99178
  const workload = getWorkload();
@@ -132719,7 +132719,7 @@ var init_metadata = __esm(() => {
132719
132719
  COMPOUND_OPERATOR_REGEX = /\s*(?:&&|\|\||[;|])\s*/;
132720
132720
  WHITESPACE_REGEX = /\s+/;
132721
132721
  getVersionBase = memoize_default(() => {
132722
- const match = "1.1.16".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
132722
+ const match = "1.1.17".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
132723
132723
  return match ? match[0] : undefined;
132724
132724
  });
132725
132725
  buildEnvContext = memoize_default(async () => {
@@ -132759,9 +132759,9 @@ var init_metadata = __esm(() => {
132759
132759
  isGithubAction: isEnvTruthy(process.env.GITHUB_ACTIONS),
132760
132760
  isClaudeCodeAction: isEnvTruthy(process.env.CLAUDE_CODE_ACTION),
132761
132761
  isClaudeAiAuth: isClaudeAISubscriber(),
132762
- version: "1.1.16",
132762
+ version: "1.1.17",
132763
132763
  versionBase: getVersionBase(),
132764
- buildTime: "2026-04-08T22:59:48.602Z",
132764
+ buildTime: "2026-04-08T23:07:42.054Z",
132765
132765
  deploymentEnvironment: env4.detectDeploymentEnvironment(),
132766
132766
  ...isEnvTruthy(process.env.GITHUB_ACTIONS) && {
132767
132767
  githubEventName: process.env.GITHUB_EVENT_NAME,
@@ -197348,7 +197348,7 @@ function getTelemetryAttributes() {
197348
197348
  attributes["session.id"] = sessionId;
197349
197349
  }
197350
197350
  if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
197351
- attributes["app.version"] = "1.1.16";
197351
+ attributes["app.version"] = "1.1.17";
197352
197352
  }
197353
197353
  const oauthAccount = getOauthAccountInfo();
197354
197354
  if (oauthAccount) {
@@ -229409,7 +229409,7 @@ function getInstallationEnv() {
229409
229409
  return;
229410
229410
  }
229411
229411
  function getClaudeCodeVersion() {
229412
- return "1.1.16";
229412
+ return "1.1.17";
229413
229413
  }
229414
229414
  async function getInstalledVSCodeExtensionVersion(command) {
229415
229415
  const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
@@ -235011,7 +235011,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
235011
235011
  const client4 = new Client({
235012
235012
  name: "localclawd",
235013
235013
  title: "localclawd",
235014
- version: "1.1.16",
235014
+ version: "1.1.17",
235015
235015
  description: "local-first AI coding tool",
235016
235016
  websiteUrl: PRODUCT_URL
235017
235017
  }, {
@@ -235364,7 +235364,7 @@ var init_client9 = __esm(() => {
235364
235364
  const client4 = new Client({
235365
235365
  name: "localclawd",
235366
235366
  title: "localclawd",
235367
- version: "1.1.16",
235367
+ version: "1.1.17",
235368
235368
  description: "local-first AI coding tool",
235369
235369
  websiteUrl: PRODUCT_URL
235370
235370
  }, {
@@ -258556,7 +258556,7 @@ var init_user = __esm(() => {
258556
258556
  deviceId,
258557
258557
  sessionId: getSessionId(),
258558
258558
  email: getEmail(),
258559
- appVersion: "1.1.16",
258559
+ appVersion: "1.1.17",
258560
258560
  platform: getHostPlatformForAnalytics(),
258561
258561
  organizationUuid,
258562
258562
  accountUuid,
@@ -259880,7 +259880,7 @@ async function initializeBetaTracing(resource) {
259880
259880
  });
259881
259881
  logs.setGlobalLoggerProvider(loggerProvider);
259882
259882
  setLoggerProvider(loggerProvider);
259883
- const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "1.1.16");
259883
+ const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "1.1.17");
259884
259884
  setEventLogger(eventLogger);
259885
259885
  process.on("beforeExit", async () => {
259886
259886
  await loggerProvider?.forceFlush();
@@ -259920,7 +259920,7 @@ async function initializeTelemetry() {
259920
259920
  const platform3 = getPlatform();
259921
259921
  const baseAttributes = {
259922
259922
  [ATTR_SERVICE_NAME5]: "claude-code",
259923
- [ATTR_SERVICE_VERSION5]: "1.1.16"
259923
+ [ATTR_SERVICE_VERSION5]: "1.1.17"
259924
259924
  };
259925
259925
  if (platform3 === "wsl") {
259926
259926
  const wslVersion = getWslVersion();
@@ -259965,7 +259965,7 @@ async function initializeTelemetry() {
259965
259965
  } catch {}
259966
259966
  };
259967
259967
  registerCleanup(shutdownTelemetry2);
259968
- return meterProvider2.getMeter("com.anthropic.claude_code", "1.1.16");
259968
+ return meterProvider2.getMeter("com.anthropic.claude_code", "1.1.17");
259969
259969
  }
259970
259970
  const meterProvider = new MeterProvider5({
259971
259971
  resource,
@@ -259985,7 +259985,7 @@ async function initializeTelemetry() {
259985
259985
  });
259986
259986
  logs.setGlobalLoggerProvider(loggerProvider);
259987
259987
  setLoggerProvider(loggerProvider);
259988
- const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "1.1.16");
259988
+ const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "1.1.17");
259989
259989
  setEventLogger(eventLogger);
259990
259990
  logForDebugging("[3P telemetry] Event logger set successfully");
259991
259991
  process.on("beforeExit", async () => {
@@ -260047,7 +260047,7 @@ Current timeout: ${timeoutMs}ms
260047
260047
  }
260048
260048
  };
260049
260049
  registerCleanup(shutdownTelemetry);
260050
- return meterProvider.getMeter("com.anthropic.claude_code", "1.1.16");
260050
+ return meterProvider.getMeter("com.anthropic.claude_code", "1.1.17");
260051
260051
  }
260052
260052
  async function flushTelemetry() {
260053
260053
  const meterProvider = getMeterProvider();
@@ -261270,7 +261270,7 @@ function detectLinuxGlobPatternWarnings() {
261270
261270
  }
261271
261271
  async function getDoctorDiagnostic() {
261272
261272
  const installationType = await getCurrentInstallationType();
261273
- const version = typeof MACRO !== "undefined" ? "1.1.16" : "unknown";
261273
+ const version = typeof MACRO !== "undefined" ? "1.1.17" : "unknown";
261274
261274
  const installationPath = await getInstallationPath();
261275
261275
  const invokedBinary = getInvokedBinary();
261276
261276
  const multipleInstallations = await detectMultipleInstallations();
@@ -262211,8 +262211,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
262211
262211
  const maxVersion = await getMaxVersion();
262212
262212
  if (maxVersion && gt(version, maxVersion)) {
262213
262213
  logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version} to ${maxVersion}`);
262214
- if (gte("1.1.16", maxVersion)) {
262215
- logForDebugging(`Native installer: current version ${"1.1.16"} is already at or above maxVersion ${maxVersion}, skipping update`);
262214
+ if (gte("1.1.17", maxVersion)) {
262215
+ logForDebugging(`Native installer: current version ${"1.1.17"} is already at or above maxVersion ${maxVersion}, skipping update`);
262216
262216
  logEvent("tengu_native_update_skipped_max_version", {
262217
262217
  latency_ms: Date.now() - startTime,
262218
262218
  max_version: maxVersion,
@@ -262223,7 +262223,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
262223
262223
  version = maxVersion;
262224
262224
  }
262225
262225
  }
262226
- if (!forceReinstall && version === "1.1.16" && await versionIsAvailable(version) && await isPossibleLocalClawdBinary(executablePath)) {
262226
+ if (!forceReinstall && version === "1.1.17" && await versionIsAvailable(version) && await isPossibleLocalClawdBinary(executablePath)) {
262227
262227
  logForDebugging(`Found ${version} at ${executablePath}, skipping install`);
262228
262228
  logEvent("tengu_native_update_complete", {
262229
262229
  latency_ms: Date.now() - startTime,
@@ -334443,7 +334443,7 @@ function getAnthropicEnvMetadata() {
334443
334443
  function getBuildAgeMinutes() {
334444
334444
  if (false)
334445
334445
  ;
334446
- const buildTime = new Date("2026-04-08T22:59:48.602Z").getTime();
334446
+ const buildTime = new Date("2026-04-08T23:07:42.054Z").getTime();
334447
334447
  if (isNaN(buildTime))
334448
334448
  return;
334449
334449
  return Math.floor((Date.now() - buildTime) / 60000);
@@ -358509,7 +358509,7 @@ function Feedback({
358509
358509
  platform: env4.platform,
358510
358510
  gitRepo: envInfo.isGit,
358511
358511
  terminal: env4.terminal,
358512
- version: "1.1.16",
358512
+ version: "1.1.17",
358513
358513
  transcript: normalizeMessagesForAPI(messages),
358514
358514
  errors: sanitizedErrors,
358515
358515
  lastApiRequest: getLastAPIRequest(),
@@ -358701,7 +358701,7 @@ function Feedback({
358701
358701
  ", ",
358702
358702
  env4.terminal,
358703
358703
  ", v",
358704
- "1.1.16"
358704
+ "1.1.17"
358705
358705
  ]
358706
358706
  }, undefined, true, undefined, this)
358707
358707
  ]
@@ -358807,7 +358807,7 @@ ${sanitizedDescription}
358807
358807
  ` + `**Environment Info**
358808
358808
  ` + `- Platform: ${env4.platform}
358809
358809
  ` + `- Terminal: ${env4.terminal}
358810
- ` + `- Version: ${"1.1.16"}
358810
+ ` + `- Version: ${"1.1.17"}
358811
358811
  ` + `- Feedback ID: ${feedbackId}
358812
358812
  ` + `
358813
358813
  **Errors**
@@ -361920,7 +361920,7 @@ function buildPrimarySection() {
361920
361920
  }, undefined, false, undefined, this);
361921
361921
  return [{
361922
361922
  label: "Version",
361923
- value: "1.1.16"
361923
+ value: "1.1.17"
361924
361924
  }, {
361925
361925
  label: "Session name",
361926
361926
  value: nameValue
@@ -366538,7 +366538,7 @@ function Config({
366538
366538
  }
366539
366539
  }, undefined, false, undefined, this)
366540
366540
  }, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime179.jsxDEV(ChannelDowngradeDialog, {
366541
- currentVersion: "1.1.16",
366541
+ currentVersion: "1.1.17",
366542
366542
  onChoice: (choice) => {
366543
366543
  setShowSubmenu(null);
366544
366544
  setTabsHidden(false);
@@ -366550,7 +366550,7 @@ function Config({
366550
366550
  autoUpdatesChannel: "stable"
366551
366551
  };
366552
366552
  if (choice === "stay") {
366553
- newSettings.minimumVersion = "1.1.16";
366553
+ newSettings.minimumVersion = "1.1.17";
366554
366554
  }
366555
366555
  updateSettingsForSource("userSettings", newSettings);
366556
366556
  setSettingsData((prev_27) => ({
@@ -376283,7 +376283,7 @@ function HelpV2(t0) {
376283
376283
  let t6;
376284
376284
  if ($2[31] !== tabs) {
376285
376285
  t6 = /* @__PURE__ */ jsx_dev_runtime214.jsxDEV(Tabs, {
376286
- title: `localclawd v${"1.1.16"}`,
376286
+ title: `localclawd v${"1.1.17"}`,
376287
376287
  color: "professionalBlue",
376288
376288
  defaultTab: "general",
376289
376289
  children: tabs
@@ -400441,7 +400441,7 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
400441
400441
  return [];
400442
400442
  }
400443
400443
  }
400444
- async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.1.16") {
400444
+ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.1.17") {
400445
400445
  if (process.env.USER_TYPE === "ant") {
400446
400446
  const changelog = MACRO.VERSION_CHANGELOG;
400447
400447
  if (changelog) {
@@ -400468,7 +400468,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.1.16")
400468
400468
  releaseNotes
400469
400469
  };
400470
400470
  }
400471
- function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.1.16") {
400471
+ function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.1.17") {
400472
400472
  if (process.env.USER_TYPE === "ant") {
400473
400473
  const changelog = MACRO.VERSION_CHANGELOG;
400474
400474
  if (changelog) {
@@ -401635,7 +401635,7 @@ function getRecentActivitySync() {
401635
401635
  return cachedActivity;
401636
401636
  }
401637
401637
  function getLogoDisplayData() {
401638
- const version = process.env.DEMO_VERSION ?? "1.1.16";
401638
+ const version = process.env.DEMO_VERSION ?? "1.1.17";
401639
401639
  const serverUrl = getDirectConnectServerUrl();
401640
401640
  const displayPath = process.env.DEMO_VERSION ? "/code/claude" : getDisplayPath(getCwd());
401641
401641
  const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
@@ -402909,7 +402909,7 @@ function LogoV2() {
402909
402909
  if ($2[2] === Symbol.for("react.memo_cache_sentinel")) {
402910
402910
  t2 = () => {
402911
402911
  const currentConfig = getGlobalConfig();
402912
- if (currentConfig.lastReleaseNotesSeen === "1.1.16") {
402912
+ if (currentConfig.lastReleaseNotesSeen === "1.1.17") {
402913
402913
  return;
402914
402914
  }
402915
402915
  saveGlobalConfig(_temp327);
@@ -403585,12 +403585,12 @@ function LogoV2() {
403585
403585
  return t41;
403586
403586
  }
403587
403587
  function _temp327(current) {
403588
- if (current.lastReleaseNotesSeen === "1.1.16") {
403588
+ if (current.lastReleaseNotesSeen === "1.1.17") {
403589
403589
  return current;
403590
403590
  }
403591
403591
  return {
403592
403592
  ...current,
403593
- lastReleaseNotesSeen: "1.1.16"
403593
+ lastReleaseNotesSeen: "1.1.17"
403594
403594
  };
403595
403595
  }
403596
403596
  function _temp245(s_0) {
@@ -429792,7 +429792,7 @@ async function captureMemoryDiagnostics(trigger, dumpNumber = 0) {
429792
429792
  smapsRollup,
429793
429793
  platform: process.platform,
429794
429794
  nodeVersion: process.version,
429795
- ccVersion: "1.1.16"
429795
+ ccVersion: "1.1.17"
429796
429796
  };
429797
429797
  }
429798
429798
  async function performHeapDump(trigger = "manual", dumpNumber = 0) {
@@ -430377,7 +430377,7 @@ var init_bridge_kick = __esm(() => {
430377
430377
  var call64 = async () => {
430378
430378
  return {
430379
430379
  type: "text",
430380
- value: `${"1.1.16"} (built ${"2026-04-08T22:59:48.602Z"})`
430380
+ value: `${"1.1.17"} (built ${"2026-04-08T23:07:42.054Z"})`
430381
430381
  };
430382
430382
  }, version, version_default;
430383
430383
  var init_version = __esm(() => {
@@ -439315,7 +439315,7 @@ function generateHtmlReport(data, insights) {
439315
439315
  </html>`;
439316
439316
  }
439317
439317
  function buildExportData(data, insights, facets, remoteStats) {
439318
- const version2 = typeof MACRO !== "undefined" ? "1.1.16" : "unknown";
439318
+ const version2 = typeof MACRO !== "undefined" ? "1.1.17" : "unknown";
439319
439319
  const remote_hosts_collected = remoteStats?.hosts.filter((h) => h.sessionCount > 0).map((h) => h.name);
439320
439320
  const facets_summary = {
439321
439321
  total: facets.size,
@@ -443482,7 +443482,7 @@ var init_sessionStorage = __esm(() => {
443482
443482
  init_settings2();
443483
443483
  init_slowOperations();
443484
443484
  init_uuid();
443485
- VERSION6 = typeof MACRO !== "undefined" ? "1.1.16" : "unknown";
443485
+ VERSION6 = typeof MACRO !== "undefined" ? "1.1.17" : "unknown";
443486
443486
  MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
443487
443487
  SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
443488
443488
  EPHEMERAL_PROGRESS_TYPES = new Set([
@@ -444684,7 +444684,7 @@ var init_filesystem = __esm(() => {
444684
444684
  });
444685
444685
  getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
444686
444686
  const nonce = randomBytes19(16).toString("hex");
444687
- return join130(getClaudeTempDir(), "bundled-skills", "1.1.16", nonce);
444687
+ return join130(getClaudeTempDir(), "bundled-skills", "1.1.17", nonce);
444688
444688
  });
444689
444689
  getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
444690
444690
  });
@@ -450683,7 +450683,7 @@ function computeFingerprint(messageText, version2) {
450683
450683
  }
450684
450684
  function computeFingerprintFromMessages(messages) {
450685
450685
  const firstMessageText = extractFirstMessageText(messages);
450686
- return computeFingerprint(firstMessageText, "1.1.16");
450686
+ return computeFingerprint(firstMessageText, "1.1.17");
450687
450687
  }
450688
450688
  var FINGERPRINT_SALT = "59cf53e54c78";
450689
450689
  var init_fingerprint = () => {};
@@ -452538,7 +452538,7 @@ async function sideQuery(opts) {
452538
452538
  betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
452539
452539
  }
452540
452540
  const messageText = extractFirstUserMessageText(messages);
452541
- const fingerprint = computeFingerprint(messageText, "1.1.16");
452541
+ const fingerprint = computeFingerprint(messageText, "1.1.17");
452542
452542
  const attributionHeader = getAttributionHeader(fingerprint);
452543
452543
  const systemBlocks = [
452544
452544
  attributionHeader ? { type: "text", text: attributionHeader } : null,
@@ -457336,7 +457336,7 @@ function buildSystemInitMessage(inputs) {
457336
457336
  slash_commands: inputs.commands.filter((c5) => c5.userInvocable !== false).map((c5) => c5.name),
457337
457337
  apiKeySource: getAnthropicApiKeyWithSource().source,
457338
457338
  betas: getSdkBetas(),
457339
- claude_code_version: "1.1.16",
457339
+ claude_code_version: "1.1.17",
457340
457340
  output_style: outputStyle2,
457341
457341
  agents: inputs.agents.map((agent) => agent.agentType),
457342
457342
  skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill) => skill.name),
@@ -471915,7 +471915,7 @@ var init_useVoiceEnabled = __esm(() => {
471915
471915
  function getSemverPart(version2) {
471916
471916
  return `${import_semver12.major(version2, { loose: true })}.${import_semver12.minor(version2, { loose: true })}.${import_semver12.patch(version2, { loose: true })}`;
471917
471917
  }
471918
- function useUpdateNotification(updatedVersion, initialVersion = "1.1.16") {
471918
+ function useUpdateNotification(updatedVersion, initialVersion = "1.1.17") {
471919
471919
  const [lastNotifiedSemver, setLastNotifiedSemver] = import_react228.useState(() => getSemverPart(initialVersion));
471920
471920
  if (!updatedVersion) {
471921
471921
  return null;
@@ -471955,7 +471955,7 @@ function AutoUpdater({
471955
471955
  return;
471956
471956
  }
471957
471957
  if (false) {}
471958
- const currentVersion = "1.1.16";
471958
+ const currentVersion = "1.1.17";
471959
471959
  const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
471960
471960
  let latestVersion = await getLatestVersion(channel);
471961
471961
  const isDisabled = isAutoUpdaterDisabled();
@@ -472166,12 +472166,12 @@ function NativeAutoUpdater({
472166
472166
  logEvent("tengu_native_auto_updater_start", {});
472167
472167
  try {
472168
472168
  const maxVersion = await getMaxVersion();
472169
- if (maxVersion && gt("1.1.16", maxVersion)) {
472169
+ if (maxVersion && gt("1.1.17", maxVersion)) {
472170
472170
  const msg = await getMaxVersionMessage();
472171
472171
  setMaxVersionIssue(msg ?? "affects your version");
472172
472172
  }
472173
472173
  const result = await installLatest(channel);
472174
- const currentVersion = "1.1.16";
472174
+ const currentVersion = "1.1.17";
472175
472175
  const latencyMs = Date.now() - startTime;
472176
472176
  if (result.lockFailed) {
472177
472177
  logEvent("tengu_native_auto_updater_lock_contention", {
@@ -472306,17 +472306,17 @@ function PackageManagerAutoUpdater(t0) {
472306
472306
  const maxVersion = await getMaxVersion();
472307
472307
  if (maxVersion && latest && gt(latest, maxVersion)) {
472308
472308
  logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
472309
- if (gte("1.1.16", maxVersion)) {
472310
- logForDebugging(`PackageManagerAutoUpdater: current version ${"1.1.16"} is already at or above maxVersion ${maxVersion}, skipping update`);
472309
+ if (gte("1.1.17", maxVersion)) {
472310
+ logForDebugging(`PackageManagerAutoUpdater: current version ${"1.1.17"} is already at or above maxVersion ${maxVersion}, skipping update`);
472311
472311
  setUpdateAvailable(false);
472312
472312
  return;
472313
472313
  }
472314
472314
  latest = maxVersion;
472315
472315
  }
472316
- const hasUpdate = latest && !gte("1.1.16", latest) && !shouldSkipVersion(latest);
472316
+ const hasUpdate = latest && !gte("1.1.17", latest) && !shouldSkipVersion(latest);
472317
472317
  setUpdateAvailable(!!hasUpdate);
472318
472318
  if (hasUpdate) {
472319
- logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.1.16"} -> ${latest}`);
472319
+ logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.1.17"} -> ${latest}`);
472320
472320
  }
472321
472321
  };
472322
472322
  $2[0] = t1;
@@ -472350,7 +472350,7 @@ function PackageManagerAutoUpdater(t0) {
472350
472350
  wrap: "truncate",
472351
472351
  children: [
472352
472352
  "currentVersion: ",
472353
- "1.1.16"
472353
+ "1.1.17"
472354
472354
  ]
472355
472355
  }, undefined, true, undefined, this);
472356
472356
  $2[3] = verbose;
@@ -479908,7 +479908,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
479908
479908
  project_dir: getOriginalCwd(),
479909
479909
  added_dirs: addedDirs
479910
479910
  },
479911
- version: "1.1.16",
479911
+ version: "1.1.17",
479912
479912
  output_style: {
479913
479913
  name: outputStyleName
479914
479914
  },
@@ -491468,7 +491468,7 @@ async function submitTranscriptShare(messages, trigger, appearanceId) {
491468
491468
  } catch {}
491469
491469
  const data = {
491470
491470
  trigger,
491471
- version: "1.1.16",
491471
+ version: "1.1.17",
491472
491472
  platform: process.platform,
491473
491473
  transcript,
491474
491474
  subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
@@ -507882,7 +507882,7 @@ function appendToLog(path17, message) {
507882
507882
  cwd: getFsImplementation().cwd(),
507883
507883
  userType: process.env.USER_TYPE,
507884
507884
  sessionId: getSessionId(),
507885
- version: "1.1.16"
507885
+ version: "1.1.17"
507886
507886
  };
507887
507887
  getLogWriter(path17).write(messageWithTimestamp);
507888
507888
  }
@@ -511882,8 +511882,8 @@ async function getEnvLessBridgeConfig() {
511882
511882
  }
511883
511883
  async function checkEnvLessBridgeMinVersion() {
511884
511884
  const cfg = await getEnvLessBridgeConfig();
511885
- if (cfg.min_version && lt("1.1.16", cfg.min_version)) {
511886
- return `Your version of localclawd (${"1.1.16"}) is too old for Remote Control.
511885
+ if (cfg.min_version && lt("1.1.17", cfg.min_version)) {
511886
+ return `Your version of localclawd (${"1.1.17"}) is too old for Remote Control.
511887
511887
  Version ${cfg.min_version} or higher is required. Run \`localclawd update\` to update.`;
511888
511888
  }
511889
511889
  return null;
@@ -512355,7 +512355,7 @@ async function initBridgeCore(params) {
512355
512355
  const rawApi = createBridgeApiClient({
512356
512356
  baseUrl,
512357
512357
  getAccessToken,
512358
- runnerVersion: "1.1.16",
512358
+ runnerVersion: "1.1.17",
512359
512359
  onDebug: logForDebugging,
512360
512360
  onAuth401,
512361
512361
  getTrustedDeviceToken
@@ -518011,7 +518011,7 @@ async function startMCPServer(cwd3, debug4, verbose) {
518011
518011
  setCwd(cwd3);
518012
518012
  const server = new Server({
518013
518013
  name: "claude/tengu",
518014
- version: "1.1.16"
518014
+ version: "1.1.17"
518015
518015
  }, {
518016
518016
  capabilities: {
518017
518017
  tools: {}
@@ -519092,7 +519092,7 @@ function WelcomeV2() {
519092
519092
  dimColor: true,
519093
519093
  children: [
519094
519094
  "v",
519095
- "1.1.16"
519095
+ "1.1.17"
519096
519096
  ]
519097
519097
  }, undefined, true, undefined, this)
519098
519098
  ]
@@ -519661,7 +519661,7 @@ __export(exports_update, {
519661
519661
  });
519662
519662
  async function update() {
519663
519663
  logEvent("tengu_update_check", {});
519664
- writeToStdout(`Current version: ${"1.1.16"}
519664
+ writeToStdout(`Current version: ${"1.1.17"}
519665
519665
  `);
519666
519666
  const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
519667
519667
  writeToStdout(`Checking for updates to ${channel} version...
@@ -519736,8 +519736,8 @@ async function update() {
519736
519736
  writeToStdout(`localclawd is managed by Homebrew.
519737
519737
  `);
519738
519738
  const latest = await getLatestVersion(channel);
519739
- if (latest && !gte("1.1.16", latest)) {
519740
- writeToStdout(`Update available: ${"1.1.16"} → ${latest}
519739
+ if (latest && !gte("1.1.17", latest)) {
519740
+ writeToStdout(`Update available: ${"1.1.17"} → ${latest}
519741
519741
  `);
519742
519742
  writeToStdout(`
519743
519743
  `);
@@ -519753,8 +519753,8 @@ async function update() {
519753
519753
  writeToStdout(`localclawd is managed by winget.
519754
519754
  `);
519755
519755
  const latest = await getLatestVersion(channel);
519756
- if (latest && !gte("1.1.16", latest)) {
519757
- writeToStdout(`Update available: ${"1.1.16"} → ${latest}
519756
+ if (latest && !gte("1.1.17", latest)) {
519757
+ writeToStdout(`Update available: ${"1.1.17"} → ${latest}
519758
519758
  `);
519759
519759
  writeToStdout(`
519760
519760
  `);
@@ -519768,8 +519768,8 @@ async function update() {
519768
519768
  writeToStdout(`localclawd is managed by apk.
519769
519769
  `);
519770
519770
  const latest = await getLatestVersion(channel);
519771
- if (latest && !gte("1.1.16", latest)) {
519772
- writeToStdout(`Update available: ${"1.1.16"} → ${latest}
519771
+ if (latest && !gte("1.1.17", latest)) {
519772
+ writeToStdout(`Update available: ${"1.1.17"} → ${latest}
519773
519773
  `);
519774
519774
  writeToStdout(`
519775
519775
  `);
@@ -519834,11 +519834,11 @@ async function update() {
519834
519834
  `);
519835
519835
  await gracefulShutdown(1);
519836
519836
  }
519837
- if (result.latestVersion === "1.1.16") {
519838
- writeToStdout(source_default.green(`localclawd is up to date (${"1.1.16"})`) + `
519837
+ if (result.latestVersion === "1.1.17") {
519838
+ writeToStdout(source_default.green(`localclawd is up to date (${"1.1.17"})`) + `
519839
519839
  `);
519840
519840
  } else {
519841
- writeToStdout(source_default.green(`Successfully updated from ${"1.1.16"} to version ${result.latestVersion}`) + `
519841
+ writeToStdout(source_default.green(`Successfully updated from ${"1.1.17"} to version ${result.latestVersion}`) + `
519842
519842
  `);
519843
519843
  await regenerateCompletionCache();
519844
519844
  }
@@ -519898,12 +519898,12 @@ async function update() {
519898
519898
  `);
519899
519899
  await gracefulShutdown(1);
519900
519900
  }
519901
- if (latestVersion === "1.1.16") {
519902
- writeToStdout(source_default.green(`localclawd is up to date (${"1.1.16"})`) + `
519901
+ if (latestVersion === "1.1.17") {
519902
+ writeToStdout(source_default.green(`localclawd is up to date (${"1.1.17"})`) + `
519903
519903
  `);
519904
519904
  await gracefulShutdown(0);
519905
519905
  }
519906
- writeToStdout(`New version available: ${latestVersion} (current: ${"1.1.16"})
519906
+ writeToStdout(`New version available: ${latestVersion} (current: ${"1.1.17"})
519907
519907
  `);
519908
519908
  writeToStdout(`Installing update...
519909
519909
  `);
@@ -519948,7 +519948,7 @@ async function update() {
519948
519948
  logForDebugging(`update: Installation status: ${status2}`);
519949
519949
  switch (status2) {
519950
519950
  case "success":
519951
- writeToStdout(source_default.green(`Successfully updated from ${"1.1.16"} to version ${latestVersion}`) + `
519951
+ writeToStdout(source_default.green(`Successfully updated from ${"1.1.17"} to version ${latestVersion}`) + `
519952
519952
  `);
519953
519953
  await regenerateCompletionCache();
519954
519954
  break;
@@ -521232,7 +521232,7 @@ Run with --debug for more details.
521232
521232
  }
521233
521233
  }
521234
521234
  logForDiagnosticsNoPII("info", "started", {
521235
- version: "1.1.16",
521235
+ version: "1.1.17",
521236
521236
  is_native_binary: isInBundledMode()
521237
521237
  });
521238
521238
  registerCleanup(async () => {
@@ -522016,7 +522016,7 @@ Usage: localclawd --remote "your task description"`, () => gracefulShutdown(1));
522016
522016
  pendingHookMessages
522017
522017
  }, renderAndRun);
522018
522018
  }
522019
- }).version("1.1.16 (localClawd)", "-v, --version", "Output the version number");
522019
+ }).version("1.1.17 (localClawd)", "-v, --version", "Output the version number");
522020
522020
  program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
522021
522021
  program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
522022
522022
  if (canUserConfigureAdvisor()) {
@@ -522107,8 +522107,8 @@ Usage: localclawd --remote "your task description"`, () => gracefulShutdown(1));
522107
522107
  if (false) {}
522108
522108
  if (false) {}
522109
522109
  if (false) {}
522110
- const auth2 = program2.command("auth").description("Manage API authentication").hideHelp().configureHelp(createSortedHelpConfig());
522111
- auth2.command("login").description("Sign in (API key users)").hideHelp().option("--email <email>", "Pre-populate email address on the login page").option("--sso", "Force SSO login flow").option("--console", "Use Console (API usage billing)").option("--claudeai", "Use subscription (default)").action(async ({
522110
+ const auth2 = program2.command("auth", { hidden: true }).description("Manage API authentication").configureHelp(createSortedHelpConfig());
522111
+ auth2.command("login", { hidden: true }).description("Sign in (API key users)").option("--email <email>", "Pre-populate email address on the login page").option("--sso", "Force SSO login flow").option("--console", "Use Console (API usage billing)").option("--claudeai", "Use subscription (default)").action(async ({
522112
522112
  email,
522113
522113
  sso,
522114
522114
  console: useConsole,
@@ -522524,7 +522524,7 @@ if (false) {}
522524
522524
  async function main2() {
522525
522525
  const args = process.argv.slice(2);
522526
522526
  if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
522527
- console.log(`${"1.1.16"} (localclawd)`);
522527
+ console.log(`${"1.1.17"} (localclawd)`);
522528
522528
  return;
522529
522529
  }
522530
522530
  const {
@@ -522621,4 +522621,4 @@ localclawd crashed: ${msg}
522621
522621
  process.exit(1);
522622
522622
  });
522623
522623
 
522624
- //# debugId=5C73951C8879C82664756E2164756E21
522624
+ //# debugId=DC1DA88EB4EBA6B164756E2164756E21
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "localclawd",
3
- "version": "1.1.16",
3
+ "version": "1.1.17",
4
4
  "description": "Local-first coding CLI for vLLM, Ollama, and OpenAI-compatible backends.",
5
5
  "private": false,
6
6
  "type": "module",