localclawd 1.1.10 → 1.1.12

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 +185 -119
  2. package/package.json +1 -1
package/dist/cli.mjs CHANGED
@@ -89253,7 +89253,7 @@ var init_isEqual = __esm(() => {
89253
89253
 
89254
89254
  // src/utils/userAgent.ts
89255
89255
  function getClaudeCodeUserAgent() {
89256
- return `claude-code/${"1.1.10"}`;
89256
+ return `claude-code/${"1.1.12"}`;
89257
89257
  }
89258
89258
 
89259
89259
  // src/utils/workloadContext.ts
@@ -89275,7 +89275,7 @@ function getUserAgent() {
89275
89275
  const clientApp = process.env.CLAUDE_AGENT_SDK_CLIENT_APP ? `, client-app/${process.env.CLAUDE_AGENT_SDK_CLIENT_APP}` : "";
89276
89276
  const workload = getWorkload();
89277
89277
  const workloadSuffix = workload ? `, workload/${workload}` : "";
89278
- return `claude-cli/${"1.1.10"} (${process.env.USER_TYPE}, ${process.env.CLAUDE_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
89278
+ return `claude-cli/${"1.1.12"} (${process.env.USER_TYPE}, ${process.env.CLAUDE_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
89279
89279
  }
89280
89280
  function getMCPUserAgent() {
89281
89281
  const parts = [];
@@ -89289,7 +89289,7 @@ function getMCPUserAgent() {
89289
89289
  parts.push(`client-app/${process.env.CLAUDE_AGENT_SDK_CLIENT_APP}`);
89290
89290
  }
89291
89291
  const suffix = parts.length > 0 ? ` (${parts.join(", ")})` : "";
89292
- return `claude-code/${"1.1.10"}${suffix}`;
89292
+ return `claude-code/${"1.1.12"}${suffix}`;
89293
89293
  }
89294
89294
  function getWebFetchUserAgent() {
89295
89295
  return `Claude-User (${getClaudeCodeUserAgent()}; +https://support.anthropic.com/)`;
@@ -99198,7 +99198,7 @@ function getAttributionHeader(fingerprint) {
99198
99198
  if (!isAttributionHeaderEnabled()) {
99199
99199
  return "";
99200
99200
  }
99201
- const version = `${"1.1.10"}.${fingerprint}`;
99201
+ const version = `${"1.1.12"}.${fingerprint}`;
99202
99202
  const entrypoint = process.env.CLAUDE_CODE_ENTRYPOINT ?? "unknown";
99203
99203
  const cch = "";
99204
99204
  const workload = getWorkload();
@@ -132745,7 +132745,7 @@ var init_metadata = __esm(() => {
132745
132745
  COMPOUND_OPERATOR_REGEX = /\s*(?:&&|\|\||[;|])\s*/;
132746
132746
  WHITESPACE_REGEX = /\s+/;
132747
132747
  getVersionBase = memoize_default(() => {
132748
- const match = "1.1.10".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
132748
+ const match = "1.1.12".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
132749
132749
  return match ? match[0] : undefined;
132750
132750
  });
132751
132751
  buildEnvContext = memoize_default(async () => {
@@ -132785,9 +132785,9 @@ var init_metadata = __esm(() => {
132785
132785
  isGithubAction: isEnvTruthy(process.env.GITHUB_ACTIONS),
132786
132786
  isClaudeCodeAction: isEnvTruthy(process.env.CLAUDE_CODE_ACTION),
132787
132787
  isClaudeAiAuth: isClaudeAISubscriber(),
132788
- version: "1.1.10",
132788
+ version: "1.1.12",
132789
132789
  versionBase: getVersionBase(),
132790
- buildTime: "2026-04-07T13:57:33.526Z",
132790
+ buildTime: "2026-04-07T16:21:50.781Z",
132791
132791
  deploymentEnvironment: env4.detectDeploymentEnvironment(),
132792
132792
  ...isEnvTruthy(process.env.GITHUB_ACTIONS) && {
132793
132793
  githubEventName: process.env.GITHUB_EVENT_NAME,
@@ -197374,7 +197374,7 @@ function getTelemetryAttributes() {
197374
197374
  attributes["session.id"] = sessionId;
197375
197375
  }
197376
197376
  if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
197377
- attributes["app.version"] = "1.1.10";
197377
+ attributes["app.version"] = "1.1.12";
197378
197378
  }
197379
197379
  const oauthAccount = getOauthAccountInfo();
197380
197380
  if (oauthAccount) {
@@ -229435,7 +229435,7 @@ function getInstallationEnv() {
229435
229435
  return;
229436
229436
  }
229437
229437
  function getClaudeCodeVersion() {
229438
- return "1.1.10";
229438
+ return "1.1.12";
229439
229439
  }
229440
229440
  async function getInstalledVSCodeExtensionVersion(command) {
229441
229441
  const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
@@ -235037,7 +235037,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
235037
235037
  const client4 = new Client({
235038
235038
  name: "claude-code",
235039
235039
  title: "Claude Code",
235040
- version: "1.1.10",
235040
+ version: "1.1.12",
235041
235041
  description: "Anthropic's agentic coding tool",
235042
235042
  websiteUrl: PRODUCT_URL
235043
235043
  }, {
@@ -235390,7 +235390,7 @@ var init_client9 = __esm(() => {
235390
235390
  const client4 = new Client({
235391
235391
  name: "claude-code",
235392
235392
  title: "Claude Code",
235393
- version: "1.1.10",
235393
+ version: "1.1.12",
235394
235394
  description: "Anthropic's agentic coding tool",
235395
235395
  websiteUrl: PRODUCT_URL
235396
235396
  }, {
@@ -258581,7 +258581,7 @@ var init_user = __esm(() => {
258581
258581
  deviceId,
258582
258582
  sessionId: getSessionId(),
258583
258583
  email: getEmail(),
258584
- appVersion: "1.1.10",
258584
+ appVersion: "1.1.12",
258585
258585
  platform: getHostPlatformForAnalytics(),
258586
258586
  organizationUuid,
258587
258587
  accountUuid,
@@ -259905,7 +259905,7 @@ async function initializeBetaTracing(resource) {
259905
259905
  });
259906
259906
  logs.setGlobalLoggerProvider(loggerProvider);
259907
259907
  setLoggerProvider(loggerProvider);
259908
- const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "1.1.10");
259908
+ const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "1.1.12");
259909
259909
  setEventLogger(eventLogger);
259910
259910
  process.on("beforeExit", async () => {
259911
259911
  await loggerProvider?.forceFlush();
@@ -259945,7 +259945,7 @@ async function initializeTelemetry() {
259945
259945
  const platform3 = getPlatform();
259946
259946
  const baseAttributes = {
259947
259947
  [ATTR_SERVICE_NAME5]: "claude-code",
259948
- [ATTR_SERVICE_VERSION5]: "1.1.10"
259948
+ [ATTR_SERVICE_VERSION5]: "1.1.12"
259949
259949
  };
259950
259950
  if (platform3 === "wsl") {
259951
259951
  const wslVersion = getWslVersion();
@@ -259990,7 +259990,7 @@ async function initializeTelemetry() {
259990
259990
  } catch {}
259991
259991
  };
259992
259992
  registerCleanup(shutdownTelemetry2);
259993
- return meterProvider2.getMeter("com.anthropic.claude_code", "1.1.10");
259993
+ return meterProvider2.getMeter("com.anthropic.claude_code", "1.1.12");
259994
259994
  }
259995
259995
  const meterProvider = new MeterProvider5({
259996
259996
  resource,
@@ -260010,7 +260010,7 @@ async function initializeTelemetry() {
260010
260010
  });
260011
260011
  logs.setGlobalLoggerProvider(loggerProvider);
260012
260012
  setLoggerProvider(loggerProvider);
260013
- const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "1.1.10");
260013
+ const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "1.1.12");
260014
260014
  setEventLogger(eventLogger);
260015
260015
  logForDebugging("[3P telemetry] Event logger set successfully");
260016
260016
  process.on("beforeExit", async () => {
@@ -260072,7 +260072,7 @@ Current timeout: ${timeoutMs}ms
260072
260072
  }
260073
260073
  };
260074
260074
  registerCleanup(shutdownTelemetry);
260075
- return meterProvider.getMeter("com.anthropic.claude_code", "1.1.10");
260075
+ return meterProvider.getMeter("com.anthropic.claude_code", "1.1.12");
260076
260076
  }
260077
260077
  async function flushTelemetry() {
260078
260078
  const meterProvider = getMeterProvider();
@@ -261295,7 +261295,7 @@ function detectLinuxGlobPatternWarnings() {
261295
261295
  }
261296
261296
  async function getDoctorDiagnostic() {
261297
261297
  const installationType = await getCurrentInstallationType();
261298
- const version = typeof MACRO !== "undefined" ? "1.1.10" : "unknown";
261298
+ const version = typeof MACRO !== "undefined" ? "1.1.12" : "unknown";
261299
261299
  const installationPath = await getInstallationPath();
261300
261300
  const invokedBinary = getInvokedBinary();
261301
261301
  const multipleInstallations = await detectMultipleInstallations();
@@ -262236,8 +262236,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
262236
262236
  const maxVersion = await getMaxVersion();
262237
262237
  if (maxVersion && gt(version, maxVersion)) {
262238
262238
  logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version} to ${maxVersion}`);
262239
- if (gte("1.1.10", maxVersion)) {
262240
- logForDebugging(`Native installer: current version ${"1.1.10"} is already at or above maxVersion ${maxVersion}, skipping update`);
262239
+ if (gte("1.1.12", maxVersion)) {
262240
+ logForDebugging(`Native installer: current version ${"1.1.12"} is already at or above maxVersion ${maxVersion}, skipping update`);
262241
262241
  logEvent("tengu_native_update_skipped_max_version", {
262242
262242
  latency_ms: Date.now() - startTime,
262243
262243
  max_version: maxVersion,
@@ -262248,7 +262248,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
262248
262248
  version = maxVersion;
262249
262249
  }
262250
262250
  }
262251
- if (!forceReinstall && version === "1.1.10" && await versionIsAvailable(version) && await isPossibleLocalClawdBinary(executablePath)) {
262251
+ if (!forceReinstall && version === "1.1.12" && await versionIsAvailable(version) && await isPossibleLocalClawdBinary(executablePath)) {
262252
262252
  logForDebugging(`Found ${version} at ${executablePath}, skipping install`);
262253
262253
  logEvent("tengu_native_update_complete", {
262254
262254
  latency_ms: Date.now() - startTime,
@@ -334468,7 +334468,7 @@ function getAnthropicEnvMetadata() {
334468
334468
  function getBuildAgeMinutes() {
334469
334469
  if (false)
334470
334470
  ;
334471
- const buildTime = new Date("2026-04-07T13:57:33.526Z").getTime();
334471
+ const buildTime = new Date("2026-04-07T16:21:50.781Z").getTime();
334472
334472
  if (isNaN(buildTime))
334473
334473
  return;
334474
334474
  return Math.floor((Date.now() - buildTime) / 60000);
@@ -340532,10 +340532,10 @@ Resume standard operation:
340532
340532
  const fullChain = parseCommandChain2(`/thinkharder ${args ?? ""}`);
340533
340533
  if (fullChain && fullChain.length > 1) {
340534
340534
  const validation = validateCommandChain2(fullChain);
340535
- if (!validation.ok) {
340536
- const handleReady = () => onDone(chainWarning2(validation.reason));
340535
+ if (validation.ok === false) {
340536
+ const msg = chainWarning2(validation.reason);
340537
340537
  return /* @__PURE__ */ jsx_dev_runtime152.jsxDEV(ThinkHarderBanner, {
340538
- onReady: handleReady
340538
+ onReady: () => onDone(msg)
340539
340539
  }, undefined, false, undefined, this);
340540
340540
  }
340541
340541
  }
@@ -358534,7 +358534,7 @@ function Feedback({
358534
358534
  platform: env4.platform,
358535
358535
  gitRepo: envInfo.isGit,
358536
358536
  terminal: env4.terminal,
358537
- version: "1.1.10",
358537
+ version: "1.1.12",
358538
358538
  transcript: normalizeMessagesForAPI(messages),
358539
358539
  errors: sanitizedErrors,
358540
358540
  lastApiRequest: getLastAPIRequest(),
@@ -358726,7 +358726,7 @@ function Feedback({
358726
358726
  ", ",
358727
358727
  env4.terminal,
358728
358728
  ", v",
358729
- "1.1.10"
358729
+ "1.1.12"
358730
358730
  ]
358731
358731
  }, undefined, true, undefined, this)
358732
358732
  ]
@@ -358832,7 +358832,7 @@ ${sanitizedDescription}
358832
358832
  ` + `**Environment Info**
358833
358833
  ` + `- Platform: ${env4.platform}
358834
358834
  ` + `- Terminal: ${env4.terminal}
358835
- ` + `- Version: ${"1.1.10"}
358835
+ ` + `- Version: ${"1.1.12"}
358836
358836
  ` + `- Feedback ID: ${feedbackId}
358837
358837
  ` + `
358838
358838
  **Errors**
@@ -361945,7 +361945,7 @@ function buildPrimarySection() {
361945
361945
  }, undefined, false, undefined, this);
361946
361946
  return [{
361947
361947
  label: "Version",
361948
- value: "1.1.10"
361948
+ value: "1.1.12"
361949
361949
  }, {
361950
361950
  label: "Session name",
361951
361951
  value: nameValue
@@ -363512,11 +363512,18 @@ var exports_LocalBackendSetup = {};
363512
363512
  __export(exports_LocalBackendSetup, {
363513
363513
  LocalBackendSetup: () => LocalBackendSetup
363514
363514
  });
363515
+ function isEnter(input, key) {
363516
+ return key.return || input === "\r" || input === `
363517
+ `;
363518
+ }
363515
363519
  function SimpleMenu({ items, isActive, onSelect, onCancel }) {
363516
363520
  const VISIBLE = Math.min(7, items.length);
363517
363521
  const [focusIdx, setFocusIdx] = import_react100.useState(0);
363518
363522
  const [fromIdx, setFromIdx] = import_react100.useState(0);
363519
- use_input_default((_input, key) => {
363523
+ const [submitted, setSubmitted] = import_react100.useState(false);
363524
+ use_input_default((input, key) => {
363525
+ if (!isActive || submitted)
363526
+ return;
363520
363527
  if (key.upArrow) {
363521
363528
  setFocusIdx((prev) => {
363522
363529
  const next = Math.max(0, prev - 1);
@@ -363531,11 +363538,13 @@ function SimpleMenu({ items, isActive, onSelect, onCancel }) {
363531
363538
  setFromIdx(next - VISIBLE + 1);
363532
363539
  return next;
363533
363540
  });
363534
- } else if (key.return) {
363541
+ } else if (isEnter(input, key)) {
363535
363542
  const item = items[focusIdx];
363536
- if (item)
363543
+ if (item) {
363544
+ setSubmitted(true);
363537
363545
  onSelect(item.value);
363538
- } else if (key.escape) {
363546
+ }
363547
+ } else if (key.escape || key.ctrl && input === "c") {
363539
363548
  onCancel?.();
363540
363549
  }
363541
363550
  }, { isActive });
@@ -363619,28 +363628,37 @@ function LocalBackendSetup({
363619
363628
  const networkAbortRef = import_react100.useRef(null);
363620
363629
  const modelScanAbortRef = import_react100.useRef(null);
363621
363630
  const discoveredSnapshotRef = import_react100.useRef([]);
363631
+ const scanStepDoneRef = import_react100.useRef(false);
363622
363632
  import_react100.useEffect(() => {
363623
363633
  return () => {
363624
363634
  networkAbortRef.current?.abort();
363625
363635
  modelScanAbortRef.current?.abort();
363626
363636
  };
363627
363637
  }, []);
363638
+ import_react100.useEffect(() => {
363639
+ scanStepDoneRef.current = false;
363640
+ }, [step]);
363628
363641
  import_react100.useEffect(() => {
363629
363642
  const nextValue = step === "baseUrl" ? baseUrl : step === "model" ? model : apiKey;
363630
363643
  setCursorOffset(nextValue.length);
363631
363644
  }, [step, baseUrl, model, apiKey]);
363632
- use_input_default((_input, key) => {
363645
+ use_input_default((input, key) => {
363646
+ if (scanStepDoneRef.current)
363647
+ return;
363633
363648
  if (step === "networkScan") {
363634
- if (key.escape || key.return) {
363649
+ if (key.escape || isEnter(input, key)) {
363650
+ scanStepDoneRef.current = true;
363635
363651
  networkAbortRef.current?.abort();
363636
363652
  setDiscoveredEndpoints(discoveredSnapshotRef.current);
363637
363653
  setStep("selectEndpoint");
363638
363654
  }
363639
363655
  } else if (step === "scanningModels") {
363640
363656
  if (key.escape) {
363657
+ scanStepDoneRef.current = true;
363641
363658
  modelScanAbortRef.current?.abort();
363642
363659
  goBack();
363643
- } else if (key.return) {
363660
+ } else if (isEnter(input, key)) {
363661
+ scanStepDoneRef.current = true;
363644
363662
  modelScanAbortRef.current?.abort();
363645
363663
  setScanError("Model scan skipped. Enter the model name manually.");
363646
363664
  setAvailableModels([]);
@@ -363758,11 +363776,11 @@ function LocalBackendSetup({
363758
363776
  fetchAvailableModels(url3, provider, apiKey, abort.signal).then((result) => {
363759
363777
  if (abort.signal.aborted)
363760
363778
  return;
363761
- if (result.ok) {
363779
+ if (result.ok === true) {
363762
363780
  setAvailableModels(result.models);
363763
363781
  setScanError(null);
363764
363782
  } else {
363765
- setScanError(result.error);
363783
+ setScanError(result.ok === false ? result.error : "Scan failed");
363766
363784
  setAvailableModels([]);
363767
363785
  }
363768
363786
  setStep("model");
@@ -366553,7 +366571,7 @@ function Config({
366553
366571
  }
366554
366572
  }, undefined, false, undefined, this)
366555
366573
  }, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime179.jsxDEV(ChannelDowngradeDialog, {
366556
- currentVersion: "1.1.10",
366574
+ currentVersion: "1.1.12",
366557
366575
  onChoice: (choice) => {
366558
366576
  setShowSubmenu(null);
366559
366577
  setTabsHidden(false);
@@ -366565,7 +366583,7 @@ function Config({
366565
366583
  autoUpdatesChannel: "stable"
366566
366584
  };
366567
366585
  if (choice === "stay") {
366568
- newSettings.minimumVersion = "1.1.10";
366586
+ newSettings.minimumVersion = "1.1.12";
366569
366587
  }
366570
366588
  updateSettingsForSource("userSettings", newSettings);
366571
366589
  setSettingsData((prev_27) => ({
@@ -374063,12 +374081,13 @@ var React62, jsx_dev_runtime204, heartbeatInterval = 5, heartbeatBeat = 0, heart
374063
374081
  const fullChain = parseCommandChain2(`/heartbeat ${rawArgs}`);
374064
374082
  if (fullChain && fullChain.length > 1) {
374065
374083
  const validation = validateCommandChain2(fullChain);
374066
- if (!validation.ok) {
374084
+ if (validation.ok === false) {
374085
+ const msg = chainWarning2(validation.reason);
374067
374086
  return /* @__PURE__ */ jsx_dev_runtime204.jsxDEV(HeartbeatBanner, {
374068
374087
  beat: 0,
374069
374088
  intervalMins: heartbeatInterval,
374070
- task: chainWarning2(validation.reason),
374071
- onReady: () => onDone(chainWarning2(validation.reason))
374089
+ task: msg,
374090
+ onReady: () => onDone(msg)
374072
374091
  }, undefined, false, undefined, this);
374073
374092
  }
374074
374093
  }
@@ -374568,7 +374587,7 @@ var React65, jsx_dev_runtime207, call27 = async (onDone, _context, args) => {
374568
374587
  const fullChain = parseCommandChain(`/research ${rawArgs}`);
374569
374588
  if (fullChain && fullChain.length > 1) {
374570
374589
  const validation = validateCommandChain(fullChain);
374571
- if (!validation.ok) {
374590
+ if (validation.ok === false) {
374572
374591
  const msg = chainWarning(validation.reason);
374573
374592
  return /* @__PURE__ */ jsx_dev_runtime207.jsxDEV(ResearchWarning, {
374574
374593
  message: msg,
@@ -376297,7 +376316,7 @@ function HelpV2(t0) {
376297
376316
  let t6;
376298
376317
  if ($2[31] !== tabs) {
376299
376318
  t6 = /* @__PURE__ */ jsx_dev_runtime214.jsxDEV(Tabs, {
376300
- title: `localclawd v${"1.1.10"}`,
376319
+ title: `localclawd v${"1.1.12"}`,
376301
376320
  color: "professionalBlue",
376302
376321
  defaultTab: "general",
376303
376322
  children: tabs
@@ -400455,7 +400474,7 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
400455
400474
  return [];
400456
400475
  }
400457
400476
  }
400458
- async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.1.10") {
400477
+ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.1.12") {
400459
400478
  if (process.env.USER_TYPE === "ant") {
400460
400479
  const changelog = MACRO.VERSION_CHANGELOG;
400461
400480
  if (changelog) {
@@ -400482,7 +400501,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.1.10")
400482
400501
  releaseNotes
400483
400502
  };
400484
400503
  }
400485
- function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.1.10") {
400504
+ function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.1.12") {
400486
400505
  if (process.env.USER_TYPE === "ant") {
400487
400506
  const changelog = MACRO.VERSION_CHANGELOG;
400488
400507
  if (changelog) {
@@ -401649,7 +401668,7 @@ function getRecentActivitySync() {
401649
401668
  return cachedActivity;
401650
401669
  }
401651
401670
  function getLogoDisplayData() {
401652
- const version = process.env.DEMO_VERSION ?? "1.1.10";
401671
+ const version = process.env.DEMO_VERSION ?? "1.1.12";
401653
401672
  const serverUrl = getDirectConnectServerUrl();
401654
401673
  const displayPath = process.env.DEMO_VERSION ? "/code/claude" : getDisplayPath(getCwd());
401655
401674
  const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
@@ -402923,7 +402942,7 @@ function LogoV2() {
402923
402942
  if ($2[2] === Symbol.for("react.memo_cache_sentinel")) {
402924
402943
  t2 = () => {
402925
402944
  const currentConfig = getGlobalConfig();
402926
- if (currentConfig.lastReleaseNotesSeen === "1.1.10") {
402945
+ if (currentConfig.lastReleaseNotesSeen === "1.1.12") {
402927
402946
  return;
402928
402947
  }
402929
402948
  saveGlobalConfig(_temp327);
@@ -403599,12 +403618,12 @@ function LogoV2() {
403599
403618
  return t41;
403600
403619
  }
403601
403620
  function _temp327(current) {
403602
- if (current.lastReleaseNotesSeen === "1.1.10") {
403621
+ if (current.lastReleaseNotesSeen === "1.1.12") {
403603
403622
  return current;
403604
403623
  }
403605
403624
  return {
403606
403625
  ...current,
403607
- lastReleaseNotesSeen: "1.1.10"
403626
+ lastReleaseNotesSeen: "1.1.12"
403608
403627
  };
403609
403628
  }
403610
403629
  function _temp245(s_0) {
@@ -429806,7 +429825,7 @@ async function captureMemoryDiagnostics(trigger, dumpNumber = 0) {
429806
429825
  smapsRollup,
429807
429826
  platform: process.platform,
429808
429827
  nodeVersion: process.version,
429809
- ccVersion: "1.1.10"
429828
+ ccVersion: "1.1.12"
429810
429829
  };
429811
429830
  }
429812
429831
  async function performHeapDump(trigger = "manual", dumpNumber = 0) {
@@ -430391,7 +430410,7 @@ var init_bridge_kick = __esm(() => {
430391
430410
  var call64 = async () => {
430392
430411
  return {
430393
430412
  type: "text",
430394
- value: `${"1.1.10"} (built ${"2026-04-07T13:57:33.526Z"})`
430413
+ value: `${"1.1.12"} (built ${"2026-04-07T16:21:50.781Z"})`
430395
430414
  };
430396
430415
  }, version, version_default;
430397
430416
  var init_version = __esm(() => {
@@ -432382,6 +432401,8 @@ var init_stickers2 = __esm(() => {
432382
432401
  type: "local",
432383
432402
  name: "stickers",
432384
432403
  description: "Order localclawd stickers",
432404
+ isEnabled: () => false,
432405
+ isHidden: true,
432385
432406
  supportsNonInteractive: false,
432386
432407
  load: () => Promise.resolve().then(() => (init_stickers(), exports_stickers))
432387
432408
  };
@@ -439327,7 +439348,7 @@ function generateHtmlReport(data, insights) {
439327
439348
  </html>`;
439328
439349
  }
439329
439350
  function buildExportData(data, insights, facets, remoteStats) {
439330
- const version2 = typeof MACRO !== "undefined" ? "1.1.10" : "unknown";
439351
+ const version2 = typeof MACRO !== "undefined" ? "1.1.12" : "unknown";
439331
439352
  const remote_hosts_collected = remoteStats?.hosts.filter((h) => h.sessionCount > 0).map((h) => h.name);
439332
439353
  const facets_summary = {
439333
439354
  total: facets.size,
@@ -443494,7 +443515,7 @@ var init_sessionStorage = __esm(() => {
443494
443515
  init_settings2();
443495
443516
  init_slowOperations();
443496
443517
  init_uuid();
443497
- VERSION6 = typeof MACRO !== "undefined" ? "1.1.10" : "unknown";
443518
+ VERSION6 = typeof MACRO !== "undefined" ? "1.1.12" : "unknown";
443498
443519
  MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
443499
443520
  SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
443500
443521
  EPHEMERAL_PROGRESS_TYPES = new Set([
@@ -444696,7 +444717,7 @@ var init_filesystem = __esm(() => {
444696
444717
  });
444697
444718
  getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
444698
444719
  const nonce = randomBytes19(16).toString("hex");
444699
- return join130(getClaudeTempDir(), "bundled-skills", "1.1.10", nonce);
444720
+ return join130(getClaudeTempDir(), "bundled-skills", "1.1.12", nonce);
444700
444721
  });
444701
444722
  getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
444702
444723
  });
@@ -450695,7 +450716,7 @@ function computeFingerprint(messageText, version2) {
450695
450716
  }
450696
450717
  function computeFingerprintFromMessages(messages) {
450697
450718
  const firstMessageText = extractFirstMessageText(messages);
450698
- return computeFingerprint(firstMessageText, "1.1.10");
450719
+ return computeFingerprint(firstMessageText, "1.1.12");
450699
450720
  }
450700
450721
  var FINGERPRINT_SALT = "59cf53e54c78";
450701
450722
  var init_fingerprint = () => {};
@@ -452550,7 +452571,7 @@ async function sideQuery(opts) {
452550
452571
  betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
452551
452572
  }
452552
452573
  const messageText = extractFirstUserMessageText(messages);
452553
- const fingerprint = computeFingerprint(messageText, "1.1.10");
452574
+ const fingerprint = computeFingerprint(messageText, "1.1.12");
452554
452575
  const attributionHeader = getAttributionHeader(fingerprint);
452555
452576
  const systemBlocks = [
452556
452577
  attributionHeader ? { type: "text", text: attributionHeader } : null,
@@ -457348,7 +457369,7 @@ function buildSystemInitMessage(inputs) {
457348
457369
  slash_commands: inputs.commands.filter((c5) => c5.userInvocable !== false).map((c5) => c5.name),
457349
457370
  apiKeySource: getAnthropicApiKeyWithSource().source,
457350
457371
  betas: getSdkBetas(),
457351
- claude_code_version: "1.1.10",
457372
+ claude_code_version: "1.1.12",
457352
457373
  output_style: outputStyle2,
457353
457374
  agents: inputs.agents.map((agent) => agent.agentType),
457354
457375
  skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill) => skill.name),
@@ -471927,7 +471948,7 @@ var init_useVoiceEnabled = __esm(() => {
471927
471948
  function getSemverPart(version2) {
471928
471949
  return `${import_semver12.major(version2, { loose: true })}.${import_semver12.minor(version2, { loose: true })}.${import_semver12.patch(version2, { loose: true })}`;
471929
471950
  }
471930
- function useUpdateNotification(updatedVersion, initialVersion = "1.1.10") {
471951
+ function useUpdateNotification(updatedVersion, initialVersion = "1.1.12") {
471931
471952
  const [lastNotifiedSemver, setLastNotifiedSemver] = import_react228.useState(() => getSemverPart(initialVersion));
471932
471953
  if (!updatedVersion) {
471933
471954
  return null;
@@ -471967,7 +471988,7 @@ function AutoUpdater({
471967
471988
  return;
471968
471989
  }
471969
471990
  if (false) {}
471970
- const currentVersion = "1.1.10";
471991
+ const currentVersion = "1.1.12";
471971
471992
  const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
471972
471993
  let latestVersion = await getLatestVersion(channel);
471973
471994
  const isDisabled = isAutoUpdaterDisabled();
@@ -472178,12 +472199,12 @@ function NativeAutoUpdater({
472178
472199
  logEvent("tengu_native_auto_updater_start", {});
472179
472200
  try {
472180
472201
  const maxVersion = await getMaxVersion();
472181
- if (maxVersion && gt("1.1.10", maxVersion)) {
472202
+ if (maxVersion && gt("1.1.12", maxVersion)) {
472182
472203
  const msg = await getMaxVersionMessage();
472183
472204
  setMaxVersionIssue(msg ?? "affects your version");
472184
472205
  }
472185
472206
  const result = await installLatest(channel);
472186
- const currentVersion = "1.1.10";
472207
+ const currentVersion = "1.1.12";
472187
472208
  const latencyMs = Date.now() - startTime;
472188
472209
  if (result.lockFailed) {
472189
472210
  logEvent("tengu_native_auto_updater_lock_contention", {
@@ -472318,17 +472339,17 @@ function PackageManagerAutoUpdater(t0) {
472318
472339
  const maxVersion = await getMaxVersion();
472319
472340
  if (maxVersion && latest && gt(latest, maxVersion)) {
472320
472341
  logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
472321
- if (gte("1.1.10", maxVersion)) {
472322
- logForDebugging(`PackageManagerAutoUpdater: current version ${"1.1.10"} is already at or above maxVersion ${maxVersion}, skipping update`);
472342
+ if (gte("1.1.12", maxVersion)) {
472343
+ logForDebugging(`PackageManagerAutoUpdater: current version ${"1.1.12"} is already at or above maxVersion ${maxVersion}, skipping update`);
472323
472344
  setUpdateAvailable(false);
472324
472345
  return;
472325
472346
  }
472326
472347
  latest = maxVersion;
472327
472348
  }
472328
- const hasUpdate = latest && !gte("1.1.10", latest) && !shouldSkipVersion(latest);
472349
+ const hasUpdate = latest && !gte("1.1.12", latest) && !shouldSkipVersion(latest);
472329
472350
  setUpdateAvailable(!!hasUpdate);
472330
472351
  if (hasUpdate) {
472331
- logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.1.10"} -> ${latest}`);
472352
+ logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.1.12"} -> ${latest}`);
472332
472353
  }
472333
472354
  };
472334
472355
  $2[0] = t1;
@@ -472362,7 +472383,7 @@ function PackageManagerAutoUpdater(t0) {
472362
472383
  wrap: "truncate",
472363
472384
  children: [
472364
472385
  "currentVersion: ",
472365
- "1.1.10"
472386
+ "1.1.12"
472366
472387
  ]
472367
472388
  }, undefined, true, undefined, this);
472368
472389
  $2[3] = verbose;
@@ -479920,7 +479941,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
479920
479941
  project_dir: getOriginalCwd(),
479921
479942
  added_dirs: addedDirs
479922
479943
  },
479923
- version: "1.1.10",
479944
+ version: "1.1.12",
479924
479945
  output_style: {
479925
479946
  name: outputStyleName
479926
479947
  },
@@ -491480,7 +491501,7 @@ async function submitTranscriptShare(messages, trigger, appearanceId) {
491480
491501
  } catch {}
491481
491502
  const data = {
491482
491503
  trigger,
491483
- version: "1.1.10",
491504
+ version: "1.1.12",
491484
491505
  platform: process.platform,
491485
491506
  transcript,
491486
491507
  subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
@@ -503069,7 +503090,7 @@ function WelcomeV2() {
503069
503090
  dimColor: true,
503070
503091
  children: [
503071
503092
  "v",
503072
- "1.1.10"
503093
+ "1.1.12"
503073
503094
  ]
503074
503095
  }, undefined, true, undefined, this)
503075
503096
  ]
@@ -503100,17 +503121,27 @@ __export(exports_StartPage, {
503100
503121
  function hasSavedBackendConfig(config2) {
503101
503122
  return Boolean(config2?.provider && config2?.baseUrl?.trim() && config2?.model?.trim());
503102
503123
  }
503124
+ function isEnter2(input, key) {
503125
+ return key.return || input === "\r" || input === `
503126
+ `;
503127
+ }
503103
503128
  function StartPage({ currentConfig, onDone }) {
503104
503129
  const hasSavedConfig = hasSavedBackendConfig(currentConfig);
503105
503130
  const options = hasSavedConfig ? CONTINUE_OPTIONS : SETUP_OPTIONS;
503106
503131
  const [focusIdx, setFocusIdx] = import_react321.useState(0);
503107
- use_input_default((_input, key) => {
503132
+ const [submitted, setSubmitted] = import_react321.useState(false);
503133
+ use_input_default((input, key) => {
503134
+ if (submitted)
503135
+ return;
503108
503136
  if (key.upArrow) {
503109
503137
  setFocusIdx((i2) => (i2 - 1 + options.length) % options.length);
503110
503138
  } else if (key.downArrow) {
503111
503139
  setFocusIdx((i2) => (i2 + 1) % options.length);
503112
- } else if (key.return) {
503140
+ } else if (isEnter2(input, key)) {
503141
+ setSubmitted(true);
503113
503142
  onDone(options[focusIdx].value);
503143
+ } else if (key.escape || key.ctrl && input === "c") {
503144
+ gracefulShutdownSync(0);
503114
503145
  }
503115
503146
  });
503116
503147
  return /* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedBox_default, {
@@ -503221,7 +503252,7 @@ function StartPage({ currentConfig, onDone }) {
503221
503252
  }, undefined, false, undefined, this),
503222
503253
  /* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedText, {
503223
503254
  dimColor: true,
503224
- children: "↑↓ navigate · Enter confirm"
503255
+ children: "↑↓ navigate · Enter confirm · Esc exit"
503225
503256
  }, undefined, false, undefined, this)
503226
503257
  ]
503227
503258
  }, undefined, true, undefined, this)
@@ -503231,6 +503262,7 @@ function StartPage({ currentConfig, onDone }) {
503231
503262
  var import_react321, jsx_dev_runtime483, CONTINUE_OPTIONS, SETUP_OPTIONS;
503232
503263
  var init_StartPage = __esm(() => {
503233
503264
  init_ink2();
503265
+ init_gracefulShutdown();
503234
503266
  init_providers();
503235
503267
  init_WelcomeV2();
503236
503268
  import_react321 = __toESM(require_react(), 1);
@@ -503387,11 +503419,18 @@ var exports_Onboarding = {};
503387
503419
  __export(exports_Onboarding, {
503388
503420
  Onboarding: () => Onboarding
503389
503421
  });
503422
+ function isEnter3(input, key) {
503423
+ return key.return || input === "\r" || input === `
503424
+ `;
503425
+ }
503390
503426
  function SimpleMenu2({ items, isActive, onSelect, onCancel }) {
503391
503427
  const VISIBLE = Math.min(7, items.length);
503392
503428
  const [focusIdx, setFocusIdx] = import_react324.useState(0);
503393
503429
  const [fromIdx, setFromIdx] = import_react324.useState(0);
503394
- use_input_default((_input, key) => {
503430
+ const [submitted, setSubmitted] = import_react324.useState(false);
503431
+ use_input_default((input, key) => {
503432
+ if (!isActive || submitted)
503433
+ return;
503395
503434
  if (key.upArrow) {
503396
503435
  setFocusIdx((prev) => {
503397
503436
  const next = Math.max(0, prev - 1);
@@ -503406,14 +503445,16 @@ function SimpleMenu2({ items, isActive, onSelect, onCancel }) {
503406
503445
  setFromIdx(next - VISIBLE + 1);
503407
503446
  return next;
503408
503447
  });
503409
- } else if (key.return) {
503448
+ } else if (isEnter3(input, key)) {
503410
503449
  const item = items[focusIdx];
503411
- if (item)
503450
+ if (item) {
503451
+ setSubmitted(true);
503412
503452
  onSelect(item.value);
503413
- } else if (key.escape) {
503453
+ }
503454
+ } else if (key.escape || key.ctrl && input === "c") {
503414
503455
  onCancel?.();
503415
503456
  }
503416
- }, { isActive });
503457
+ });
503417
503458
  const visible = items.slice(fromIdx, fromIdx + VISIBLE);
503418
503459
  return /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedBox_default, {
503419
503460
  flexDirection: "column",
@@ -503448,10 +503489,15 @@ function SimpleMenu2({ items, isActive, onSelect, onCancel }) {
503448
503489
  }, undefined, true, undefined, this);
503449
503490
  }
503450
503491
  function PressEnterToContinue2({ isActive, onContinue }) {
503451
- use_input_default((_input, key) => {
503452
- if (key.return)
503492
+ const [done, setDone] = import_react324.useState(false);
503493
+ use_input_default((input, key) => {
503494
+ if (!isActive || done)
503495
+ return;
503496
+ if (isEnter3(input, key)) {
503497
+ setDone(true);
503453
503498
  onContinue();
503454
- }, { isActive });
503499
+ }
503500
+ });
503455
503501
  return /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
503456
503502
  color: "permission",
503457
503503
  children: [
@@ -503719,44 +503765,64 @@ __export(exports_TrustDialog, {
503719
503765
  TrustDialog: () => TrustDialog
503720
503766
  });
503721
503767
  import { homedir as homedir36 } from "os";
503768
+ function isEnter4(input, key) {
503769
+ return key.return || input === "\r" || input === `
503770
+ `;
503771
+ }
503722
503772
  function TrustDialog({ onDone }) {
503723
- const hasTrustDialogAccepted = checkHasTrustDialogAccepted();
503724
503773
  const [focusIdx, setFocusIdx] = import_react325.useState(0);
503725
- use_input_default((_input, key) => {
503726
- if (hasTrustDialogAccepted)
503774
+ const [accepted, setAccepted] = import_react325.useState(false);
503775
+ import_react325.useEffect(() => {
503776
+ if (checkHasTrustDialogAccepted()) {
503777
+ setSessionTrustAccepted(true);
503778
+ setAccepted(true);
503779
+ onDone();
503780
+ }
503781
+ }, []);
503782
+ use_input_default((input, key) => {
503783
+ if (accepted)
503727
503784
  return;
503728
503785
  if (key.upArrow) {
503729
503786
  setFocusIdx((i2) => (i2 - 1 + OPTIONS.length) % OPTIONS.length);
503730
503787
  } else if (key.downArrow) {
503731
503788
  setFocusIdx((i2) => (i2 + 1) % OPTIONS.length);
503732
- } else if (key.return) {
503789
+ } else if (isEnter4(input, key)) {
503733
503790
  const chosen = OPTIONS[focusIdx];
503734
503791
  if (chosen?.value === "exit") {
503735
503792
  gracefulShutdownSync(1);
503736
503793
  } else {
503737
503794
  try {
503738
503795
  const isHomeDir = homedir36() === getCwd();
503739
- if (isHomeDir) {
503740
- setSessionTrustAccepted(true);
503741
- } else {
503796
+ if (!isHomeDir) {
503742
503797
  try {
503743
503798
  saveCurrentProjectConfig((current) => ({ ...current, hasTrustDialogAccepted: true }));
503744
503799
  } catch {}
503745
- setSessionTrustAccepted(true);
503746
503800
  }
503801
+ setSessionTrustAccepted(true);
503747
503802
  } finally {
503803
+ setAccepted(true);
503748
503804
  onDone();
503749
503805
  }
503750
503806
  }
503751
- } else if (key.escape) {
503807
+ } else if (key.escape || key.ctrl && input === "c") {
503752
503808
  gracefulShutdownSync(0);
503753
503809
  }
503754
503810
  });
503755
- if (hasTrustDialogAccepted) {
503756
- setTimeout(onDone, 0);
503757
- return null;
503758
- }
503759
503811
  const cwd2 = getFsImplementation().cwd();
503812
+ if (accepted) {
503813
+ return /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(PermissionDialog, {
503814
+ color: "warning",
503815
+ titleColor: "warning",
503816
+ title: "Accessing workspace:",
503817
+ children: /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedBox_default, {
503818
+ paddingTop: 1,
503819
+ children: /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
503820
+ dimColor: true,
503821
+ children: "Trusted. Loading…"
503822
+ }, undefined, false, undefined, this)
503823
+ }, undefined, false, undefined, this)
503824
+ }, undefined, false, undefined, this);
503825
+ }
503760
503826
  return /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(PermissionDialog, {
503761
503827
  color: "warning",
503762
503828
  titleColor: "warning",
@@ -504129,7 +504195,7 @@ function completeOnboarding() {
504129
504195
  saveGlobalConfig((current) => ({
504130
504196
  ...current,
504131
504197
  hasCompletedOnboarding: true,
504132
- lastOnboardingVersion: "1.1.10"
504198
+ lastOnboardingVersion: "1.1.12"
504133
504199
  }));
504134
504200
  }
504135
504201
  function showDialog(root3, renderer) {
@@ -508688,7 +508754,7 @@ function appendToLog(path17, message) {
508688
508754
  cwd: getFsImplementation().cwd(),
508689
508755
  userType: process.env.USER_TYPE,
508690
508756
  sessionId: getSessionId(),
508691
- version: "1.1.10"
508757
+ version: "1.1.12"
508692
508758
  };
508693
508759
  getLogWriter(path17).write(messageWithTimestamp);
508694
508760
  }
@@ -512688,8 +512754,8 @@ async function getEnvLessBridgeConfig() {
512688
512754
  }
512689
512755
  async function checkEnvLessBridgeMinVersion() {
512690
512756
  const cfg = await getEnvLessBridgeConfig();
512691
- if (cfg.min_version && lt("1.1.10", cfg.min_version)) {
512692
- return `Your version of localclawd (${"1.1.10"}) is too old for Remote Control.
512757
+ if (cfg.min_version && lt("1.1.12", cfg.min_version)) {
512758
+ return `Your version of localclawd (${"1.1.12"}) is too old for Remote Control.
512693
512759
  Version ${cfg.min_version} or higher is required. Run \`localclawd update\` to update.`;
512694
512760
  }
512695
512761
  return null;
@@ -513161,7 +513227,7 @@ async function initBridgeCore(params) {
513161
513227
  const rawApi = createBridgeApiClient({
513162
513228
  baseUrl,
513163
513229
  getAccessToken,
513164
- runnerVersion: "1.1.10",
513230
+ runnerVersion: "1.1.12",
513165
513231
  onDebug: logForDebugging,
513166
513232
  onAuth401,
513167
513233
  getTrustedDeviceToken
@@ -518817,7 +518883,7 @@ async function startMCPServer(cwd3, debug4, verbose) {
518817
518883
  setCwd(cwd3);
518818
518884
  const server = new Server({
518819
518885
  name: "claude/tengu",
518820
- version: "1.1.10"
518886
+ version: "1.1.12"
518821
518887
  }, {
518822
518888
  capabilities: {
518823
518889
  tools: {}
@@ -520422,7 +520488,7 @@ __export(exports_update, {
520422
520488
  });
520423
520489
  async function update() {
520424
520490
  logEvent("tengu_update_check", {});
520425
- writeToStdout(`Current version: ${"1.1.10"}
520491
+ writeToStdout(`Current version: ${"1.1.12"}
520426
520492
  `);
520427
520493
  const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
520428
520494
  writeToStdout(`Checking for updates to ${channel} version...
@@ -520497,8 +520563,8 @@ async function update() {
520497
520563
  writeToStdout(`localclawd is managed by Homebrew.
520498
520564
  `);
520499
520565
  const latest = await getLatestVersion(channel);
520500
- if (latest && !gte("1.1.10", latest)) {
520501
- writeToStdout(`Update available: ${"1.1.10"} → ${latest}
520566
+ if (latest && !gte("1.1.12", latest)) {
520567
+ writeToStdout(`Update available: ${"1.1.12"} → ${latest}
520502
520568
  `);
520503
520569
  writeToStdout(`
520504
520570
  `);
@@ -520514,8 +520580,8 @@ async function update() {
520514
520580
  writeToStdout(`localclawd is managed by winget.
520515
520581
  `);
520516
520582
  const latest = await getLatestVersion(channel);
520517
- if (latest && !gte("1.1.10", latest)) {
520518
- writeToStdout(`Update available: ${"1.1.10"} → ${latest}
520583
+ if (latest && !gte("1.1.12", latest)) {
520584
+ writeToStdout(`Update available: ${"1.1.12"} → ${latest}
520519
520585
  `);
520520
520586
  writeToStdout(`
520521
520587
  `);
@@ -520529,8 +520595,8 @@ async function update() {
520529
520595
  writeToStdout(`localclawd is managed by apk.
520530
520596
  `);
520531
520597
  const latest = await getLatestVersion(channel);
520532
- if (latest && !gte("1.1.10", latest)) {
520533
- writeToStdout(`Update available: ${"1.1.10"} → ${latest}
520598
+ if (latest && !gte("1.1.12", latest)) {
520599
+ writeToStdout(`Update available: ${"1.1.12"} → ${latest}
520534
520600
  `);
520535
520601
  writeToStdout(`
520536
520602
  `);
@@ -520595,11 +520661,11 @@ async function update() {
520595
520661
  `);
520596
520662
  await gracefulShutdown(1);
520597
520663
  }
520598
- if (result.latestVersion === "1.1.10") {
520599
- writeToStdout(source_default.green(`localclawd is up to date (${"1.1.10"})`) + `
520664
+ if (result.latestVersion === "1.1.12") {
520665
+ writeToStdout(source_default.green(`localclawd is up to date (${"1.1.12"})`) + `
520600
520666
  `);
520601
520667
  } else {
520602
- writeToStdout(source_default.green(`Successfully updated from ${"1.1.10"} to version ${result.latestVersion}`) + `
520668
+ writeToStdout(source_default.green(`Successfully updated from ${"1.1.12"} to version ${result.latestVersion}`) + `
520603
520669
  `);
520604
520670
  await regenerateCompletionCache();
520605
520671
  }
@@ -520659,12 +520725,12 @@ async function update() {
520659
520725
  `);
520660
520726
  await gracefulShutdown(1);
520661
520727
  }
520662
- if (latestVersion === "1.1.10") {
520663
- writeToStdout(source_default.green(`localclawd is up to date (${"1.1.10"})`) + `
520728
+ if (latestVersion === "1.1.12") {
520729
+ writeToStdout(source_default.green(`localclawd is up to date (${"1.1.12"})`) + `
520664
520730
  `);
520665
520731
  await gracefulShutdown(0);
520666
520732
  }
520667
- writeToStdout(`New version available: ${latestVersion} (current: ${"1.1.10"})
520733
+ writeToStdout(`New version available: ${latestVersion} (current: ${"1.1.12"})
520668
520734
  `);
520669
520735
  writeToStdout(`Installing update...
520670
520736
  `);
@@ -520709,7 +520775,7 @@ async function update() {
520709
520775
  logForDebugging(`update: Installation status: ${status2}`);
520710
520776
  switch (status2) {
520711
520777
  case "success":
520712
- writeToStdout(source_default.green(`Successfully updated from ${"1.1.10"} to version ${latestVersion}`) + `
520778
+ writeToStdout(source_default.green(`Successfully updated from ${"1.1.12"} to version ${latestVersion}`) + `
520713
520779
  `);
520714
520780
  await regenerateCompletionCache();
520715
520781
  break;
@@ -521974,7 +522040,7 @@ ${customInstructions}` : customInstructions;
521974
522040
  }
521975
522041
  }
521976
522042
  logForDiagnosticsNoPII("info", "started", {
521977
- version: "1.1.10",
522043
+ version: "1.1.12",
521978
522044
  is_native_binary: isInBundledMode()
521979
522045
  });
521980
522046
  registerCleanup(async () => {
@@ -522758,7 +522824,7 @@ Usage: localclawd --remote "your task description"`, () => gracefulShutdown(1));
522758
522824
  pendingHookMessages
522759
522825
  }, renderAndRun);
522760
522826
  }
522761
- }).version("1.1.10 (localClawd)", "-v, --version", "Output the version number");
522827
+ }).version("1.1.12 (localClawd)", "-v, --version", "Output the version number");
522762
522828
  program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
522763
522829
  program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
522764
522830
  if (canUserConfigureAdvisor()) {
@@ -523266,7 +523332,7 @@ if (false) {}
523266
523332
  async function main2() {
523267
523333
  const args = process.argv.slice(2);
523268
523334
  if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
523269
- console.log(`${"1.1.10"} (localclawd)`);
523335
+ console.log(`${"1.1.12"} (localclawd)`);
523270
523336
  return;
523271
523337
  }
523272
523338
  const {
@@ -523350,4 +523416,4 @@ async function main2() {
523350
523416
  }
523351
523417
  main2();
523352
523418
 
523353
- //# debugId=8FD76418D3A40B8164756E2164756E21
523419
+ //# debugId=3315EDB7491D062464756E2164756E21
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "localclawd",
3
- "version": "1.1.10",
3
+ "version": "1.1.12",
4
4
  "description": "Local-first coding CLI for vLLM, Ollama, and OpenAI-compatible backends.",
5
5
  "private": false,
6
6
  "type": "module",