localclawd 2.0.0 → 2.0.1

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 (2) hide show
  1. package/dist/cli.mjs +118 -91
  2. package/package.json +1 -1
package/dist/cli.mjs CHANGED
@@ -87608,7 +87608,7 @@ var init_isEqual = __esm(() => {
87608
87608
 
87609
87609
  // src/utils/userAgent.ts
87610
87610
  function getClaudeCodeUserAgent() {
87611
- return `claude-code/${"2.0.0"}`;
87611
+ return `claude-code/${"2.0.1"}`;
87612
87612
  }
87613
87613
 
87614
87614
  // src/utils/workloadContext.ts
@@ -87630,7 +87630,7 @@ function getUserAgent() {
87630
87630
  const clientApp = process.env.CLAUDE_AGENT_SDK_CLIENT_APP ? `, client-app/${process.env.CLAUDE_AGENT_SDK_CLIENT_APP}` : "";
87631
87631
  const workload = getWorkload();
87632
87632
  const workloadSuffix = workload ? `, workload/${workload}` : "";
87633
- return `claude-cli/${"2.0.0"} (${process.env.USER_TYPE}, ${process.env.CLAUDE_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
87633
+ return `claude-cli/${"2.0.1"} (${process.env.USER_TYPE}, ${process.env.CLAUDE_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
87634
87634
  }
87635
87635
  function getMCPUserAgent() {
87636
87636
  const parts = [];
@@ -87644,7 +87644,7 @@ function getMCPUserAgent() {
87644
87644
  parts.push(`client-app/${process.env.CLAUDE_AGENT_SDK_CLIENT_APP}`);
87645
87645
  }
87646
87646
  const suffix = parts.length > 0 ? ` (${parts.join(", ")})` : "";
87647
- return `claude-code/${"2.0.0"}${suffix}`;
87647
+ return `claude-code/${"2.0.1"}${suffix}`;
87648
87648
  }
87649
87649
  function getWebFetchUserAgent() {
87650
87650
  return `Claude-User (${getClaudeCodeUserAgent()}; +https://support.anthropic.com/)`;
@@ -130840,7 +130840,7 @@ function getAttributionHeader(fingerprint) {
130840
130840
  if (!isAttributionHeaderEnabled()) {
130841
130841
  return "";
130842
130842
  }
130843
- const version = `${"2.0.0"}.${fingerprint}`;
130843
+ const version = `${"2.0.1"}.${fingerprint}`;
130844
130844
  const entrypoint = process.env.CLAUDE_CODE_ENTRYPOINT ?? "unknown";
130845
130845
  const cch = "";
130846
130846
  const workload = getWorkload();
@@ -147029,7 +147029,7 @@ var init_metadata = __esm(() => {
147029
147029
  COMPOUND_OPERATOR_REGEX = /\s*(?:&&|\|\||[;|])\s*/;
147030
147030
  WHITESPACE_REGEX = /\s+/;
147031
147031
  getVersionBase = memoize_default(() => {
147032
- const match = "2.0.0".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
147032
+ const match = "2.0.1".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
147033
147033
  return match ? match[0] : undefined;
147034
147034
  });
147035
147035
  buildEnvContext = memoize_default(async () => {
@@ -147069,9 +147069,9 @@ var init_metadata = __esm(() => {
147069
147069
  isGithubAction: isEnvTruthy(process.env.GITHUB_ACTIONS),
147070
147070
  isClaudeCodeAction: isEnvTruthy(process.env.CLAUDE_CODE_ACTION),
147071
147071
  isClaudeAiAuth: isClaudeAISubscriber(),
147072
- version: "2.0.0",
147072
+ version: "2.0.1",
147073
147073
  versionBase: getVersionBase(),
147074
- buildTime: "2026-05-07T20:13:14.831Z",
147074
+ buildTime: "2026-05-07T20:29:52.644Z",
147075
147075
  deploymentEnvironment: env3.detectDeploymentEnvironment(),
147076
147076
  ...isEnvTruthy(process.env.GITHUB_ACTIONS) && {
147077
147077
  githubEventName: process.env.GITHUB_EVENT_NAME,
@@ -179647,7 +179647,7 @@ function getTelemetryAttributes() {
179647
179647
  attributes["session.id"] = sessionId;
179648
179648
  }
179649
179649
  if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
179650
- attributes["app.version"] = "2.0.0";
179650
+ attributes["app.version"] = "2.0.1";
179651
179651
  }
179652
179652
  const oauthAccount = getOauthAccountInfo();
179653
179653
  if (oauthAccount) {
@@ -242451,7 +242451,7 @@ function getInstallationEnv() {
242451
242451
  return;
242452
242452
  }
242453
242453
  function getClaudeCodeVersion() {
242454
- return "2.0.0";
242454
+ return "2.0.1";
242455
242455
  }
242456
242456
  async function getInstalledVSCodeExtensionVersion(command) {
242457
242457
  const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
@@ -247725,7 +247725,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
247725
247725
  const client4 = new Client({
247726
247726
  name: "localclawd",
247727
247727
  title: "localclawd",
247728
- version: "2.0.0",
247728
+ version: "2.0.1",
247729
247729
  description: "local-first AI coding tool",
247730
247730
  websiteUrl: PRODUCT_URL
247731
247731
  }, {
@@ -248067,7 +248067,7 @@ var init_client9 = __esm(() => {
248067
248067
  const client4 = new Client({
248068
248068
  name: "localclawd",
248069
248069
  title: "localclawd",
248070
- version: "2.0.0",
248070
+ version: "2.0.1",
248071
248071
  description: "local-first AI coding tool",
248072
248072
  websiteUrl: PRODUCT_URL
248073
248073
  }, {
@@ -262469,7 +262469,7 @@ function computeFingerprint(messageText, version) {
262469
262469
  }
262470
262470
  function computeFingerprintFromMessages(messages) {
262471
262471
  const firstMessageText = extractFirstMessageText(messages);
262472
- return computeFingerprint(firstMessageText, "2.0.0");
262472
+ return computeFingerprint(firstMessageText, "2.0.1");
262473
262473
  }
262474
262474
  var FINGERPRINT_SALT = "59cf53e54c78";
262475
262475
  var init_fingerprint = () => {};
@@ -262511,7 +262511,7 @@ async function sideQuery(opts) {
262511
262511
  betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
262512
262512
  }
262513
262513
  const messageText = extractFirstUserMessageText(messages);
262514
- const fingerprint = computeFingerprint(messageText, "2.0.0");
262514
+ const fingerprint = computeFingerprint(messageText, "2.0.1");
262515
262515
  const attributionHeader = getAttributionHeader(fingerprint);
262516
262516
  const systemBlocks = [
262517
262517
  attributionHeader ? { type: "text", text: attributionHeader } : null,
@@ -283259,7 +283259,7 @@ var init_user = __esm(() => {
283259
283259
  deviceId,
283260
283260
  sessionId: getSessionId(),
283261
283261
  email: getEmail(),
283262
- appVersion: "2.0.0",
283262
+ appVersion: "2.0.1",
283263
283263
  platform: getHostPlatformForAnalytics(),
283264
283264
  organizationUuid,
283265
283265
  accountUuid,
@@ -284324,7 +284324,7 @@ async function initializeBetaTracing(resource) {
284324
284324
  });
284325
284325
  logs.setGlobalLoggerProvider(loggerProvider);
284326
284326
  setLoggerProvider(loggerProvider);
284327
- const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "2.0.0");
284327
+ const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "2.0.1");
284328
284328
  setEventLogger(eventLogger);
284329
284329
  process.on("beforeExit", async () => {
284330
284330
  await loggerProvider?.forceFlush();
@@ -284364,7 +284364,7 @@ async function initializeTelemetry() {
284364
284364
  const platform2 = getPlatform();
284365
284365
  const baseAttributes = {
284366
284366
  [ATTR_SERVICE_NAME4]: "claude-code",
284367
- [ATTR_SERVICE_VERSION4]: "2.0.0"
284367
+ [ATTR_SERVICE_VERSION4]: "2.0.1"
284368
284368
  };
284369
284369
  if (platform2 === "wsl") {
284370
284370
  const wslVersion = getWslVersion();
@@ -284409,7 +284409,7 @@ async function initializeTelemetry() {
284409
284409
  } catch {}
284410
284410
  };
284411
284411
  registerCleanup(shutdownTelemetry2);
284412
- return meterProvider2.getMeter("com.anthropic.claude_code", "2.0.0");
284412
+ return meterProvider2.getMeter("com.anthropic.claude_code", "2.0.1");
284413
284413
  }
284414
284414
  const meterProvider = new MeterProvider4({
284415
284415
  resource,
@@ -284429,7 +284429,7 @@ async function initializeTelemetry() {
284429
284429
  });
284430
284430
  logs.setGlobalLoggerProvider(loggerProvider);
284431
284431
  setLoggerProvider(loggerProvider);
284432
- const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "2.0.0");
284432
+ const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "2.0.1");
284433
284433
  setEventLogger(eventLogger);
284434
284434
  logForDebugging("[3P telemetry] Event logger set successfully");
284435
284435
  process.on("beforeExit", async () => {
@@ -284491,7 +284491,7 @@ Current timeout: ${timeoutMs}ms
284491
284491
  }
284492
284492
  };
284493
284493
  registerCleanup(shutdownTelemetry);
284494
- return meterProvider.getMeter("com.anthropic.claude_code", "2.0.0");
284494
+ return meterProvider.getMeter("com.anthropic.claude_code", "2.0.1");
284495
284495
  }
284496
284496
  async function flushTelemetry() {
284497
284497
  const meterProvider = getMeterProvider();
@@ -285681,7 +285681,7 @@ function detectLinuxGlobPatternWarnings() {
285681
285681
  }
285682
285682
  async function getDoctorDiagnostic() {
285683
285683
  const installationType = await getCurrentInstallationType();
285684
- const version = typeof MACRO !== "undefined" ? "2.0.0" : "unknown";
285684
+ const version = typeof MACRO !== "undefined" ? "2.0.1" : "unknown";
285685
285685
  const installationPath = await getInstallationPath();
285686
285686
  const invokedBinary = getInvokedBinary();
285687
285687
  const multipleInstallations = await detectMultipleInstallations();
@@ -286622,8 +286622,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
286622
286622
  const maxVersion = await getMaxVersion();
286623
286623
  if (maxVersion && gt(version, maxVersion)) {
286624
286624
  logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version} to ${maxVersion}`);
286625
- if (gte("2.0.0", maxVersion)) {
286626
- logForDebugging(`Native installer: current version ${"2.0.0"} is already at or above maxVersion ${maxVersion}, skipping update`);
286625
+ if (gte("2.0.1", maxVersion)) {
286626
+ logForDebugging(`Native installer: current version ${"2.0.1"} is already at or above maxVersion ${maxVersion}, skipping update`);
286627
286627
  logEvent("tengu_native_update_skipped_max_version", {
286628
286628
  latency_ms: Date.now() - startTime,
286629
286629
  max_version: maxVersion,
@@ -286634,7 +286634,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
286634
286634
  version = maxVersion;
286635
286635
  }
286636
286636
  }
286637
- if (!forceReinstall && version === "2.0.0" && await versionIsAvailable(version) && await isPossibleLocalClawdBinary(executablePath)) {
286637
+ if (!forceReinstall && version === "2.0.1" && await versionIsAvailable(version) && await isPossibleLocalClawdBinary(executablePath)) {
286638
286638
  logForDebugging(`Found ${version} at ${executablePath}, skipping install`);
286639
286639
  logEvent("tengu_native_update_complete", {
286640
286640
  latency_ms: Date.now() - startTime,
@@ -323116,8 +323116,12 @@ Workflow selection:
323116
323116
  - Workflows support {{positive_prompt}} / {{negative_prompt}} templates or raw ComfyUI API exports
323117
323117
 
323118
323118
  Output directory:
323119
- - .localclawd/image-pipeline/generated/ when the pipeline is scaffolded (run /image-pipeline setup)
323120
- - ~/generatedimages/ otherwise
323119
+ - All generated images are saved to: <project-root>/.localclawd/image-pipeline/generated/
323120
+ - The full absolute path is returned in the tool result (path field).
323121
+ - After inspecting the image, you can move it anywhere using Bash (mv) or PowerShell (Move-Item).
323122
+ Example: move to project root → mv "<path>" "./my-image.png"
323123
+ Example: move to desktop → mv "<path>" "$HOME/Desktop/my-image.png"
323124
+ If the user specifies a destination, move it there immediately after approving the result.
323121
323125
 
323122
323126
  If ComfyUI is not reachable, ask the user to run /image-pipeline config <url> with their ComfyUI address.
323123
323127
  To list available workflows, call /image-pipeline list.
@@ -323125,18 +323129,18 @@ To list available workflows, call /image-pipeline list.
323125
323129
  After generating, the image is returned visually in the tool result so you can review it.
323126
323130
 
323127
323131
  REVIEW AND REPROMPT PROTOCOL:
323128
- 1. After calling GenerateImage, examine the returned image carefully.
323129
- 2. If the image does not match the description, has quality issues (artifacts, wrong style, wrong subject, blurry), or clearly fails call GenerateImage again.
323130
- 3. Refine: add missing details, fix style keywords, adjust composition language. Do not simply repeat the same prompt.
323132
+ 1. After calling GenerateImage, examine the returned image carefully for quality AND artifacts.
323133
+ 2. If the image has edge/corner artifacts, blurring, or wrong content fix parameters and retry (do not keep a bad image).
323134
+ 3. Refine: add missing details, fix style keywords, adjust composition. Do not repeat the same prompt.
323131
323135
  4. You may iterate up to 3 times total. Stop as soon as a result is satisfactory.
323132
- 5. Show the user the final saved path and a brief assessment of what changed.
323136
+ 5. After final approval: move the image to the user's desired location if specified, then report the saved path.
323133
323137
 
323134
- FIXING ARTIFACTS (see /image-tips for full guide):
323135
- - Corner / edge artifacts → wrong cfg for model type. Flow models (z_image_turbo, AuraFlow, Lumina2): cfg MUST be 1.0. Retry with cfg=1.
323138
+ FIXING ARTIFACTS:
323139
+ - Corner / edge artifacts → cfg is too high for this model. Flow models (z_image_turbo, AuraFlow, Lumina2): cfg MUST be 1. Retry with cfg=1.
323136
323140
  - Ring or halo artefacts → steps too high. Try steps=4 for turbo workflows.
323137
- - Blurry result → steps too low, or wrong sampler. Increase steps by +4.
323141
+ - Blurry result → steps too low or wrong sampler. Increase steps by +4.
323138
323142
  - Washed-out / grey → VAE mismatch. Try a different workflow.
323139
- - Size-related artefacts → use multiples of 64. Flow models need 1024×1024.
323143
+ - Size-related artefacts → dimensions must be multiples of 64. Flow models need 1024×1024.
323140
323144
  Pass overrides via the tool parameters: steps, cfg, width, height, model.
323141
323145
 
323142
323146
  Use this tool when the user asks you to generate, create, or render an image.`;
@@ -323159,10 +323163,23 @@ function renderToolUseErrorMessage11(error5) {
323159
323163
  }, undefined, false, undefined, this);
323160
323164
  }
323161
323165
  function renderToolResultMessage20(output) {
323166
+ if (output.error)
323167
+ return /* @__PURE__ */ jsx_dev_runtime145.jsxDEV(ThemedText, {
323168
+ color: "red",
323169
+ children: output.error
323170
+ }, undefined, false, undefined, this);
323162
323171
  return /* @__PURE__ */ jsx_dev_runtime145.jsxDEV(ThemedText, {
323163
323172
  dimColor: true,
323164
- children: output.path ? `Saved: ${output.path}` : output.error ?? "Generation failed"
323165
- }, undefined, false, undefined, this);
323173
+ children: [
323174
+ `Saved: ${output.path}`,
323175
+ `
323176
+ `,
323177
+ /* @__PURE__ */ jsx_dev_runtime145.jsxDEV(ThemedText, {
323178
+ color: "yellow",
323179
+ children: 'Inspect above — move with: mv "' + output.path + '" <destination>'
323180
+ }, undefined, false, undefined, this)
323181
+ ]
323182
+ }, undefined, true, undefined, this);
323166
323183
  }
323167
323184
  var jsx_dev_runtime145;
323168
323185
  var init_UI20 = __esm(() => {
@@ -323379,10 +323396,20 @@ var init_GenerateImageTool = __esm(() => {
323379
323396
  };
323380
323397
  }
323381
323398
  const imgData = imageDataCache.get(output);
323399
+ const reviewNote = imgData ? [
323400
+ "Review the image above for artifacts before accepting:",
323401
+ " • Edge/corner artifacts → retry with cfg=1 (flow models require cfg=1)",
323402
+ " • Halo/ring artifacts → retry with fewer steps (steps=4 for turbo)",
323403
+ " • Wrong content/style → rephrase the prompt",
323404
+ "If satisfied, move the file to the desired location using Bash mv or PowerShell Move-Item.",
323405
+ ` mv "${output.path}" <destination>`
323406
+ ].join(`
323407
+ `) : `Vision unavailable — inspect manually at: ${output.path}
323408
+ Move with: mv "${output.path}" <destination>`;
323382
323409
  const textSummary = [
323383
323410
  `Image saved: ${output.path}`,
323384
323411
  `Seed: ${output.seed} · Prompt ID: ${output.promptId}`,
323385
- imgData ? "Review the image above. If it does not match the description or has quality issues, call GenerateImage again with an improved prompt (up to 3 iterations total)." : `Image saved to ${output.path} — vision not available for inline review.`
323412
+ reviewNote
323386
323413
  ].join(`
323387
323414
  `);
323388
323415
  if (imgData) {
@@ -331846,7 +331873,7 @@ function getAnthropicEnvMetadata() {
331846
331873
  function getBuildAgeMinutes() {
331847
331874
  if (false)
331848
331875
  ;
331849
- const buildTime = new Date("2026-05-07T20:13:14.831Z").getTime();
331876
+ const buildTime = new Date("2026-05-07T20:29:52.644Z").getTime();
331850
331877
  if (isNaN(buildTime))
331851
331878
  return;
331852
331879
  return Math.floor((Date.now() - buildTime) / 60000);
@@ -360678,7 +360705,7 @@ function Feedback({
360678
360705
  platform: env3.platform,
360679
360706
  gitRepo: envInfo.isGit,
360680
360707
  terminal: env3.terminal,
360681
- version: "2.0.0",
360708
+ version: "2.0.1",
360682
360709
  transcript: normalizeMessagesForAPI(messages),
360683
360710
  errors: sanitizedErrors,
360684
360711
  lastApiRequest: getLastAPIRequest(),
@@ -360870,7 +360897,7 @@ function Feedback({
360870
360897
  ", ",
360871
360898
  env3.terminal,
360872
360899
  ", v",
360873
- "2.0.0"
360900
+ "2.0.1"
360874
360901
  ]
360875
360902
  }, undefined, true, undefined, this)
360876
360903
  ]
@@ -360976,7 +361003,7 @@ ${sanitizedDescription}
360976
361003
  ` + `**Environment Info**
360977
361004
  ` + `- Platform: ${env3.platform}
360978
361005
  ` + `- Terminal: ${env3.terminal}
360979
- ` + `- Version: ${"2.0.0"}
361006
+ ` + `- Version: ${"2.0.1"}
360980
361007
  ` + `- Feedback ID: ${feedbackId}
360981
361008
  ` + `
360982
361009
  **Errors**
@@ -363604,7 +363631,7 @@ function buildPrimarySection() {
363604
363631
  }, undefined, false, undefined, this);
363605
363632
  return [{
363606
363633
  label: "Version",
363607
- value: "2.0.0"
363634
+ value: "2.0.1"
363608
363635
  }, {
363609
363636
  label: "Session name",
363610
363637
  value: nameValue
@@ -368285,7 +368312,7 @@ function Config({
368285
368312
  }
368286
368313
  }, undefined, false, undefined, this)
368287
368314
  }, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime176.jsxDEV(ChannelDowngradeDialog, {
368288
- currentVersion: "2.0.0",
368315
+ currentVersion: "2.0.1",
368289
368316
  onChoice: (choice) => {
368290
368317
  setShowSubmenu(null);
368291
368318
  setTabsHidden(false);
@@ -368297,7 +368324,7 @@ function Config({
368297
368324
  autoUpdatesChannel: "stable"
368298
368325
  };
368299
368326
  if (choice === "stay") {
368300
- newSettings.minimumVersion = "2.0.0";
368327
+ newSettings.minimumVersion = "2.0.1";
368301
368328
  }
368302
368329
  updateSettingsForSource("userSettings", newSettings);
368303
368330
  setSettingsData((prev_27) => ({
@@ -385980,7 +386007,7 @@ function Help(t0) {
385980
386007
  let t6;
385981
386008
  if ($2[31] !== tabs) {
385982
386009
  t6 = /* @__PURE__ */ jsx_dev_runtime221.jsxDEV(Tabs, {
385983
- title: `localclawd v${"2.0.0"}`,
386010
+ title: `localclawd v${"2.0.1"}`,
385984
386011
  color: "professionalBlue",
385985
386012
  defaultTab: "general",
385986
386013
  children: tabs
@@ -403242,7 +403269,7 @@ function getRecentReleaseNotes(currentVersion, previousVersion, changelogContent
403242
403269
  }
403243
403270
  return [];
403244
403271
  }
403245
- async function checkForReleaseNotes(lastSeenVersion, currentVersion = "2.0.0") {
403272
+ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "2.0.1") {
403246
403273
  if (process.env.USER_TYPE === "ant") {
403247
403274
  const changelog = MACRO.VERSION_CHANGELOG;
403248
403275
  if (changelog) {
@@ -403269,7 +403296,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "2.0.0") {
403269
403296
  releaseNotes
403270
403297
  };
403271
403298
  }
403272
- function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "2.0.0") {
403299
+ function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "2.0.1") {
403273
403300
  if (process.env.USER_TYPE === "ant") {
403274
403301
  const changelog = MACRO.VERSION_CHANGELOG;
403275
403302
  if (changelog) {
@@ -403426,7 +403453,7 @@ function getRecentActivitySync() {
403426
403453
  return cachedActivity;
403427
403454
  }
403428
403455
  function getLogoDisplayData() {
403429
- const version = process.env.DEMO_VERSION ?? "2.0.0";
403456
+ const version = process.env.DEMO_VERSION ?? "2.0.1";
403430
403457
  const serverUrl = getDirectConnectServerUrl();
403431
403458
  const displayPath = process.env.DEMO_VERSION ? "/code/claude" : getDisplayPath(getCwd());
403432
403459
  const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
@@ -404526,7 +404553,7 @@ function Logo() {
404526
404553
  if ($2[2] === Symbol.for("react.memo_cache_sentinel")) {
404527
404554
  t2 = () => {
404528
404555
  const currentConfig = getGlobalConfig();
404529
- if (currentConfig.lastReleaseNotesSeen === "2.0.0") {
404556
+ if (currentConfig.lastReleaseNotesSeen === "2.0.1") {
404530
404557
  return;
404531
404558
  }
404532
404559
  saveGlobalConfig(_temp326);
@@ -405185,12 +405212,12 @@ function Logo() {
405185
405212
  return t41;
405186
405213
  }
405187
405214
  function _temp326(current) {
405188
- if (current.lastReleaseNotesSeen === "2.0.0") {
405215
+ if (current.lastReleaseNotesSeen === "2.0.1") {
405189
405216
  return current;
405190
405217
  }
405191
405218
  return {
405192
405219
  ...current,
405193
- lastReleaseNotesSeen: "2.0.0"
405220
+ lastReleaseNotesSeen: "2.0.1"
405194
405221
  };
405195
405222
  }
405196
405223
  function _temp241(s_0) {
@@ -435669,7 +435696,7 @@ async function captureMemoryDiagnostics(trigger, dumpNumber = 0) {
435669
435696
  smapsRollup,
435670
435697
  platform: process.platform,
435671
435698
  nodeVersion: process.version,
435672
- ccVersion: "2.0.0"
435699
+ ccVersion: "2.0.1"
435673
435700
  };
435674
435701
  }
435675
435702
  async function performHeapDump(trigger = "manual", dumpNumber = 0) {
@@ -436254,7 +436281,7 @@ var init_bridge_kick = __esm(() => {
436254
436281
  var call88 = async () => {
436255
436282
  return {
436256
436283
  type: "text",
436257
- value: `${"2.0.0"} (built ${"2026-05-07T20:13:14.831Z"})`
436284
+ value: `${"2.0.1"} (built ${"2026-05-07T20:29:52.644Z"})`
436258
436285
  };
436259
436286
  }, version, version_default;
436260
436287
  var init_version = __esm(() => {
@@ -444198,7 +444225,7 @@ function generateHtmlReport(data, insights) {
444198
444225
  </html>`;
444199
444226
  }
444200
444227
  function buildExportData(data, insights, facets, remoteStats) {
444201
- const version2 = typeof MACRO !== "undefined" ? "2.0.0" : "unknown";
444228
+ const version2 = typeof MACRO !== "undefined" ? "2.0.1" : "unknown";
444202
444229
  const remote_hosts_collected = remoteStats?.hosts.filter((h) => h.sessionCount > 0).map((h) => h.name);
444203
444230
  const facets_summary = {
444204
444231
  total: facets.size,
@@ -448401,7 +448428,7 @@ var init_sessionStorage = __esm(() => {
448401
448428
  init_settings2();
448402
448429
  init_slowOperations();
448403
448430
  init_uuid();
448404
- VERSION6 = typeof MACRO !== "undefined" ? "2.0.0" : "unknown";
448431
+ VERSION6 = typeof MACRO !== "undefined" ? "2.0.1" : "unknown";
448405
448432
  MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
448406
448433
  SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
448407
448434
  EPHEMERAL_PROGRESS_TYPES = new Set([
@@ -449602,7 +449629,7 @@ var init_filesystem = __esm(() => {
449602
449629
  });
449603
449630
  getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
449604
449631
  const nonce = randomBytes20(16).toString("hex");
449605
- return join151(getClaudeTempDir(), "bundled-skills", "2.0.0", nonce);
449632
+ return join151(getClaudeTempDir(), "bundled-skills", "2.0.1", nonce);
449606
449633
  });
449607
449634
  getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
449608
449635
  });
@@ -458839,7 +458866,7 @@ function buildSystemInitMessage(inputs) {
458839
458866
  slash_commands: inputs.commands.filter((c5) => c5.userInvocable !== false).map((c5) => c5.name),
458840
458867
  apiKeySource: getAnthropicApiKeyWithSource().source,
458841
458868
  betas: getSdkBetas(),
458842
- claude_code_version: "2.0.0",
458869
+ claude_code_version: "2.0.1",
458843
458870
  output_style: outputStyle2,
458844
458871
  agents: inputs.agents.map((agent) => agent.agentType),
458845
458872
  skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill) => skill.name),
@@ -472996,7 +473023,7 @@ var init_useVoiceEnabled = __esm(() => {
472996
473023
  function getSemverPart(version2) {
472997
473024
  return `${import_semver10.major(version2, { loose: true })}.${import_semver10.minor(version2, { loose: true })}.${import_semver10.patch(version2, { loose: true })}`;
472998
473025
  }
472999
- function useUpdateNotification(updatedVersion, initialVersion = "2.0.0") {
473026
+ function useUpdateNotification(updatedVersion, initialVersion = "2.0.1") {
473000
473027
  const [lastNotifiedSemver, setLastNotifiedSemver] = import_react214.useState(() => getSemverPart(initialVersion));
473001
473028
  if (!updatedVersion) {
473002
473029
  return null;
@@ -473036,7 +473063,7 @@ function AutoUpdater({
473036
473063
  return;
473037
473064
  }
473038
473065
  if (false) {}
473039
- const currentVersion = "2.0.0";
473066
+ const currentVersion = "2.0.1";
473040
473067
  const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
473041
473068
  let latestVersion = await getLatestVersion(channel);
473042
473069
  const isDisabled = isAutoUpdaterDisabled();
@@ -473247,12 +473274,12 @@ function NativeAutoUpdater({
473247
473274
  logEvent("tengu_native_auto_updater_start", {});
473248
473275
  try {
473249
473276
  const maxVersion = await getMaxVersion();
473250
- if (maxVersion && gt("2.0.0", maxVersion)) {
473277
+ if (maxVersion && gt("2.0.1", maxVersion)) {
473251
473278
  const msg = await getMaxVersionMessage();
473252
473279
  setMaxVersionIssue(msg ?? "affects your version");
473253
473280
  }
473254
473281
  const result = await installLatest(channel);
473255
- const currentVersion = "2.0.0";
473282
+ const currentVersion = "2.0.1";
473256
473283
  const latencyMs = Date.now() - startTime;
473257
473284
  if (result.lockFailed) {
473258
473285
  logEvent("tengu_native_auto_updater_lock_contention", {
@@ -473387,17 +473414,17 @@ function PackageManagerAutoUpdater(t0) {
473387
473414
  const maxVersion = await getMaxVersion();
473388
473415
  if (maxVersion && latest && gt(latest, maxVersion)) {
473389
473416
  logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
473390
- if (gte("2.0.0", maxVersion)) {
473391
- logForDebugging(`PackageManagerAutoUpdater: current version ${"2.0.0"} is already at or above maxVersion ${maxVersion}, skipping update`);
473417
+ if (gte("2.0.1", maxVersion)) {
473418
+ logForDebugging(`PackageManagerAutoUpdater: current version ${"2.0.1"} is already at or above maxVersion ${maxVersion}, skipping update`);
473392
473419
  setUpdateAvailable(false);
473393
473420
  return;
473394
473421
  }
473395
473422
  latest = maxVersion;
473396
473423
  }
473397
- const hasUpdate = latest && !gte("2.0.0", latest) && !shouldSkipVersion(latest);
473424
+ const hasUpdate = latest && !gte("2.0.1", latest) && !shouldSkipVersion(latest);
473398
473425
  setUpdateAvailable(!!hasUpdate);
473399
473426
  if (hasUpdate) {
473400
- logForDebugging(`PackageManagerAutoUpdater: Update available ${"2.0.0"} -> ${latest}`);
473427
+ logForDebugging(`PackageManagerAutoUpdater: Update available ${"2.0.1"} -> ${latest}`);
473401
473428
  }
473402
473429
  };
473403
473430
  $2[0] = t1;
@@ -473431,7 +473458,7 @@ function PackageManagerAutoUpdater(t0) {
473431
473458
  wrap: "truncate",
473432
473459
  children: [
473433
473460
  "currentVersion: ",
473434
- "2.0.0"
473461
+ "2.0.1"
473435
473462
  ]
473436
473463
  }, undefined, true, undefined, this);
473437
473464
  $2[3] = verbose;
@@ -480991,7 +481018,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
480991
481018
  project_dir: getOriginalCwd(),
480992
481019
  added_dirs: addedDirs
480993
481020
  },
480994
- version: "2.0.0",
481021
+ version: "2.0.1",
480995
481022
  output_style: {
480996
481023
  name: outputStyleName
480997
481024
  },
@@ -492563,7 +492590,7 @@ async function submitTranscriptShare(messages, trigger, appearanceId) {
492563
492590
  } catch {}
492564
492591
  const data = {
492565
492592
  trigger,
492566
- version: "2.0.0",
492593
+ version: "2.0.1",
492567
492594
  platform: process.platform,
492568
492595
  transcript,
492569
492596
  subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
@@ -509472,7 +509499,7 @@ function appendToLog(path17, message) {
509472
509499
  cwd: getFsImplementation().cwd(),
509473
509500
  userType: process.env.USER_TYPE,
509474
509501
  sessionId: getSessionId(),
509475
- version: "2.0.0"
509502
+ version: "2.0.1"
509476
509503
  };
509477
509504
  getLogWriter(path17).write(messageWithTimestamp);
509478
509505
  }
@@ -513496,8 +513523,8 @@ async function getEnvLessBridgeConfig() {
513496
513523
  }
513497
513524
  async function checkEnvLessBridgeMinVersion() {
513498
513525
  const cfg = await getEnvLessBridgeConfig();
513499
- if (cfg.min_version && lt("2.0.0", cfg.min_version)) {
513500
- return `Your version of localclawd (${"2.0.0"}) is too old for Remote Control.
513526
+ if (cfg.min_version && lt("2.0.1", cfg.min_version)) {
513527
+ return `Your version of localclawd (${"2.0.1"}) is too old for Remote Control.
513501
513528
  Version ${cfg.min_version} or higher is required. Run \`localclawd update\` to update.`;
513502
513529
  }
513503
513530
  return null;
@@ -513969,7 +513996,7 @@ async function initBridgeCore(params) {
513969
513996
  const rawApi = createBridgeApiClient({
513970
513997
  baseUrl,
513971
513998
  getAccessToken,
513972
- runnerVersion: "2.0.0",
513999
+ runnerVersion: "2.0.1",
513973
514000
  onDebug: logForDebugging,
513974
514001
  onAuth401,
513975
514002
  getTrustedDeviceToken
@@ -519688,7 +519715,7 @@ async function startMCPServer(cwd3, debug4, verbose) {
519688
519715
  setCwd(cwd3);
519689
519716
  const server = new Server({
519690
519717
  name: "claude/tengu",
519691
- version: "2.0.0"
519718
+ version: "2.0.1"
519692
519719
  }, {
519693
519720
  capabilities: {
519694
519721
  tools: {}
@@ -520769,7 +520796,7 @@ function WelcomeLogo() {
520769
520796
  dimColor: true,
520770
520797
  children: [
520771
520798
  "v",
520772
- "2.0.0"
520799
+ "2.0.1"
520773
520800
  ]
520774
520801
  }, undefined, true, undefined, this)
520775
520802
  ]
@@ -520960,7 +520987,7 @@ __export(exports_update, {
520960
520987
  });
520961
520988
  async function update() {
520962
520989
  logEvent("tengu_update_check", {});
520963
- writeToStdout(`Current version: ${"2.0.0"}
520990
+ writeToStdout(`Current version: ${"2.0.1"}
520964
520991
  `);
520965
520992
  const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
520966
520993
  writeToStdout(`Checking for updates to ${channel} version...
@@ -521035,8 +521062,8 @@ async function update() {
521035
521062
  writeToStdout(`localclawd is managed by Homebrew.
521036
521063
  `);
521037
521064
  const latest = await getLatestVersion(channel);
521038
- if (latest && !gte("2.0.0", latest)) {
521039
- writeToStdout(`Update available: ${"2.0.0"} → ${latest}
521065
+ if (latest && !gte("2.0.1", latest)) {
521066
+ writeToStdout(`Update available: ${"2.0.1"} → ${latest}
521040
521067
  `);
521041
521068
  writeToStdout(`
521042
521069
  `);
@@ -521052,8 +521079,8 @@ async function update() {
521052
521079
  writeToStdout(`localclawd is managed by winget.
521053
521080
  `);
521054
521081
  const latest = await getLatestVersion(channel);
521055
- if (latest && !gte("2.0.0", latest)) {
521056
- writeToStdout(`Update available: ${"2.0.0"} → ${latest}
521082
+ if (latest && !gte("2.0.1", latest)) {
521083
+ writeToStdout(`Update available: ${"2.0.1"} → ${latest}
521057
521084
  `);
521058
521085
  writeToStdout(`
521059
521086
  `);
@@ -521067,8 +521094,8 @@ async function update() {
521067
521094
  writeToStdout(`localclawd is managed by apk.
521068
521095
  `);
521069
521096
  const latest = await getLatestVersion(channel);
521070
- if (latest && !gte("2.0.0", latest)) {
521071
- writeToStdout(`Update available: ${"2.0.0"} → ${latest}
521097
+ if (latest && !gte("2.0.1", latest)) {
521098
+ writeToStdout(`Update available: ${"2.0.1"} → ${latest}
521072
521099
  `);
521073
521100
  writeToStdout(`
521074
521101
  `);
@@ -521133,11 +521160,11 @@ async function update() {
521133
521160
  `);
521134
521161
  await gracefulShutdown(1);
521135
521162
  }
521136
- if (result.latestVersion === "2.0.0") {
521137
- writeToStdout(source_default.green(`localclawd is up to date (${"2.0.0"})`) + `
521163
+ if (result.latestVersion === "2.0.1") {
521164
+ writeToStdout(source_default.green(`localclawd is up to date (${"2.0.1"})`) + `
521138
521165
  `);
521139
521166
  } else {
521140
- writeToStdout(source_default.green(`Successfully updated from ${"2.0.0"} to version ${result.latestVersion}`) + `
521167
+ writeToStdout(source_default.green(`Successfully updated from ${"2.0.1"} to version ${result.latestVersion}`) + `
521141
521168
  `);
521142
521169
  await regenerateCompletionCache();
521143
521170
  }
@@ -521197,12 +521224,12 @@ async function update() {
521197
521224
  `);
521198
521225
  await gracefulShutdown(1);
521199
521226
  }
521200
- if (latestVersion === "2.0.0") {
521201
- writeToStdout(source_default.green(`localclawd is up to date (${"2.0.0"})`) + `
521227
+ if (latestVersion === "2.0.1") {
521228
+ writeToStdout(source_default.green(`localclawd is up to date (${"2.0.1"})`) + `
521202
521229
  `);
521203
521230
  await gracefulShutdown(0);
521204
521231
  }
521205
- writeToStdout(`New version available: ${latestVersion} (current: ${"2.0.0"})
521232
+ writeToStdout(`New version available: ${latestVersion} (current: ${"2.0.1"})
521206
521233
  `);
521207
521234
  writeToStdout(`Installing update...
521208
521235
  `);
@@ -521247,7 +521274,7 @@ async function update() {
521247
521274
  logForDebugging(`update: Installation status: ${status2}`);
521248
521275
  switch (status2) {
521249
521276
  case "success":
521250
- writeToStdout(source_default.green(`Successfully updated from ${"2.0.0"} to version ${latestVersion}`) + `
521277
+ writeToStdout(source_default.green(`Successfully updated from ${"2.0.1"} to version ${latestVersion}`) + `
521251
521278
  `);
521252
521279
  await regenerateCompletionCache();
521253
521280
  break;
@@ -522489,7 +522516,7 @@ Run with --debug for more details.
522489
522516
  }
522490
522517
  }
522491
522518
  logForDiagnosticsNoPII("info", "started", {
522492
- version: "2.0.0",
522519
+ version: "2.0.1",
522493
522520
  is_native_binary: isInBundledMode()
522494
522521
  });
522495
522522
  registerCleanup(async () => {
@@ -523273,7 +523300,7 @@ Usage: localclawd --remote "your task description"`, () => gracefulShutdown(1));
523273
523300
  pendingHookMessages
523274
523301
  }, renderAndRun);
523275
523302
  }
523276
- }).version("2.0.0 (localclawd)", "-v, --version", "Output the version number");
523303
+ }).version("2.0.1 (localclawd)", "-v, --version", "Output the version number");
523277
523304
  program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
523278
523305
  program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
523279
523306
  if (canUserConfigureAdvisor()) {
@@ -523787,7 +523814,7 @@ if (false) {}
523787
523814
  async function main2() {
523788
523815
  const args = process.argv.slice(2);
523789
523816
  if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
523790
- console.log(`${"2.0.0"} (localclawd)`);
523817
+ console.log(`${"2.0.1"} (localclawd)`);
523791
523818
  return;
523792
523819
  }
523793
523820
  const {
@@ -523878,4 +523905,4 @@ localclawd crashed: ${msg}
523878
523905
  process.exit(1);
523879
523906
  });
523880
523907
 
523881
- //# debugId=8834DF2F5FD71AF664756E2164756E21
523908
+ //# debugId=E7F35C77473C10C264756E2164756E21
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "localclawd",
3
- "version": "2.0.0",
3
+ "version": "2.0.1",
4
4
  "description": "Local-first coding CLI for vLLM, Ollama, and OpenAI-compatible backends.",
5
5
  "private": false,
6
6
  "type": "module",