localclawd 1.7.5 → 1.7.6

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 +146 -89
  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/${"1.7.5"}`;
87611
+ return `claude-code/${"1.7.6"}`;
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/${"1.7.5"} (${process.env.USER_TYPE}, ${process.env.CLAUDE_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
87633
+ return `claude-cli/${"1.7.6"} (${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/${"1.7.5"}${suffix}`;
87647
+ return `claude-code/${"1.7.6"}${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 = `${"1.7.5"}.${fingerprint}`;
130843
+ const version = `${"1.7.6"}.${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 = "1.7.5".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
147032
+ const match = "1.7.6".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: "1.7.5",
147072
+ version: "1.7.6",
147073
147073
  versionBase: getVersionBase(),
147074
- buildTime: "2026-05-07T14:41:21.784Z",
147074
+ buildTime: "2026-05-07T14:50:22.043Z",
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"] = "1.7.5";
179650
+ attributes["app.version"] = "1.7.6";
179651
179651
  }
179652
179652
  const oauthAccount = getOauthAccountInfo();
179653
179653
  if (oauthAccount) {
@@ -242448,7 +242448,7 @@ function getInstallationEnv() {
242448
242448
  return;
242449
242449
  }
242450
242450
  function getClaudeCodeVersion() {
242451
- return "1.7.5";
242451
+ return "1.7.6";
242452
242452
  }
242453
242453
  async function getInstalledVSCodeExtensionVersion(command) {
242454
242454
  const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
@@ -247722,7 +247722,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
247722
247722
  const client4 = new Client({
247723
247723
  name: "localclawd",
247724
247724
  title: "localclawd",
247725
- version: "1.7.5",
247725
+ version: "1.7.6",
247726
247726
  description: "local-first AI coding tool",
247727
247727
  websiteUrl: PRODUCT_URL
247728
247728
  }, {
@@ -248064,7 +248064,7 @@ var init_client9 = __esm(() => {
248064
248064
  const client4 = new Client({
248065
248065
  name: "localclawd",
248066
248066
  title: "localclawd",
248067
- version: "1.7.5",
248067
+ version: "1.7.6",
248068
248068
  description: "local-first AI coding tool",
248069
248069
  websiteUrl: PRODUCT_URL
248070
248070
  }, {
@@ -262466,7 +262466,7 @@ function computeFingerprint(messageText, version) {
262466
262466
  }
262467
262467
  function computeFingerprintFromMessages(messages) {
262468
262468
  const firstMessageText = extractFirstMessageText(messages);
262469
- return computeFingerprint(firstMessageText, "1.7.5");
262469
+ return computeFingerprint(firstMessageText, "1.7.6");
262470
262470
  }
262471
262471
  var FINGERPRINT_SALT = "59cf53e54c78";
262472
262472
  var init_fingerprint = () => {};
@@ -262508,7 +262508,7 @@ async function sideQuery(opts) {
262508
262508
  betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
262509
262509
  }
262510
262510
  const messageText = extractFirstUserMessageText(messages);
262511
- const fingerprint = computeFingerprint(messageText, "1.7.5");
262511
+ const fingerprint = computeFingerprint(messageText, "1.7.6");
262512
262512
  const attributionHeader = getAttributionHeader(fingerprint);
262513
262513
  const systemBlocks = [
262514
262514
  attributionHeader ? { type: "text", text: attributionHeader } : null,
@@ -283256,7 +283256,7 @@ var init_user = __esm(() => {
283256
283256
  deviceId,
283257
283257
  sessionId: getSessionId(),
283258
283258
  email: getEmail(),
283259
- appVersion: "1.7.5",
283259
+ appVersion: "1.7.6",
283260
283260
  platform: getHostPlatformForAnalytics(),
283261
283261
  organizationUuid,
283262
283262
  accountUuid,
@@ -284321,7 +284321,7 @@ async function initializeBetaTracing(resource) {
284321
284321
  });
284322
284322
  logs.setGlobalLoggerProvider(loggerProvider);
284323
284323
  setLoggerProvider(loggerProvider);
284324
- const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "1.7.5");
284324
+ const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "1.7.6");
284325
284325
  setEventLogger(eventLogger);
284326
284326
  process.on("beforeExit", async () => {
284327
284327
  await loggerProvider?.forceFlush();
@@ -284361,7 +284361,7 @@ async function initializeTelemetry() {
284361
284361
  const platform2 = getPlatform();
284362
284362
  const baseAttributes = {
284363
284363
  [ATTR_SERVICE_NAME4]: "claude-code",
284364
- [ATTR_SERVICE_VERSION4]: "1.7.5"
284364
+ [ATTR_SERVICE_VERSION4]: "1.7.6"
284365
284365
  };
284366
284366
  if (platform2 === "wsl") {
284367
284367
  const wslVersion = getWslVersion();
@@ -284406,7 +284406,7 @@ async function initializeTelemetry() {
284406
284406
  } catch {}
284407
284407
  };
284408
284408
  registerCleanup(shutdownTelemetry2);
284409
- return meterProvider2.getMeter("com.anthropic.claude_code", "1.7.5");
284409
+ return meterProvider2.getMeter("com.anthropic.claude_code", "1.7.6");
284410
284410
  }
284411
284411
  const meterProvider = new MeterProvider4({
284412
284412
  resource,
@@ -284426,7 +284426,7 @@ async function initializeTelemetry() {
284426
284426
  });
284427
284427
  logs.setGlobalLoggerProvider(loggerProvider);
284428
284428
  setLoggerProvider(loggerProvider);
284429
- const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "1.7.5");
284429
+ const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "1.7.6");
284430
284430
  setEventLogger(eventLogger);
284431
284431
  logForDebugging("[3P telemetry] Event logger set successfully");
284432
284432
  process.on("beforeExit", async () => {
@@ -284488,7 +284488,7 @@ Current timeout: ${timeoutMs}ms
284488
284488
  }
284489
284489
  };
284490
284490
  registerCleanup(shutdownTelemetry);
284491
- return meterProvider.getMeter("com.anthropic.claude_code", "1.7.5");
284491
+ return meterProvider.getMeter("com.anthropic.claude_code", "1.7.6");
284492
284492
  }
284493
284493
  async function flushTelemetry() {
284494
284494
  const meterProvider = getMeterProvider();
@@ -285678,7 +285678,7 @@ function detectLinuxGlobPatternWarnings() {
285678
285678
  }
285679
285679
  async function getDoctorDiagnostic() {
285680
285680
  const installationType = await getCurrentInstallationType();
285681
- const version = typeof MACRO !== "undefined" ? "1.7.5" : "unknown";
285681
+ const version = typeof MACRO !== "undefined" ? "1.7.6" : "unknown";
285682
285682
  const installationPath = await getInstallationPath();
285683
285683
  const invokedBinary = getInvokedBinary();
285684
285684
  const multipleInstallations = await detectMultipleInstallations();
@@ -286619,8 +286619,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
286619
286619
  const maxVersion = await getMaxVersion();
286620
286620
  if (maxVersion && gt(version, maxVersion)) {
286621
286621
  logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version} to ${maxVersion}`);
286622
- if (gte("1.7.5", maxVersion)) {
286623
- logForDebugging(`Native installer: current version ${"1.7.5"} is already at or above maxVersion ${maxVersion}, skipping update`);
286622
+ if (gte("1.7.6", maxVersion)) {
286623
+ logForDebugging(`Native installer: current version ${"1.7.6"} is already at or above maxVersion ${maxVersion}, skipping update`);
286624
286624
  logEvent("tengu_native_update_skipped_max_version", {
286625
286625
  latency_ms: Date.now() - startTime,
286626
286626
  max_version: maxVersion,
@@ -286631,7 +286631,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
286631
286631
  version = maxVersion;
286632
286632
  }
286633
286633
  }
286634
- if (!forceReinstall && version === "1.7.5" && await versionIsAvailable(version) && await isPossibleLocalClawdBinary(executablePath)) {
286634
+ if (!forceReinstall && version === "1.7.6" && await versionIsAvailable(version) && await isPossibleLocalClawdBinary(executablePath)) {
286635
286635
  logForDebugging(`Found ${version} at ${executablePath}, skipping install`);
286636
286636
  logEvent("tengu_native_update_complete", {
286637
286637
  latency_ms: Date.now() - startTime,
@@ -331760,7 +331760,7 @@ function getAnthropicEnvMetadata() {
331760
331760
  function getBuildAgeMinutes() {
331761
331761
  if (false)
331762
331762
  ;
331763
- const buildTime = new Date("2026-05-07T14:41:21.784Z").getTime();
331763
+ const buildTime = new Date("2026-05-07T14:50:22.043Z").getTime();
331764
331764
  if (isNaN(buildTime))
331765
331765
  return;
331766
331766
  return Math.floor((Date.now() - buildTime) / 60000);
@@ -360590,7 +360590,7 @@ function Feedback({
360590
360590
  platform: env3.platform,
360591
360591
  gitRepo: envInfo.isGit,
360592
360592
  terminal: env3.terminal,
360593
- version: "1.7.5",
360593
+ version: "1.7.6",
360594
360594
  transcript: normalizeMessagesForAPI(messages),
360595
360595
  errors: sanitizedErrors,
360596
360596
  lastApiRequest: getLastAPIRequest(),
@@ -360782,7 +360782,7 @@ function Feedback({
360782
360782
  ", ",
360783
360783
  env3.terminal,
360784
360784
  ", v",
360785
- "1.7.5"
360785
+ "1.7.6"
360786
360786
  ]
360787
360787
  }, undefined, true, undefined, this)
360788
360788
  ]
@@ -360888,7 +360888,7 @@ ${sanitizedDescription}
360888
360888
  ` + `**Environment Info**
360889
360889
  ` + `- Platform: ${env3.platform}
360890
360890
  ` + `- Terminal: ${env3.terminal}
360891
- ` + `- Version: ${"1.7.5"}
360891
+ ` + `- Version: ${"1.7.6"}
360892
360892
  ` + `- Feedback ID: ${feedbackId}
360893
360893
  ` + `
360894
360894
  **Errors**
@@ -363516,7 +363516,7 @@ function buildPrimarySection() {
363516
363516
  }, undefined, false, undefined, this);
363517
363517
  return [{
363518
363518
  label: "Version",
363519
- value: "1.7.5"
363519
+ value: "1.7.6"
363520
363520
  }, {
363521
363521
  label: "Session name",
363522
363522
  value: nameValue
@@ -368197,7 +368197,7 @@ function Config({
368197
368197
  }
368198
368198
  }, undefined, false, undefined, this)
368199
368199
  }, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime176.jsxDEV(ChannelDowngradeDialog, {
368200
- currentVersion: "1.7.5",
368200
+ currentVersion: "1.7.6",
368201
368201
  onChoice: (choice) => {
368202
368202
  setShowSubmenu(null);
368203
368203
  setTabsHidden(false);
@@ -368209,7 +368209,7 @@ function Config({
368209
368209
  autoUpdatesChannel: "stable"
368210
368210
  };
368211
368211
  if (choice === "stay") {
368212
- newSettings.minimumVersion = "1.7.5";
368212
+ newSettings.minimumVersion = "1.7.6";
368213
368213
  }
368214
368214
  updateSettingsForSource("userSettings", newSettings);
368215
368215
  setSettingsData((prev_27) => ({
@@ -376949,9 +376949,10 @@ var exports_keepgoing = {};
376949
376949
  __export(exports_keepgoing, {
376950
376950
  call: () => call21
376951
376951
  });
376952
- function resetSession(focus) {
376952
+ function resetSession(focus, originalMode) {
376953
376953
  sessionRound = 0;
376954
376954
  sessionFocus = focus;
376955
+ sessionOriginalMode = originalMode;
376955
376956
  }
376956
376957
  function incrementRound() {
376957
376958
  sessionRound += 1;
@@ -377005,7 +377006,7 @@ ${THINKHARDER_ROUND_PROMPT}
377005
377006
  ` : "";
377006
377007
  return `[KEEP GOING — AUTONOMOUS OPERATION — ${roundInfo}${modeTag}]
377007
377008
  ${focusLine}${telegramSection}${thinkHarderSection}
377008
- You are in full autonomous mode. Work continuously until all tasks are done.
377009
+ You are in full autonomous mode with all permissions bypassed. Work continuously until all tasks are done.
377009
377010
 
377010
377011
  ━━━ CAPABILITIES ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
377011
377012
  You have access to ALL tools:
@@ -377022,7 +377023,7 @@ SPAWN SUBAGENTS when:
377022
377023
  → You need specialized work done concurrently (e.g., research + implement)
377023
377024
 
377024
377025
  ━━━ AUTONOMOUS RULES ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
377025
- 1. DO NOT ask for confirmation between steps proceed immediately
377026
+ 1. ALL PERMISSIONS ARE BYPASSED proceed with every tool use without asking
377026
377027
  2. After completing a major milestone, state: "Completed: <what was done>"
377027
377028
  3. After significant changes, run tests/builds to verify correctness
377028
377029
  4. Use git commits after each logical unit of work
@@ -377042,6 +377043,7 @@ function KeepGoingBanner({
377042
377043
  focus,
377043
377044
  thinkHarder,
377044
377045
  telegram,
377046
+ showBypassWarning,
377045
377047
  onReady
377046
377048
  }) {
377047
377049
  React60.useEffect(() => {
@@ -377059,6 +377061,32 @@ function KeepGoingBanner({
377059
377061
  flexDirection: "column",
377060
377062
  marginTop: 1,
377061
377063
  children: [
377064
+ showBypassWarning && /* @__PURE__ */ jsx_dev_runtime198.jsxDEV(ThemedBox_default, {
377065
+ flexDirection: "column",
377066
+ marginBottom: 1,
377067
+ borderStyle: "round",
377068
+ borderColor: "yellow",
377069
+ paddingX: 1,
377070
+ children: [
377071
+ /* @__PURE__ */ jsx_dev_runtime198.jsxDEV(ThemedText, {
377072
+ bold: true,
377073
+ color: "yellow",
377074
+ children: "⚠ Keep Going — Autonomous Mode"
377075
+ }, undefined, false, undefined, this),
377076
+ /* @__PURE__ */ jsx_dev_runtime198.jsxDEV(ThemedText, {
377077
+ color: "yellow",
377078
+ children: " All tool permissions are bypassed for this session."
377079
+ }, undefined, false, undefined, this),
377080
+ /* @__PURE__ */ jsx_dev_runtime198.jsxDEV(ThemedText, {
377081
+ dimColor: true,
377082
+ children: " The agent will execute Bash, file writes, and all other tools"
377083
+ }, undefined, false, undefined, this),
377084
+ /* @__PURE__ */ jsx_dev_runtime198.jsxDEV(ThemedText, {
377085
+ dimColor: true,
377086
+ children: " without asking. Press Ctrl+C at any time to interrupt."
377087
+ }, undefined, false, undefined, this)
377088
+ ]
377089
+ }, undefined, true, undefined, this),
377062
377090
  /* @__PURE__ */ jsx_dev_runtime198.jsxDEV(ThemedText, {
377063
377091
  bold: true,
377064
377092
  color: "cyan",
@@ -377070,7 +377098,7 @@ function KeepGoingBanner({
377070
377098
  children: ` ↳ Focus: ${focus}`
377071
377099
  }, undefined, false, undefined, this) : /* @__PURE__ */ jsx_dev_runtime198.jsxDEV(ThemedText, {
377072
377100
  dimColor: true,
377073
- children: " ↳ Press Ctrl+C or type to intervene at any time"
377101
+ children: " ↳ All permissions bypassed · Ctrl+C to interrupt"
377074
377102
  }, undefined, false, undefined, this)
377075
377103
  ]
377076
377104
  }, undefined, true, undefined, this);
@@ -377096,6 +377124,10 @@ function KeepGoingDone({
377096
377124
  /* @__PURE__ */ jsx_dev_runtime198.jsxDEV(ThemedText, {
377097
377125
  dimColor: true,
377098
377126
  children: ` Reason: ${reason}`
377127
+ }, undefined, false, undefined, this),
377128
+ /* @__PURE__ */ jsx_dev_runtime198.jsxDEV(ThemedText, {
377129
+ dimColor: true,
377130
+ children: " Permissions restored to previous mode."
377099
377131
  }, undefined, false, undefined, this)
377100
377132
  ]
377101
377133
  }, undefined, true, undefined, this);
@@ -377123,14 +377155,18 @@ function KeepGoingCapReached({
377123
377155
  /* @__PURE__ */ jsx_dev_runtime198.jsxDEV(ThemedText, {
377124
377156
  dimColor: true,
377125
377157
  children: ` Type ${resumeCmd} to continue for another ${maxRounds} rounds.`
377158
+ }, undefined, false, undefined, this),
377159
+ /* @__PURE__ */ jsx_dev_runtime198.jsxDEV(ThemedText, {
377160
+ dimColor: true,
377161
+ children: " Permissions restored to previous mode."
377126
377162
  }, undefined, false, undefined, this)
377127
377163
  ]
377128
377164
  }, undefined, true, undefined, this);
377129
377165
  }
377130
- var React60, jsx_dev_runtime198, sessionRound = 0, sessionFocus = "", DEFAULT_MAX_ROUNDS = 50, STOP_PATTERNS, call21 = async (onDone, context7, args) => {
377166
+ var React60, jsx_dev_runtime198, sessionRound = 0, sessionFocus = "", sessionOriginalMode = "default", DEFAULT_MAX_ROUNDS = 50, STOP_PATTERNS, call21 = async (onDone, context7, args) => {
377131
377167
  const rawArgs = args?.trim() ?? "";
377132
- const { extractChain: extractChain2, validateCommandChain: validateCommandChain2, parseCommandChain: parseCommandChain2, chainWarning: chainWarning2 } = await Promise.resolve().then(() => (init_commandChaining(), exports_commandChaining));
377133
- const { ownArgs: chainedArgs, nextCmd: _nextCmdFromChain } = extractChain2(rawArgs);
377168
+ const { extractChain: extractChain2 } = await Promise.resolve().then(() => (init_commandChaining(), exports_commandChaining));
377169
+ const { ownArgs: chainedArgs } = extractChain2(rawArgs);
377134
377170
  const { maxRounds, focus } = parseMaxRounds(chainedArgs);
377135
377171
  if (sessionRound === 0 && !focus) {
377136
377172
  onDone("What should I keep going on?", {
@@ -377139,9 +377175,18 @@ var React60, jsx_dev_runtime198, sessionRound = 0, sessionFocus = "", DEFAULT_MA
377139
377175
  });
377140
377176
  return null;
377141
377177
  }
377142
- if (sessionRound === 0 || focus && focus !== sessionFocus) {
377143
- resetSession(focus);
377178
+ const isNewSession = sessionRound === 0 || focus && focus !== sessionFocus;
377179
+ if (isNewSession) {
377180
+ const currentMode = context7.getAppState().toolPermissionContext.mode;
377181
+ resetSession(focus, currentMode);
377144
377182
  }
377183
+ context7.setAppState((prev) => ({
377184
+ ...prev,
377185
+ toolPermissionContext: {
377186
+ ...prev.toolPermissionContext,
377187
+ mode: "bypassPermissions"
377188
+ }
377189
+ }));
377145
377190
  let stopReason = null;
377146
377191
  let lastText = "";
377147
377192
  context7.setMessages((prev) => {
@@ -377170,7 +377215,12 @@ ${preview}${suffix}`;
377170
377215
  }
377171
377216
  if (stopReason !== null) {
377172
377217
  const finalRound = sessionRound;
377173
- resetSession("");
377218
+ const savedMode = sessionOriginalMode;
377219
+ resetSession("", "default");
377220
+ context7.setAppState((prev) => ({
377221
+ ...prev,
377222
+ toolPermissionContext: { ...prev.toolPermissionContext, mode: savedMode }
377223
+ }));
377174
377224
  const stopMsg = `✅ *keepgoing stopped*
377175
377225
  Round ${finalRound} · ${stopReason}`;
377176
377226
  if (isTelegramActive())
@@ -377188,9 +377238,15 @@ Round ${finalRound} · ${stopReason}`;
377188
377238
  }, undefined, false, undefined, this);
377189
377239
  }
377190
377240
  const round = incrementRound();
377241
+ const showBypassWarning = round === 1;
377191
377242
  if (isFinite(maxRounds) && round > maxRounds) {
377192
377243
  const finalRound = sessionRound;
377193
- resetSession("");
377244
+ const savedMode = sessionOriginalMode;
377245
+ resetSession("", "default");
377246
+ context7.setAppState((prev) => ({
377247
+ ...prev,
377248
+ toolPermissionContext: { ...prev.toolPermissionContext, mode: savedMode }
377249
+ }));
377194
377250
  const pauseMsg = `⏸ *keepgoing paused*
377195
377251
  Round cap ${finalRound}/${maxRounds} reached.`;
377196
377252
  if (isTelegramActive())
@@ -377233,6 +377289,7 @@ Round cap ${finalRound}/${maxRounds} reached.`;
377233
377289
  focus,
377234
377290
  thinkHarder: isThinkHarderMode,
377235
377291
  telegram: isTelegramActive(),
377292
+ showBypassWarning,
377236
377293
  onReady: handleReady
377237
377294
  }, undefined, false, undefined, this);
377238
377295
  };
@@ -386543,7 +386600,7 @@ function Help(t0) {
386543
386600
  let t6;
386544
386601
  if ($2[31] !== tabs) {
386545
386602
  t6 = /* @__PURE__ */ jsx_dev_runtime238.jsxDEV(Tabs, {
386546
- title: `localclawd v${"1.7.5"}`,
386603
+ title: `localclawd v${"1.7.6"}`,
386547
386604
  color: "professionalBlue",
386548
386605
  defaultTab: "general",
386549
386606
  children: tabs
@@ -403805,7 +403862,7 @@ function getRecentReleaseNotes(currentVersion, previousVersion, changelogContent
403805
403862
  }
403806
403863
  return [];
403807
403864
  }
403808
- async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.7.5") {
403865
+ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.7.6") {
403809
403866
  if (process.env.USER_TYPE === "ant") {
403810
403867
  const changelog = MACRO.VERSION_CHANGELOG;
403811
403868
  if (changelog) {
@@ -403832,7 +403889,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.7.5") {
403832
403889
  releaseNotes
403833
403890
  };
403834
403891
  }
403835
- function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.7.5") {
403892
+ function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.7.6") {
403836
403893
  if (process.env.USER_TYPE === "ant") {
403837
403894
  const changelog = MACRO.VERSION_CHANGELOG;
403838
403895
  if (changelog) {
@@ -403989,7 +404046,7 @@ function getRecentActivitySync() {
403989
404046
  return cachedActivity;
403990
404047
  }
403991
404048
  function getLogoDisplayData() {
403992
- const version = process.env.DEMO_VERSION ?? "1.7.5";
404049
+ const version = process.env.DEMO_VERSION ?? "1.7.6";
403993
404050
  const serverUrl = getDirectConnectServerUrl();
403994
404051
  const displayPath = process.env.DEMO_VERSION ? "/code/claude" : getDisplayPath(getCwd());
403995
404052
  const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
@@ -405089,7 +405146,7 @@ function Logo() {
405089
405146
  if ($2[2] === Symbol.for("react.memo_cache_sentinel")) {
405090
405147
  t2 = () => {
405091
405148
  const currentConfig = getGlobalConfig();
405092
- if (currentConfig.lastReleaseNotesSeen === "1.7.5") {
405149
+ if (currentConfig.lastReleaseNotesSeen === "1.7.6") {
405093
405150
  return;
405094
405151
  }
405095
405152
  saveGlobalConfig(_temp326);
@@ -405748,12 +405805,12 @@ function Logo() {
405748
405805
  return t41;
405749
405806
  }
405750
405807
  function _temp326(current) {
405751
- if (current.lastReleaseNotesSeen === "1.7.5") {
405808
+ if (current.lastReleaseNotesSeen === "1.7.6") {
405752
405809
  return current;
405753
405810
  }
405754
405811
  return {
405755
405812
  ...current,
405756
- lastReleaseNotesSeen: "1.7.5"
405813
+ lastReleaseNotesSeen: "1.7.6"
405757
405814
  };
405758
405815
  }
405759
405816
  function _temp241(s_0) {
@@ -436232,7 +436289,7 @@ async function captureMemoryDiagnostics(trigger, dumpNumber = 0) {
436232
436289
  smapsRollup,
436233
436290
  platform: process.platform,
436234
436291
  nodeVersion: process.version,
436235
- ccVersion: "1.7.5"
436292
+ ccVersion: "1.7.6"
436236
436293
  };
436237
436294
  }
436238
436295
  async function performHeapDump(trigger = "manual", dumpNumber = 0) {
@@ -436817,7 +436874,7 @@ var init_bridge_kick = __esm(() => {
436817
436874
  var call87 = async () => {
436818
436875
  return {
436819
436876
  type: "text",
436820
- value: `${"1.7.5"} (built ${"2026-05-07T14:41:21.784Z"})`
436877
+ value: `${"1.7.6"} (built ${"2026-05-07T14:50:22.043Z"})`
436821
436878
  };
436822
436879
  }, version, version_default;
436823
436880
  var init_version = __esm(() => {
@@ -444761,7 +444818,7 @@ function generateHtmlReport(data, insights) {
444761
444818
  </html>`;
444762
444819
  }
444763
444820
  function buildExportData(data, insights, facets, remoteStats) {
444764
- const version2 = typeof MACRO !== "undefined" ? "1.7.5" : "unknown";
444821
+ const version2 = typeof MACRO !== "undefined" ? "1.7.6" : "unknown";
444765
444822
  const remote_hosts_collected = remoteStats?.hosts.filter((h) => h.sessionCount > 0).map((h) => h.name);
444766
444823
  const facets_summary = {
444767
444824
  total: facets.size,
@@ -448962,7 +449019,7 @@ var init_sessionStorage = __esm(() => {
448962
449019
  init_settings2();
448963
449020
  init_slowOperations();
448964
449021
  init_uuid();
448965
- VERSION6 = typeof MACRO !== "undefined" ? "1.7.5" : "unknown";
449022
+ VERSION6 = typeof MACRO !== "undefined" ? "1.7.6" : "unknown";
448966
449023
  MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
448967
449024
  SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
448968
449025
  EPHEMERAL_PROGRESS_TYPES = new Set([
@@ -450163,7 +450220,7 @@ var init_filesystem = __esm(() => {
450163
450220
  });
450164
450221
  getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
450165
450222
  const nonce = randomBytes20(16).toString("hex");
450166
- return join150(getClaudeTempDir(), "bundled-skills", "1.7.5", nonce);
450223
+ return join150(getClaudeTempDir(), "bundled-skills", "1.7.6", nonce);
450167
450224
  });
450168
450225
  getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
450169
450226
  });
@@ -459400,7 +459457,7 @@ function buildSystemInitMessage(inputs) {
459400
459457
  slash_commands: inputs.commands.filter((c5) => c5.userInvocable !== false).map((c5) => c5.name),
459401
459458
  apiKeySource: getAnthropicApiKeyWithSource().source,
459402
459459
  betas: getSdkBetas(),
459403
- claude_code_version: "1.7.5",
459460
+ claude_code_version: "1.7.6",
459404
459461
  output_style: outputStyle2,
459405
459462
  agents: inputs.agents.map((agent) => agent.agentType),
459406
459463
  skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill) => skill.name),
@@ -473557,7 +473614,7 @@ var init_useVoiceEnabled = __esm(() => {
473557
473614
  function getSemverPart(version2) {
473558
473615
  return `${import_semver10.major(version2, { loose: true })}.${import_semver10.minor(version2, { loose: true })}.${import_semver10.patch(version2, { loose: true })}`;
473559
473616
  }
473560
- function useUpdateNotification(updatedVersion, initialVersion = "1.7.5") {
473617
+ function useUpdateNotification(updatedVersion, initialVersion = "1.7.6") {
473561
473618
  const [lastNotifiedSemver, setLastNotifiedSemver] = import_react214.useState(() => getSemverPart(initialVersion));
473562
473619
  if (!updatedVersion) {
473563
473620
  return null;
@@ -473597,7 +473654,7 @@ function AutoUpdater({
473597
473654
  return;
473598
473655
  }
473599
473656
  if (false) {}
473600
- const currentVersion = "1.7.5";
473657
+ const currentVersion = "1.7.6";
473601
473658
  const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
473602
473659
  let latestVersion = await getLatestVersion(channel);
473603
473660
  const isDisabled = isAutoUpdaterDisabled();
@@ -473808,12 +473865,12 @@ function NativeAutoUpdater({
473808
473865
  logEvent("tengu_native_auto_updater_start", {});
473809
473866
  try {
473810
473867
  const maxVersion = await getMaxVersion();
473811
- if (maxVersion && gt("1.7.5", maxVersion)) {
473868
+ if (maxVersion && gt("1.7.6", maxVersion)) {
473812
473869
  const msg = await getMaxVersionMessage();
473813
473870
  setMaxVersionIssue(msg ?? "affects your version");
473814
473871
  }
473815
473872
  const result = await installLatest(channel);
473816
- const currentVersion = "1.7.5";
473873
+ const currentVersion = "1.7.6";
473817
473874
  const latencyMs = Date.now() - startTime;
473818
473875
  if (result.lockFailed) {
473819
473876
  logEvent("tengu_native_auto_updater_lock_contention", {
@@ -473948,17 +474005,17 @@ function PackageManagerAutoUpdater(t0) {
473948
474005
  const maxVersion = await getMaxVersion();
473949
474006
  if (maxVersion && latest && gt(latest, maxVersion)) {
473950
474007
  logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
473951
- if (gte("1.7.5", maxVersion)) {
473952
- logForDebugging(`PackageManagerAutoUpdater: current version ${"1.7.5"} is already at or above maxVersion ${maxVersion}, skipping update`);
474008
+ if (gte("1.7.6", maxVersion)) {
474009
+ logForDebugging(`PackageManagerAutoUpdater: current version ${"1.7.6"} is already at or above maxVersion ${maxVersion}, skipping update`);
473953
474010
  setUpdateAvailable(false);
473954
474011
  return;
473955
474012
  }
473956
474013
  latest = maxVersion;
473957
474014
  }
473958
- const hasUpdate = latest && !gte("1.7.5", latest) && !shouldSkipVersion(latest);
474015
+ const hasUpdate = latest && !gte("1.7.6", latest) && !shouldSkipVersion(latest);
473959
474016
  setUpdateAvailable(!!hasUpdate);
473960
474017
  if (hasUpdate) {
473961
- logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.7.5"} -> ${latest}`);
474018
+ logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.7.6"} -> ${latest}`);
473962
474019
  }
473963
474020
  };
473964
474021
  $2[0] = t1;
@@ -473992,7 +474049,7 @@ function PackageManagerAutoUpdater(t0) {
473992
474049
  wrap: "truncate",
473993
474050
  children: [
473994
474051
  "currentVersion: ",
473995
- "1.7.5"
474052
+ "1.7.6"
473996
474053
  ]
473997
474054
  }, undefined, true, undefined, this);
473998
474055
  $2[3] = verbose;
@@ -481552,7 +481609,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
481552
481609
  project_dir: getOriginalCwd(),
481553
481610
  added_dirs: addedDirs
481554
481611
  },
481555
- version: "1.7.5",
481612
+ version: "1.7.6",
481556
481613
  output_style: {
481557
481614
  name: outputStyleName
481558
481615
  },
@@ -493124,7 +493181,7 @@ async function submitTranscriptShare(messages, trigger, appearanceId) {
493124
493181
  } catch {}
493125
493182
  const data = {
493126
493183
  trigger,
493127
- version: "1.7.5",
493184
+ version: "1.7.6",
493128
493185
  platform: process.platform,
493129
493186
  transcript,
493130
493187
  subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
@@ -510033,7 +510090,7 @@ function appendToLog(path17, message) {
510033
510090
  cwd: getFsImplementation().cwd(),
510034
510091
  userType: process.env.USER_TYPE,
510035
510092
  sessionId: getSessionId(),
510036
- version: "1.7.5"
510093
+ version: "1.7.6"
510037
510094
  };
510038
510095
  getLogWriter(path17).write(messageWithTimestamp);
510039
510096
  }
@@ -514057,8 +514114,8 @@ async function getEnvLessBridgeConfig() {
514057
514114
  }
514058
514115
  async function checkEnvLessBridgeMinVersion() {
514059
514116
  const cfg = await getEnvLessBridgeConfig();
514060
- if (cfg.min_version && lt("1.7.5", cfg.min_version)) {
514061
- return `Your version of localclawd (${"1.7.5"}) is too old for Remote Control.
514117
+ if (cfg.min_version && lt("1.7.6", cfg.min_version)) {
514118
+ return `Your version of localclawd (${"1.7.6"}) is too old for Remote Control.
514062
514119
  Version ${cfg.min_version} or higher is required. Run \`localclawd update\` to update.`;
514063
514120
  }
514064
514121
  return null;
@@ -514530,7 +514587,7 @@ async function initBridgeCore(params) {
514530
514587
  const rawApi = createBridgeApiClient({
514531
514588
  baseUrl,
514532
514589
  getAccessToken,
514533
- runnerVersion: "1.7.5",
514590
+ runnerVersion: "1.7.6",
514534
514591
  onDebug: logForDebugging,
514535
514592
  onAuth401,
514536
514593
  getTrustedDeviceToken
@@ -520249,7 +520306,7 @@ async function startMCPServer(cwd3, debug4, verbose) {
520249
520306
  setCwd(cwd3);
520250
520307
  const server = new Server({
520251
520308
  name: "claude/tengu",
520252
- version: "1.7.5"
520309
+ version: "1.7.6"
520253
520310
  }, {
520254
520311
  capabilities: {
520255
520312
  tools: {}
@@ -521330,7 +521387,7 @@ function WelcomeLogo() {
521330
521387
  dimColor: true,
521331
521388
  children: [
521332
521389
  "v",
521333
- "1.7.5"
521390
+ "1.7.6"
521334
521391
  ]
521335
521392
  }, undefined, true, undefined, this)
521336
521393
  ]
@@ -521521,7 +521578,7 @@ __export(exports_update, {
521521
521578
  });
521522
521579
  async function update() {
521523
521580
  logEvent("tengu_update_check", {});
521524
- writeToStdout(`Current version: ${"1.7.5"}
521581
+ writeToStdout(`Current version: ${"1.7.6"}
521525
521582
  `);
521526
521583
  const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
521527
521584
  writeToStdout(`Checking for updates to ${channel} version...
@@ -521596,8 +521653,8 @@ async function update() {
521596
521653
  writeToStdout(`localclawd is managed by Homebrew.
521597
521654
  `);
521598
521655
  const latest = await getLatestVersion(channel);
521599
- if (latest && !gte("1.7.5", latest)) {
521600
- writeToStdout(`Update available: ${"1.7.5"} → ${latest}
521656
+ if (latest && !gte("1.7.6", latest)) {
521657
+ writeToStdout(`Update available: ${"1.7.6"} → ${latest}
521601
521658
  `);
521602
521659
  writeToStdout(`
521603
521660
  `);
@@ -521613,8 +521670,8 @@ async function update() {
521613
521670
  writeToStdout(`localclawd is managed by winget.
521614
521671
  `);
521615
521672
  const latest = await getLatestVersion(channel);
521616
- if (latest && !gte("1.7.5", latest)) {
521617
- writeToStdout(`Update available: ${"1.7.5"} → ${latest}
521673
+ if (latest && !gte("1.7.6", latest)) {
521674
+ writeToStdout(`Update available: ${"1.7.6"} → ${latest}
521618
521675
  `);
521619
521676
  writeToStdout(`
521620
521677
  `);
@@ -521628,8 +521685,8 @@ async function update() {
521628
521685
  writeToStdout(`localclawd is managed by apk.
521629
521686
  `);
521630
521687
  const latest = await getLatestVersion(channel);
521631
- if (latest && !gte("1.7.5", latest)) {
521632
- writeToStdout(`Update available: ${"1.7.5"} → ${latest}
521688
+ if (latest && !gte("1.7.6", latest)) {
521689
+ writeToStdout(`Update available: ${"1.7.6"} → ${latest}
521633
521690
  `);
521634
521691
  writeToStdout(`
521635
521692
  `);
@@ -521694,11 +521751,11 @@ async function update() {
521694
521751
  `);
521695
521752
  await gracefulShutdown(1);
521696
521753
  }
521697
- if (result.latestVersion === "1.7.5") {
521698
- writeToStdout(source_default.green(`localclawd is up to date (${"1.7.5"})`) + `
521754
+ if (result.latestVersion === "1.7.6") {
521755
+ writeToStdout(source_default.green(`localclawd is up to date (${"1.7.6"})`) + `
521699
521756
  `);
521700
521757
  } else {
521701
- writeToStdout(source_default.green(`Successfully updated from ${"1.7.5"} to version ${result.latestVersion}`) + `
521758
+ writeToStdout(source_default.green(`Successfully updated from ${"1.7.6"} to version ${result.latestVersion}`) + `
521702
521759
  `);
521703
521760
  await regenerateCompletionCache();
521704
521761
  }
@@ -521758,12 +521815,12 @@ async function update() {
521758
521815
  `);
521759
521816
  await gracefulShutdown(1);
521760
521817
  }
521761
- if (latestVersion === "1.7.5") {
521762
- writeToStdout(source_default.green(`localclawd is up to date (${"1.7.5"})`) + `
521818
+ if (latestVersion === "1.7.6") {
521819
+ writeToStdout(source_default.green(`localclawd is up to date (${"1.7.6"})`) + `
521763
521820
  `);
521764
521821
  await gracefulShutdown(0);
521765
521822
  }
521766
- writeToStdout(`New version available: ${latestVersion} (current: ${"1.7.5"})
521823
+ writeToStdout(`New version available: ${latestVersion} (current: ${"1.7.6"})
521767
521824
  `);
521768
521825
  writeToStdout(`Installing update...
521769
521826
  `);
@@ -521808,7 +521865,7 @@ async function update() {
521808
521865
  logForDebugging(`update: Installation status: ${status2}`);
521809
521866
  switch (status2) {
521810
521867
  case "success":
521811
- writeToStdout(source_default.green(`Successfully updated from ${"1.7.5"} to version ${latestVersion}`) + `
521868
+ writeToStdout(source_default.green(`Successfully updated from ${"1.7.6"} to version ${latestVersion}`) + `
521812
521869
  `);
521813
521870
  await regenerateCompletionCache();
521814
521871
  break;
@@ -523050,7 +523107,7 @@ Run with --debug for more details.
523050
523107
  }
523051
523108
  }
523052
523109
  logForDiagnosticsNoPII("info", "started", {
523053
- version: "1.7.5",
523110
+ version: "1.7.6",
523054
523111
  is_native_binary: isInBundledMode()
523055
523112
  });
523056
523113
  registerCleanup(async () => {
@@ -523834,7 +523891,7 @@ Usage: localclawd --remote "your task description"`, () => gracefulShutdown(1));
523834
523891
  pendingHookMessages
523835
523892
  }, renderAndRun);
523836
523893
  }
523837
- }).version("1.7.5 (localclawd)", "-v, --version", "Output the version number");
523894
+ }).version("1.7.6 (localclawd)", "-v, --version", "Output the version number");
523838
523895
  program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
523839
523896
  program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
523840
523897
  if (canUserConfigureAdvisor()) {
@@ -524348,7 +524405,7 @@ if (false) {}
524348
524405
  async function main2() {
524349
524406
  const args = process.argv.slice(2);
524350
524407
  if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
524351
- console.log(`${"1.7.5"} (localclawd)`);
524408
+ console.log(`${"1.7.6"} (localclawd)`);
524352
524409
  return;
524353
524410
  }
524354
524411
  const {
@@ -524431,4 +524488,4 @@ localclawd crashed: ${msg}
524431
524488
  process.exit(1);
524432
524489
  });
524433
524490
 
524434
- //# debugId=721C36FBC52E5DC964756E2164756E21
524491
+ //# debugId=A85085BBE751C07F64756E2164756E21
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "localclawd",
3
- "version": "1.7.5",
3
+ "version": "1.7.6",
4
4
  "description": "Local-first coding CLI for vLLM, Ollama, and OpenAI-compatible backends.",
5
5
  "private": false,
6
6
  "type": "module",