localclawd 1.1.29 → 1.1.31

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 +131 -131
  2. package/package.json +1 -1
package/dist/cli.mjs CHANGED
@@ -34495,7 +34495,7 @@ var init_types3 = __esm(() => {
34495
34495
  })).optional().describe("Teams/Enterprise allowlist of channel plugins. When set, " + "replaces the default Anthropic allowlist — admins decide which " + "plugins may push inbound messages. Undefined falls back to the default. " + "Requires channelsEnabled: true."),
34496
34496
  ...{},
34497
34497
  prefersReducedMotion: z9.boolean().optional().describe("Reduce or disable animations for accessibility (spinner shimmer, flash effects, etc.)"),
34498
- autoMemoryEnabled: z9.boolean().optional().describe("Enable auto-memory for this project. When false, Claude will not read from or write to the auto-memory directory."),
34498
+ autoMemoryEnabled: z9.boolean().optional().describe("Enable auto-memory for this project. When false, openclawd will not read from or write to the auto-memory directory."),
34499
34499
  autoMemoryDirectory: z9.string().optional().describe("Custom directory path for auto-memory storage. Supports ~/ prefix for home directory expansion. Ignored if set in projectSettings (checked-in .claude/settings.json) for security. When unset, defaults to ~/.claude/projects/<sanitized-cwd>/memory/."),
34500
34500
  autoDreamEnabled: z9.boolean().optional().describe("Enable background memory consolidation (auto-dream). When set, overrides the server-side default."),
34501
34501
  showThinkingSummaries: z9.boolean().optional().describe("Show thinking summaries in the transcript view (ctrl+o). Default: false."),
@@ -89232,7 +89232,7 @@ var init_isEqual = __esm(() => {
89232
89232
 
89233
89233
  // src/utils/userAgent.ts
89234
89234
  function getClaudeCodeUserAgent() {
89235
- return `claude-code/${"1.1.29"}`;
89235
+ return `claude-code/${"1.1.31"}`;
89236
89236
  }
89237
89237
 
89238
89238
  // src/utils/workloadContext.ts
@@ -89254,7 +89254,7 @@ function getUserAgent() {
89254
89254
  const clientApp = process.env.CLAUDE_AGENT_SDK_CLIENT_APP ? `, client-app/${process.env.CLAUDE_AGENT_SDK_CLIENT_APP}` : "";
89255
89255
  const workload = getWorkload();
89256
89256
  const workloadSuffix = workload ? `, workload/${workload}` : "";
89257
- return `claude-cli/${"1.1.29"} (${process.env.USER_TYPE}, ${process.env.CLAUDE_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
89257
+ return `claude-cli/${"1.1.31"} (${process.env.USER_TYPE}, ${process.env.CLAUDE_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
89258
89258
  }
89259
89259
  function getMCPUserAgent() {
89260
89260
  const parts = [];
@@ -89268,7 +89268,7 @@ function getMCPUserAgent() {
89268
89268
  parts.push(`client-app/${process.env.CLAUDE_AGENT_SDK_CLIENT_APP}`);
89269
89269
  }
89270
89270
  const suffix = parts.length > 0 ? ` (${parts.join(", ")})` : "";
89271
- return `claude-code/${"1.1.29"}${suffix}`;
89271
+ return `claude-code/${"1.1.31"}${suffix}`;
89272
89272
  }
89273
89273
  function getWebFetchUserAgent() {
89274
89274
  return `Claude-User (${getClaudeCodeUserAgent()}; +https://support.anthropic.com/)`;
@@ -99177,7 +99177,7 @@ function getAttributionHeader(fingerprint) {
99177
99177
  if (!isAttributionHeaderEnabled()) {
99178
99178
  return "";
99179
99179
  }
99180
- const version = `${"1.1.29"}.${fingerprint}`;
99180
+ const version = `${"1.1.31"}.${fingerprint}`;
99181
99181
  const entrypoint = process.env.CLAUDE_CODE_ENTRYPOINT ?? "unknown";
99182
99182
  const cch = "";
99183
99183
  const workload = getWorkload();
@@ -132724,7 +132724,7 @@ var init_metadata = __esm(() => {
132724
132724
  COMPOUND_OPERATOR_REGEX = /\s*(?:&&|\|\||[;|])\s*/;
132725
132725
  WHITESPACE_REGEX = /\s+/;
132726
132726
  getVersionBase = memoize_default(() => {
132727
- const match = "1.1.29".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
132727
+ const match = "1.1.31".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
132728
132728
  return match ? match[0] : undefined;
132729
132729
  });
132730
132730
  buildEnvContext = memoize_default(async () => {
@@ -132764,9 +132764,9 @@ var init_metadata = __esm(() => {
132764
132764
  isGithubAction: isEnvTruthy(process.env.GITHUB_ACTIONS),
132765
132765
  isClaudeCodeAction: isEnvTruthy(process.env.CLAUDE_CODE_ACTION),
132766
132766
  isClaudeAiAuth: isClaudeAISubscriber(),
132767
- version: "1.1.29",
132767
+ version: "1.1.31",
132768
132768
  versionBase: getVersionBase(),
132769
- buildTime: "2026-04-13T03:37:48.750Z",
132769
+ buildTime: "2026-04-13T03:52:01.395Z",
132770
132770
  deploymentEnvironment: env4.detectDeploymentEnvironment(),
132771
132771
  ...isEnvTruthy(process.env.GITHUB_ACTIONS) && {
132772
132772
  githubEventName: process.env.GITHUB_EVENT_NAME,
@@ -197386,7 +197386,7 @@ function getTelemetryAttributes() {
197386
197386
  attributes["session.id"] = sessionId;
197387
197387
  }
197388
197388
  if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
197389
- attributes["app.version"] = "1.1.29";
197389
+ attributes["app.version"] = "1.1.31";
197390
197390
  }
197391
197391
  const oauthAccount = getOauthAccountInfo();
197392
197392
  if (oauthAccount) {
@@ -223119,7 +223119,7 @@ async function detectAvailableBrowser() {
223119
223119
  try {
223120
223120
  const stats = await stat17(appPath);
223121
223121
  if (stats.isDirectory()) {
223122
- logForDebugging(`[Claude in Chrome] Detected browser: ${config.name}`);
223122
+ logForDebugging(`[openclawd in Chrome] Detected browser: ${config.name}`);
223123
223123
  return browserId;
223124
223124
  }
223125
223125
  } catch (e) {
@@ -223132,7 +223132,7 @@ async function detectAvailableBrowser() {
223132
223132
  case "linux": {
223133
223133
  for (const binary of config.linux.binaries) {
223134
223134
  if (await which(binary).catch(() => null)) {
223135
- logForDebugging(`[Claude in Chrome] Detected browser: ${config.name}`);
223135
+ logForDebugging(`[openclawd in Chrome] Detected browser: ${config.name}`);
223136
223136
  return browserId;
223137
223137
  }
223138
223138
  }
@@ -223146,7 +223146,7 @@ async function detectAvailableBrowser() {
223146
223146
  try {
223147
223147
  const stats = await stat17(dataPath);
223148
223148
  if (stats.isDirectory()) {
223149
- logForDebugging(`[Claude in Chrome] Detected browser: ${config.name}`);
223149
+ logForDebugging(`[openclawd in Chrome] Detected browser: ${config.name}`);
223150
223150
  return browserId;
223151
223151
  }
223152
223152
  } catch (e) {
@@ -223173,7 +223173,7 @@ async function openInChrome(url3) {
223173
223173
  const currentPlatform = getPlatform();
223174
223174
  const browser = await detectAvailableBrowser();
223175
223175
  if (!browser) {
223176
- logForDebugging("[Claude in Chrome] No compatible browser found");
223176
+ logForDebugging("[openclawd in Chrome] No compatible browser found");
223177
223177
  return false;
223178
223178
  }
223179
223179
  const config = CHROMIUM_BROWSERS[browser];
@@ -229454,7 +229454,7 @@ function getInstallationEnv() {
229454
229454
  return;
229455
229455
  }
229456
229456
  function getClaudeCodeVersion() {
229457
- return "1.1.29";
229457
+ return "1.1.31";
229458
229458
  }
229459
229459
  async function getInstalledVSCodeExtensionVersion(command) {
229460
229460
  const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
@@ -235056,7 +235056,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
235056
235056
  const client4 = new Client({
235057
235057
  name: "localclawd",
235058
235058
  title: "localclawd",
235059
- version: "1.1.29",
235059
+ version: "1.1.31",
235060
235060
  description: "local-first AI coding tool",
235061
235061
  websiteUrl: PRODUCT_URL
235062
235062
  }, {
@@ -235409,7 +235409,7 @@ var init_client9 = __esm(() => {
235409
235409
  const client4 = new Client({
235410
235410
  name: "localclawd",
235411
235411
  title: "localclawd",
235412
- version: "1.1.29",
235412
+ version: "1.1.31",
235413
235413
  description: "local-first AI coding tool",
235414
235414
  websiteUrl: PRODUCT_URL
235415
235415
  }, {
@@ -258464,7 +258464,7 @@ var init_user = __esm(() => {
258464
258464
  deviceId,
258465
258465
  sessionId: getSessionId(),
258466
258466
  email: getEmail(),
258467
- appVersion: "1.1.29",
258467
+ appVersion: "1.1.31",
258468
258468
  platform: getHostPlatformForAnalytics(),
258469
258469
  organizationUuid,
258470
258470
  accountUuid,
@@ -259788,7 +259788,7 @@ async function initializeBetaTracing(resource) {
259788
259788
  });
259789
259789
  logs.setGlobalLoggerProvider(loggerProvider);
259790
259790
  setLoggerProvider(loggerProvider);
259791
- const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "1.1.29");
259791
+ const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "1.1.31");
259792
259792
  setEventLogger(eventLogger);
259793
259793
  process.on("beforeExit", async () => {
259794
259794
  await loggerProvider?.forceFlush();
@@ -259828,7 +259828,7 @@ async function initializeTelemetry() {
259828
259828
  const platform3 = getPlatform();
259829
259829
  const baseAttributes = {
259830
259830
  [ATTR_SERVICE_NAME5]: "claude-code",
259831
- [ATTR_SERVICE_VERSION5]: "1.1.29"
259831
+ [ATTR_SERVICE_VERSION5]: "1.1.31"
259832
259832
  };
259833
259833
  if (platform3 === "wsl") {
259834
259834
  const wslVersion = getWslVersion();
@@ -259873,7 +259873,7 @@ async function initializeTelemetry() {
259873
259873
  } catch {}
259874
259874
  };
259875
259875
  registerCleanup(shutdownTelemetry2);
259876
- return meterProvider2.getMeter("com.anthropic.claude_code", "1.1.29");
259876
+ return meterProvider2.getMeter("com.anthropic.claude_code", "1.1.31");
259877
259877
  }
259878
259878
  const meterProvider = new MeterProvider5({
259879
259879
  resource,
@@ -259893,7 +259893,7 @@ async function initializeTelemetry() {
259893
259893
  });
259894
259894
  logs.setGlobalLoggerProvider(loggerProvider);
259895
259895
  setLoggerProvider(loggerProvider);
259896
- const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "1.1.29");
259896
+ const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "1.1.31");
259897
259897
  setEventLogger(eventLogger);
259898
259898
  logForDebugging("[3P telemetry] Event logger set successfully");
259899
259899
  process.on("beforeExit", async () => {
@@ -259955,7 +259955,7 @@ Current timeout: ${timeoutMs}ms
259955
259955
  }
259956
259956
  };
259957
259957
  registerCleanup(shutdownTelemetry);
259958
- return meterProvider.getMeter("com.anthropic.claude_code", "1.1.29");
259958
+ return meterProvider.getMeter("com.anthropic.claude_code", "1.1.31");
259959
259959
  }
259960
259960
  async function flushTelemetry() {
259961
259961
  const meterProvider = getMeterProvider();
@@ -261178,7 +261178,7 @@ function detectLinuxGlobPatternWarnings() {
261178
261178
  }
261179
261179
  async function getDoctorDiagnostic() {
261180
261180
  const installationType = await getCurrentInstallationType();
261181
- const version = typeof MACRO !== "undefined" ? "1.1.29" : "unknown";
261181
+ const version = typeof MACRO !== "undefined" ? "1.1.31" : "unknown";
261182
261182
  const installationPath = await getInstallationPath();
261183
261183
  const invokedBinary = getInvokedBinary();
261184
261184
  const multipleInstallations = await detectMultipleInstallations();
@@ -262119,8 +262119,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
262119
262119
  const maxVersion = await getMaxVersion();
262120
262120
  if (maxVersion && gt(version, maxVersion)) {
262121
262121
  logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version} to ${maxVersion}`);
262122
- if (gte("1.1.29", maxVersion)) {
262123
- logForDebugging(`Native installer: current version ${"1.1.29"} is already at or above maxVersion ${maxVersion}, skipping update`);
262122
+ if (gte("1.1.31", maxVersion)) {
262123
+ logForDebugging(`Native installer: current version ${"1.1.31"} is already at or above maxVersion ${maxVersion}, skipping update`);
262124
262124
  logEvent("tengu_native_update_skipped_max_version", {
262125
262125
  latency_ms: Date.now() - startTime,
262126
262126
  max_version: maxVersion,
@@ -262131,7 +262131,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
262131
262131
  version = maxVersion;
262132
262132
  }
262133
262133
  }
262134
- if (!forceReinstall && version === "1.1.29" && await versionIsAvailable(version) && await isPossibleLocalClawdBinary(executablePath)) {
262134
+ if (!forceReinstall && version === "1.1.31" && await versionIsAvailable(version) && await isPossibleLocalClawdBinary(executablePath)) {
262135
262135
  logForDebugging(`Found ${version} at ${executablePath}, skipping install`);
262136
262136
  logEvent("tengu_native_update_complete", {
262137
262137
  latency_ms: Date.now() - startTime,
@@ -313628,9 +313628,9 @@ var init_WebFetchTool = __esm(() => {
313628
313628
  const { url: url3 } = input;
313629
313629
  try {
313630
313630
  const hostname2 = new URL(url3).hostname;
313631
- return `Claude wants to fetch content from ${hostname2}`;
313631
+ return `openclawd wants to fetch content from ${hostname2}`;
313632
313632
  } catch {
313633
- return `Claude wants to fetch content from this URL`;
313633
+ return `openclawd wants to fetch content from this URL`;
313634
313634
  }
313635
313635
  },
313636
313636
  userFacingName() {
@@ -315480,7 +315480,7 @@ var init_WebSearchTool = __esm(() => {
315480
315480
  maxResultSizeChars: 1e5,
315481
315481
  shouldDefer: true,
315482
315482
  async description(input) {
315483
- return `Claude wants to search the web for: ${input.query}`;
315483
+ return `openclawd wants to search the web for: ${input.query}`;
315484
315484
  },
315485
315485
  userFacingName() {
315486
315486
  return "Web Search";
@@ -318029,7 +318029,7 @@ function renderToolResultMessage19(_output, _progressMessagesForMessage, _option
318029
318029
  paddingLeft: 2,
318030
318030
  children: /* @__PURE__ */ jsx_dev_runtime143.jsxDEV(ThemedText, {
318031
318031
  dimColor: true,
318032
- children: "Claude is now exploring and designing an implementation approach."
318032
+ children: "openclawd is now exploring and designing an implementation approach."
318033
318033
  }, undefined, false, undefined, this)
318034
318034
  }, undefined, false, undefined, this)
318035
318035
  ]
@@ -333549,7 +333549,7 @@ function getAnthropicEnvMetadata() {
333549
333549
  function getBuildAgeMinutes() {
333550
333550
  if (false)
333551
333551
  ;
333552
- const buildTime = new Date("2026-04-13T03:37:48.750Z").getTime();
333552
+ const buildTime = new Date("2026-04-13T03:52:01.395Z").getTime();
333553
333553
  if (isNaN(buildTime))
333554
333554
  return;
333555
333555
  return Math.floor((Date.now() - buildTime) / 60000);
@@ -338969,7 +338969,7 @@ var init_mcpInstructionsDelta = __esm(() => {
338969
338969
  function getChromeSystemPrompt() {
338970
338970
  return BASE_CHROME_PROMPT;
338971
338971
  }
338972
- var BASE_CHROME_PROMPT = `# Claude in Chrome browser automation
338972
+ var BASE_CHROME_PROMPT = `# openclawd in Chrome browser automation
338973
338973
 
338974
338974
  You have access to browser automation tools (mcp__claude-in-chrome__*) for interacting with web pages in Chrome. Follow these guidelines for effective browser automation.
338975
338975
 
@@ -346284,7 +346284,7 @@ These insights should be included in the conversation, not in the codebase. You
346284
346284
  Explanatory: {
346285
346285
  name: "Explanatory",
346286
346286
  source: "built-in",
346287
- description: "Claude explains its implementation choices and codebase patterns",
346287
+ description: "openclawd explains its implementation choices and codebase patterns",
346288
346288
  keepCodingInstructions: true,
346289
346289
  prompt: `You are an interactive CLI tool that helps users with software engineering tasks. In addition to software engineering tasks, you should provide educational insights about the codebase along the way.
346290
346290
 
@@ -346296,7 +346296,7 @@ ${EXPLANATORY_FEATURE_PROMPT}`
346296
346296
  Learning: {
346297
346297
  name: "Learning",
346298
346298
  source: "built-in",
346299
- description: "Claude pauses and asks you to write small pieces of code for hands-on practice",
346299
+ description: "openclawd pauses and asks you to write small pieces of code for hands-on practice",
346300
346300
  keepCodingInstructions: true,
346301
346301
  prompt: `You are an interactive CLI tool that helps users with software engineering tasks. In addition to software engineering tasks, you should help users learn more about the codebase through hands-on practice and educational insights.
346302
346302
 
@@ -357536,7 +357536,7 @@ function Feedback({
357536
357536
  platform: env4.platform,
357537
357537
  gitRepo: envInfo.isGit,
357538
357538
  terminal: env4.terminal,
357539
- version: "1.1.29",
357539
+ version: "1.1.31",
357540
357540
  transcript: normalizeMessagesForAPI(messages),
357541
357541
  errors: sanitizedErrors,
357542
357542
  lastApiRequest: getLastAPIRequest(),
@@ -357728,7 +357728,7 @@ function Feedback({
357728
357728
  ", ",
357729
357729
  env4.terminal,
357730
357730
  ", v",
357731
- "1.1.29"
357731
+ "1.1.31"
357732
357732
  ]
357733
357733
  }, undefined, true, undefined, this)
357734
357734
  ]
@@ -357834,7 +357834,7 @@ ${sanitizedDescription}
357834
357834
  ` + `**Environment Info**
357835
357835
  ` + `- Platform: ${env4.platform}
357836
357836
  ` + `- Terminal: ${env4.terminal}
357837
- ` + `- Version: ${"1.1.29"}
357837
+ ` + `- Version: ${"1.1.31"}
357838
357838
  ` + `- Feedback ID: ${feedbackId}
357839
357839
  ` + `
357840
357840
  **Errors**
@@ -359786,7 +359786,7 @@ var init_copy2 = __esm(() => {
359786
359786
  copy = {
359787
359787
  type: "local-jsx",
359788
359788
  name: "copy",
359789
- description: "Copy Claude's last response to clipboard (or /copy N for the Nth-latest)",
359789
+ description: "Copy openclawd's last response to clipboard (or /copy N for the Nth-latest)",
359790
359790
  load: () => Promise.resolve().then(() => (init_copy(), exports_copy))
359791
359791
  };
359792
359792
  copy_default = copy;
@@ -360947,7 +360947,7 @@ function buildPrimarySection() {
360947
360947
  }, undefined, false, undefined, this);
360948
360948
  return [{
360949
360949
  label: "Version",
360950
- value: "1.1.29"
360950
+ value: "1.1.31"
360951
360951
  }, {
360952
360952
  label: "Session name",
360953
360953
  value: nameValue
@@ -363544,7 +363544,7 @@ function OutputStylePicker(t0) {
363544
363544
  }
363545
363545
  return t9;
363546
363546
  }
363547
- var import_react102, jsx_dev_runtime176, DEFAULT_OUTPUT_STYLE_LABEL = "Default", DEFAULT_OUTPUT_STYLE_DESCRIPTION = "Claude completes coding tasks efficiently and provides concise responses";
363547
+ var import_react102, jsx_dev_runtime176, DEFAULT_OUTPUT_STYLE_LABEL = "Default", DEFAULT_OUTPUT_STYLE_DESCRIPTION = "openclawd completes coding tasks efficiently and provides concise responses";
363548
363548
  var init_OutputStylePicker = __esm(() => {
363549
363549
  init_outputStyles();
363550
363550
  init_ink2();
@@ -365565,7 +365565,7 @@ function Config({
365565
365565
  }
365566
365566
  }, undefined, false, undefined, this)
365567
365567
  }, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime179.jsxDEV(ChannelDowngradeDialog, {
365568
- currentVersion: "1.1.29",
365568
+ currentVersion: "1.1.31",
365569
365569
  onChoice: (choice) => {
365570
365570
  setShowSubmenu(null);
365571
365571
  setTabsHidden(false);
@@ -365577,7 +365577,7 @@ function Config({
365577
365577
  autoUpdatesChannel: "stable"
365578
365578
  };
365579
365579
  if (choice === "stay") {
365580
- newSettings.minimumVersion = "1.1.29";
365580
+ newSettings.minimumVersion = "1.1.31";
365581
365581
  }
365582
365582
  updateSettingsForSource("userSettings", newSettings);
365583
365583
  setSettingsData((prev_27) => ({
@@ -374458,7 +374458,7 @@ function Help(t0) {
374458
374458
  let t6;
374459
374459
  if ($2[31] !== tabs) {
374460
374460
  t6 = /* @__PURE__ */ jsx_dev_runtime211.jsxDEV(Tabs, {
374461
- title: `localclawd v${"1.1.29"}`,
374461
+ title: `localclawd v${"1.1.31"}`,
374462
374462
  color: "professionalBlue",
374463
374463
  defaultTab: "general",
374464
374464
  children: tabs
@@ -378114,7 +378114,7 @@ function SuccessStep(t0) {
378114
378114
  t7 = skipWorkflow ? /* @__PURE__ */ jsx_dev_runtime225.jsxDEV(jsx_dev_runtime225.Fragment, {
378115
378115
  children: [
378116
378116
  /* @__PURE__ */ jsx_dev_runtime225.jsxDEV(ThemedText, {
378117
- children: "1. Install the Claude GitHub App if you haven't already"
378117
+ children: "1. Install the openclawd GitHub App if you haven't already"
378118
378118
  }, undefined, false, undefined, this),
378119
378119
  /* @__PURE__ */ jsx_dev_runtime225.jsxDEV(ThemedText, {
378120
378120
  children: "2. Your workflow file was kept unchanged"
@@ -378129,10 +378129,10 @@ function SuccessStep(t0) {
378129
378129
  children: "1. A pre-filled PR page has been created"
378130
378130
  }, undefined, false, undefined, this),
378131
378131
  /* @__PURE__ */ jsx_dev_runtime225.jsxDEV(ThemedText, {
378132
- children: "2. Install the Claude GitHub App if you haven't already"
378132
+ children: "2. Install the openclawd GitHub App if you haven't already"
378133
378133
  }, undefined, false, undefined, this),
378134
378134
  /* @__PURE__ */ jsx_dev_runtime225.jsxDEV(ThemedText, {
378135
- children: "3. Merge the PR to enable Claude PR assistance"
378135
+ children: "3. Merge the PR to enable openclawd PR assistance"
378136
378136
  }, undefined, false, undefined, this)
378137
378137
  ]
378138
378138
  }, undefined, true, undefined, this);
@@ -378338,7 +378338,7 @@ async function setupGitHubActions(repoName, apiKeyOrOAuthToken, secretName, upda
378338
378338
  workflows.push({
378339
378339
  path: ".github/workflows/claude.yml",
378340
378340
  content: WORKFLOW_CONTENT,
378341
- message: "Claude PR Assistant workflow"
378341
+ message: "openclawd PR Assistant workflow"
378342
378342
  });
378343
378343
  }
378344
378344
  if (selectedWorkflows.includes("claude-review")) {
@@ -398616,7 +398616,7 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
398616
398616
  return [];
398617
398617
  }
398618
398618
  }
398619
- async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.1.29") {
398619
+ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.1.31") {
398620
398620
  if (process.env.USER_TYPE === "ant") {
398621
398621
  const changelog = MACRO.VERSION_CHANGELOG;
398622
398622
  if (changelog) {
@@ -398643,7 +398643,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.1.29")
398643
398643
  releaseNotes
398644
398644
  };
398645
398645
  }
398646
- function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.1.29") {
398646
+ function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.1.31") {
398647
398647
  if (process.env.USER_TYPE === "ant") {
398648
398648
  const changelog = MACRO.VERSION_CHANGELOG;
398649
398649
  if (changelog) {
@@ -399825,7 +399825,7 @@ function getRecentActivitySync() {
399825
399825
  return cachedActivity;
399826
399826
  }
399827
399827
  function getLogoDisplayData() {
399828
- const version = process.env.DEMO_VERSION ?? "1.1.29";
399828
+ const version = process.env.DEMO_VERSION ?? "1.1.31";
399829
399829
  const serverUrl = getDirectConnectServerUrl();
399830
399830
  const displayPath = process.env.DEMO_VERSION ? "/code/claude" : getDisplayPath(getCwd());
399831
399831
  const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
@@ -399915,15 +399915,15 @@ var init_Clawd = __esm(() => {
399915
399915
  jsx_dev_runtime252 = __toESM(require_jsx_dev_runtime(), 1);
399916
399916
  ROWS = [
399917
399917
  " ▄████▄ ",
399918
- " ▗██████▖ ",
399919
- " ▐ ▄ ▄ ▌ ",
399920
- " ▐ ▄▄ ▌ ",
399918
+ " ████████ ",
399919
+ "█▛▜████▛▜█",
399920
+ " ████████ ",
399921
399921
  " ▐▌ ▐▌ "
399922
399922
  ];
399923
399923
  ROW_COLORS = [
399924
399924
  "#6366f1",
399925
399925
  "#6366f1",
399926
- "#818cf8",
399926
+ "#6366f1",
399927
399927
  "#6366f1",
399928
399928
  "#818cf8"
399929
399929
  ];
@@ -400932,7 +400932,7 @@ function Logo() {
400932
400932
  if ($2[2] === Symbol.for("react.memo_cache_sentinel")) {
400933
400933
  t2 = () => {
400934
400934
  const currentConfig = getGlobalConfig();
400935
- if (currentConfig.lastReleaseNotesSeen === "1.1.29") {
400935
+ if (currentConfig.lastReleaseNotesSeen === "1.1.31") {
400936
400936
  return;
400937
400937
  }
400938
400938
  saveGlobalConfig(_temp327);
@@ -401591,12 +401591,12 @@ function Logo() {
401591
401591
  return t41;
401592
401592
  }
401593
401593
  function _temp327(current) {
401594
- if (current.lastReleaseNotesSeen === "1.1.29") {
401594
+ if (current.lastReleaseNotesSeen === "1.1.31") {
401595
401595
  return current;
401596
401596
  }
401597
401597
  return {
401598
401598
  ...current,
401599
- lastReleaseNotesSeen: "1.1.29"
401599
+ lastReleaseNotesSeen: "1.1.31"
401600
401600
  };
401601
401601
  }
401602
401602
  function _temp243(s_0) {
@@ -425858,7 +425858,7 @@ function MethodStep() {
425858
425858
  let t0;
425859
425859
  if ($2[0] === Symbol.for("react.memo_cache_sentinel")) {
425860
425860
  t0 = [{
425861
- label: "Generate with Claude (recommended)",
425861
+ label: "Generate with openclawd (recommended)",
425862
425862
  value: "generate"
425863
425863
  }, {
425864
425864
  label: "Manual configuration",
@@ -427834,7 +427834,7 @@ async function captureMemoryDiagnostics(trigger, dumpNumber = 0) {
427834
427834
  smapsRollup,
427835
427835
  platform: process.platform,
427836
427836
  nodeVersion: process.version,
427837
- ccVersion: "1.1.29"
427837
+ ccVersion: "1.1.31"
427838
427838
  };
427839
427839
  }
427840
427840
  async function performHeapDump(trigger = "manual", dumpNumber = 0) {
@@ -428419,7 +428419,7 @@ var init_bridge_kick = __esm(() => {
428419
428419
  var call63 = async () => {
428420
428420
  return {
428421
428421
  type: "text",
428422
- value: `${"1.1.29"} (built ${"2026-04-13T03:37:48.750Z"})`
428422
+ value: `${"1.1.31"} (built ${"2026-04-13T03:52:01.395Z"})`
428423
428423
  };
428424
428424
  }, version, version_default;
428425
428425
  var init_version = __esm(() => {
@@ -429700,7 +429700,7 @@ function getExtensionIds() {
429700
429700
  }
429701
429701
  async function detectExtensionInstallationPortable(browserPaths, log2) {
429702
429702
  if (browserPaths.length === 0) {
429703
- log2?.(`[Claude in Chrome] No browser paths to check`);
429703
+ log2?.(`[openclawd in Chrome] No browser paths to check`);
429704
429704
  return { isInstalled: false, browser: null };
429705
429705
  }
429706
429706
  const extensionIds = getExtensionIds();
@@ -429717,20 +429717,20 @@ async function detectExtensionInstallationPortable(browserPaths, log2) {
429717
429717
  }
429718
429718
  const profileDirs = browserProfileEntries.filter((entry) => entry.isDirectory()).filter((entry) => entry.name === "Default" || entry.name.startsWith("Profile ")).map((entry) => entry.name);
429719
429719
  if (profileDirs.length > 0) {
429720
- log2?.(`[Claude in Chrome] Found ${browser} profiles: ${profileDirs.join(", ")}`);
429720
+ log2?.(`[openclawd in Chrome] Found ${browser} profiles: ${profileDirs.join(", ")}`);
429721
429721
  }
429722
429722
  for (const profile of profileDirs) {
429723
429723
  for (const extensionId of extensionIds) {
429724
429724
  const extensionPath = join119(browserBasePath, profile, "Extensions", extensionId);
429725
429725
  try {
429726
429726
  await readdir25(extensionPath);
429727
- log2?.(`[Claude in Chrome] Extension ${extensionId} found in ${browser} ${profile}`);
429727
+ log2?.(`[openclawd in Chrome] Extension ${extensionId} found in ${browser} ${profile}`);
429728
429728
  return { isInstalled: true, browser };
429729
429729
  } catch {}
429730
429730
  }
429731
429731
  }
429732
429732
  }
429733
- log2?.(`[Claude in Chrome] Extension not found in any browser`);
429733
+ log2?.(`[openclawd in Chrome] Extension not found in any browser`);
429734
429734
  return { isInstalled: false, browser: null };
429735
429735
  }
429736
429736
  async function isChromeExtensionInstalledPortable(browserPaths, log2) {
@@ -429794,7 +429794,7 @@ function setupClaudeInChrome() {
429794
429794
  const isNativeBuild = isInBundledMode();
429795
429795
  const allowedTools = getClaudeInChromeAllowedTools();
429796
429796
  if (allowedTools.length === 0) {
429797
- throw new Error("Claude in Chrome is unavailable in this build because browser automation support is not installed.");
429797
+ throw new Error("openclawd in Chrome is unavailable in this build because browser automation support is not installed.");
429798
429798
  }
429799
429799
  const env6 = {};
429800
429800
  if (getSessionBypassPermissionsMode()) {
@@ -429803,7 +429803,7 @@ function setupClaudeInChrome() {
429803
429803
  const hasEnv = Object.keys(env6).length > 0;
429804
429804
  if (isNativeBuild) {
429805
429805
  const execCommand = `"${process.execPath}" --chrome-native-host`;
429806
- createWrapperScript(execCommand).then((manifestBinaryPath) => installChromeNativeHostManifest(manifestBinaryPath)).catch((e) => logForDebugging(`[Claude in Chrome] Failed to install native host: ${e}`, { level: "error" }));
429806
+ createWrapperScript(execCommand).then((manifestBinaryPath) => installChromeNativeHostManifest(manifestBinaryPath)).catch((e) => logForDebugging(`[openclawd in Chrome] Failed to install native host: ${e}`, { level: "error" }));
429807
429807
  return {
429808
429808
  mcpConfig: {
429809
429809
  [CLAUDE_IN_CHROME_MCP_SERVER_NAME]: {
@@ -429821,7 +429821,7 @@ function setupClaudeInChrome() {
429821
429821
  const __filename3 = fileURLToPath4(import.meta.url);
429822
429822
  const __dirname3 = join120(__filename3, "..");
429823
429823
  const cliPath = join120(__dirname3, "cli.js");
429824
- createWrapperScript(`"${process.execPath}" "${cliPath}" --chrome-native-host`).then((manifestBinaryPath) => installChromeNativeHostManifest(manifestBinaryPath)).catch((e) => logForDebugging(`[Claude in Chrome] Failed to install native host: ${e}`, { level: "error" }));
429824
+ createWrapperScript(`"${process.execPath}" "${cliPath}" --chrome-native-host`).then((manifestBinaryPath) => installChromeNativeHostManifest(manifestBinaryPath)).catch((e) => logForDebugging(`[openclawd in Chrome] Failed to install native host: ${e}`, { level: "error" }));
429825
429825
  const mcpConfig = {
429826
429826
  [CLAUDE_IN_CHROME_MCP_SERVER_NAME]: {
429827
429827
  type: "stdio",
@@ -429850,7 +429850,7 @@ function getNativeMessagingHostsDirs() {
429850
429850
  async function installChromeNativeHostManifest(manifestBinaryPath) {
429851
429851
  const manifestDirs = getNativeMessagingHostsDirs();
429852
429852
  if (manifestDirs.length === 0) {
429853
- throw Error("Claude in Chrome Native Host not supported on this platform");
429853
+ throw Error("openclawd in Chrome Native Host not supported on this platform");
429854
429854
  }
429855
429855
  const manifest = {
429856
429856
  name: NATIVE_HOST_IDENTIFIER,
@@ -429876,10 +429876,10 @@ async function installChromeNativeHostManifest(manifestBinaryPath) {
429876
429876
  try {
429877
429877
  await mkdir33(manifestDir, { recursive: true });
429878
429878
  await writeFile36(manifestPath, manifestContent);
429879
- logForDebugging(`[Claude in Chrome] Installed native host manifest at: ${manifestPath}`);
429879
+ logForDebugging(`[openclawd in Chrome] Installed native host manifest at: ${manifestPath}`);
429880
429880
  anyManifestUpdated = true;
429881
429881
  } catch (error5) {
429882
- logForDebugging(`[Claude in Chrome] Failed to install manifest at ${manifestPath}: ${error5}`);
429882
+ logForDebugging(`[openclawd in Chrome] Failed to install manifest at ${manifestPath}: ${error5}`);
429883
429883
  }
429884
429884
  }
429885
429885
  if (getPlatform() === "windows") {
@@ -429889,10 +429889,10 @@ async function installChromeNativeHostManifest(manifestBinaryPath) {
429889
429889
  if (anyManifestUpdated) {
429890
429890
  isChromeExtensionInstalled().then((isInstalled) => {
429891
429891
  if (isInstalled) {
429892
- logForDebugging(`[Claude in Chrome] First-time install detected, opening reconnect page in browser`);
429892
+ logForDebugging(`[openclawd in Chrome] First-time install detected, opening reconnect page in browser`);
429893
429893
  openInChrome(CHROME_EXTENSION_RECONNECT_URL);
429894
429894
  } else {
429895
- logForDebugging(`[Claude in Chrome] First-time install detected, but extension not installed, skipping reconnect`);
429895
+ logForDebugging(`[openclawd in Chrome] First-time install detected, but extension not installed, skipping reconnect`);
429896
429896
  }
429897
429897
  });
429898
429898
  }
@@ -429912,9 +429912,9 @@ function registerWindowsNativeHosts(manifestPath) {
429912
429912
  "/f"
429913
429913
  ]).then((result) => {
429914
429914
  if (result.code === 0) {
429915
- logForDebugging(`[Claude in Chrome] Registered native host for ${browser} in Windows registry: ${fullKey}`);
429915
+ logForDebugging(`[openclawd in Chrome] Registered native host for ${browser} in Windows registry: ${fullKey}`);
429916
429916
  } else {
429917
- logForDebugging(`[Claude in Chrome] Failed to register native host for ${browser} in Windows registry: ${result.stderr}`);
429917
+ logForDebugging(`[openclawd in Chrome] Failed to register native host for ${browser} in Windows registry: ${result.stderr}`);
429918
429918
  }
429919
429919
  });
429920
429920
  }
@@ -429941,7 +429941,7 @@ exec ${command7}
429941
429941
  if (platform4 !== "windows") {
429942
429942
  await chmod10(wrapperPath, 493);
429943
429943
  }
429944
- logForDebugging(`[Claude in Chrome] Created Chrome native host wrapper script: ${wrapperPath}`);
429944
+ logForDebugging(`[openclawd in Chrome] Created Chrome native host wrapper script: ${wrapperPath}`);
429945
429945
  return wrapperPath;
429946
429946
  }
429947
429947
  function isChromeExtensionInstalled_CACHED_MAY_BE_STALE() {
@@ -429963,7 +429963,7 @@ function isChromeExtensionInstalled_CACHED_MAY_BE_STALE() {
429963
429963
  async function isChromeExtensionInstalled() {
429964
429964
  const browserPaths = getAllBrowserDataPaths();
429965
429965
  if (browserPaths.length === 0) {
429966
- logForDebugging(`[Claude in Chrome] Unsupported platform for extension detection: ${getPlatform()}`);
429966
+ logForDebugging(`[openclawd in Chrome] Unsupported platform for extension detection: ${getPlatform()}`);
429967
429967
  return false;
429968
429968
  }
429969
429969
  return isChromeExtensionInstalledPortable(browserPaths, logForDebugging);
@@ -437373,7 +437373,7 @@ function generateHtmlReport(data, insights) {
437373
437373
  </html>`;
437374
437374
  }
437375
437375
  function buildExportData(data, insights, facets, remoteStats) {
437376
- const version2 = typeof MACRO !== "undefined" ? "1.1.29" : "unknown";
437376
+ const version2 = typeof MACRO !== "undefined" ? "1.1.31" : "unknown";
437377
437377
  const remote_hosts_collected = remoteStats?.hosts.filter((h) => h.sessionCount > 0).map((h) => h.name);
437378
437378
  const facets_summary = {
437379
437379
  total: facets.size,
@@ -441538,7 +441538,7 @@ var init_sessionStorage = __esm(() => {
441538
441538
  init_settings2();
441539
441539
  init_slowOperations();
441540
441540
  init_uuid();
441541
- VERSION6 = typeof MACRO !== "undefined" ? "1.1.29" : "unknown";
441541
+ VERSION6 = typeof MACRO !== "undefined" ? "1.1.31" : "unknown";
441542
441542
  MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
441543
441543
  SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
441544
441544
  EPHEMERAL_PROGRESS_TYPES = new Set([
@@ -442740,7 +442740,7 @@ var init_filesystem = __esm(() => {
442740
442740
  });
442741
442741
  getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
442742
442742
  const nonce = randomBytes19(16).toString("hex");
442743
- return join130(getClaudeTempDir(), "bundled-skills", "1.1.29", nonce);
442743
+ return join130(getClaudeTempDir(), "bundled-skills", "1.1.31", nonce);
442744
442744
  });
442745
442745
  getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
442746
442746
  });
@@ -448750,7 +448750,7 @@ function computeFingerprint(messageText, version2) {
448750
448750
  }
448751
448751
  function computeFingerprintFromMessages(messages) {
448752
448752
  const firstMessageText = extractFirstMessageText(messages);
448753
- return computeFingerprint(firstMessageText, "1.1.29");
448753
+ return computeFingerprint(firstMessageText, "1.1.31");
448754
448754
  }
448755
448755
  var FINGERPRINT_SALT = "59cf53e54c78";
448756
448756
  var init_fingerprint = () => {};
@@ -450605,7 +450605,7 @@ async function sideQuery(opts) {
450605
450605
  betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
450606
450606
  }
450607
450607
  const messageText = extractFirstUserMessageText(messages);
450608
- const fingerprint = computeFingerprint(messageText, "1.1.29");
450608
+ const fingerprint = computeFingerprint(messageText, "1.1.31");
450609
450609
  const attributionHeader = getAttributionHeader(fingerprint);
450610
450610
  const systemBlocks = [
450611
450611
  attributionHeader ? { type: "text", text: attributionHeader } : null,
@@ -450713,7 +450713,7 @@ function createChromeContext(env6) {
450713
450713
  }
450714
450714
  }
450715
450715
  return {
450716
- serverName: "Claude in Chrome",
450716
+ serverName: "openclawd in Chrome",
450717
450717
  logger,
450718
450718
  socketPath: getSecureSocketPath(),
450719
450719
  getSocketPaths: getAllSocketPaths,
@@ -450818,9 +450818,9 @@ async function runClaudeInChromeMcpServer() {
450818
450818
  };
450819
450819
  process.stdin.on("end", () => void shutdownAndExit());
450820
450820
  process.stdin.on("error", () => void shutdownAndExit());
450821
- logForDebugging("[Claude in Chrome] Starting MCP server");
450821
+ logForDebugging("[openclawd in Chrome] Starting MCP server");
450822
450822
  await server.connect(transport);
450823
- logForDebugging("[Claude in Chrome] MCP server started");
450823
+ logForDebugging("[openclawd in Chrome] MCP server started");
450824
450824
  }
450825
450825
 
450826
450826
  class DebugLogger {
@@ -455403,7 +455403,7 @@ function buildSystemInitMessage(inputs) {
455403
455403
  slash_commands: inputs.commands.filter((c5) => c5.userInvocable !== false).map((c5) => c5.name),
455404
455404
  apiKeySource: getAnthropicApiKeyWithSource().source,
455405
455405
  betas: getSdkBetas(),
455406
- claude_code_version: "1.1.29",
455406
+ claude_code_version: "1.1.31",
455407
455407
  output_style: outputStyle2,
455408
455408
  agents: inputs.agents.map((agent) => agent.agentType),
455409
455409
  skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill) => skill.name),
@@ -463499,7 +463499,7 @@ function EnterPlanModePermissionRequest(t0) {
463499
463499
  let t2;
463500
463500
  if ($2[5] === Symbol.for("react.memo_cache_sentinel")) {
463501
463501
  t2 = /* @__PURE__ */ jsx_dev_runtime391.jsxDEV(ThemedText, {
463502
- children: "Claude wants to enter plan mode to explore and design an implementation approach."
463502
+ children: "openclawd wants to enter plan mode to explore and design an implementation approach."
463503
463503
  }, undefined, false, undefined, this);
463504
463504
  $2[5] = t2;
463505
463505
  } else {
@@ -463513,7 +463513,7 @@ function EnterPlanModePermissionRequest(t0) {
463513
463513
  children: [
463514
463514
  /* @__PURE__ */ jsx_dev_runtime391.jsxDEV(ThemedText, {
463515
463515
  dimColor: true,
463516
- children: "In plan mode, Claude will:"
463516
+ children: "In plan mode, openclawd will:"
463517
463517
  }, undefined, false, undefined, this),
463518
463518
  /* @__PURE__ */ jsx_dev_runtime391.jsxDEV(ThemedText, {
463519
463519
  dimColor: true,
@@ -464089,7 +464089,7 @@ ${currentPlan}${verificationInstruction}${transcriptHint}${teamHint}${feedbackSu
464089
464089
  marginTop: 1,
464090
464090
  children: [
464091
464091
  /* @__PURE__ */ jsx_dev_runtime392.jsxDEV(ThemedText, {
464092
- children: "Claude wants to exit plan mode"
464092
+ children: "openclawd wants to exit plan mode"
464093
464093
  }, undefined, false, undefined, this),
464094
464094
  /* @__PURE__ */ jsx_dev_runtime392.jsxDEV(ThemedBox_default, {
464095
464095
  marginTop: 1,
@@ -467559,7 +467559,7 @@ function getNotificationMessage(toolUseConfirm) {
467559
467559
  if (!toolName || toolName.trim() === "") {
467560
467560
  return "localclawd needs your attention";
467561
467561
  }
467562
- return `Claude needs your permission to use ${toolName}`;
467562
+ return `openclawd needs your permission to use ${toolName}`;
467563
467563
  }
467564
467564
  function PermissionRequest(t0) {
467565
467565
  const $2 = c3(18);
@@ -469982,7 +469982,7 @@ var init_useVoiceEnabled = __esm(() => {
469982
469982
  function getSemverPart(version2) {
469983
469983
  return `${import_semver12.major(version2, { loose: true })}.${import_semver12.minor(version2, { loose: true })}.${import_semver12.patch(version2, { loose: true })}`;
469984
469984
  }
469985
- function useUpdateNotification(updatedVersion, initialVersion = "1.1.29") {
469985
+ function useUpdateNotification(updatedVersion, initialVersion = "1.1.31") {
469986
469986
  const [lastNotifiedSemver, setLastNotifiedSemver] = import_react224.useState(() => getSemverPart(initialVersion));
469987
469987
  if (!updatedVersion) {
469988
469988
  return null;
@@ -470022,7 +470022,7 @@ function AutoUpdater({
470022
470022
  return;
470023
470023
  }
470024
470024
  if (false) {}
470025
- const currentVersion = "1.1.29";
470025
+ const currentVersion = "1.1.31";
470026
470026
  const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
470027
470027
  let latestVersion = await getLatestVersion(channel);
470028
470028
  const isDisabled = isAutoUpdaterDisabled();
@@ -470233,12 +470233,12 @@ function NativeAutoUpdater({
470233
470233
  logEvent("tengu_native_auto_updater_start", {});
470234
470234
  try {
470235
470235
  const maxVersion = await getMaxVersion();
470236
- if (maxVersion && gt("1.1.29", maxVersion)) {
470236
+ if (maxVersion && gt("1.1.31", maxVersion)) {
470237
470237
  const msg = await getMaxVersionMessage();
470238
470238
  setMaxVersionIssue(msg ?? "affects your version");
470239
470239
  }
470240
470240
  const result = await installLatest(channel);
470241
- const currentVersion = "1.1.29";
470241
+ const currentVersion = "1.1.31";
470242
470242
  const latencyMs = Date.now() - startTime;
470243
470243
  if (result.lockFailed) {
470244
470244
  logEvent("tengu_native_auto_updater_lock_contention", {
@@ -470373,17 +470373,17 @@ function PackageManagerAutoUpdater(t0) {
470373
470373
  const maxVersion = await getMaxVersion();
470374
470374
  if (maxVersion && latest && gt(latest, maxVersion)) {
470375
470375
  logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
470376
- if (gte("1.1.29", maxVersion)) {
470377
- logForDebugging(`PackageManagerAutoUpdater: current version ${"1.1.29"} is already at or above maxVersion ${maxVersion}, skipping update`);
470376
+ if (gte("1.1.31", maxVersion)) {
470377
+ logForDebugging(`PackageManagerAutoUpdater: current version ${"1.1.31"} is already at or above maxVersion ${maxVersion}, skipping update`);
470378
470378
  setUpdateAvailable(false);
470379
470379
  return;
470380
470380
  }
470381
470381
  latest = maxVersion;
470382
470382
  }
470383
- const hasUpdate = latest && !gte("1.1.29", latest) && !shouldSkipVersion(latest);
470383
+ const hasUpdate = latest && !gte("1.1.31", latest) && !shouldSkipVersion(latest);
470384
470384
  setUpdateAvailable(!!hasUpdate);
470385
470385
  if (hasUpdate) {
470386
- logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.1.29"} -> ${latest}`);
470386
+ logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.1.31"} -> ${latest}`);
470387
470387
  }
470388
470388
  };
470389
470389
  $2[0] = t1;
@@ -470417,7 +470417,7 @@ function PackageManagerAutoUpdater(t0) {
470417
470417
  wrap: "truncate",
470418
470418
  children: [
470419
470419
  "currentVersion: ",
470420
- "1.1.29"
470420
+ "1.1.31"
470421
470421
  ]
470422
470422
  }, undefined, true, undefined, this);
470423
470423
  $2[3] = verbose;
@@ -475693,11 +475693,11 @@ function ThinkingToggle(t0) {
475693
475693
  t1 = [{
475694
475694
  value: "true",
475695
475695
  label: "Enabled",
475696
- description: "Claude will think before responding"
475696
+ description: "openclawd will think before responding"
475697
475697
  }, {
475698
475698
  value: "false",
475699
475699
  label: "Disabled",
475700
- description: "Claude will respond without extended thinking"
475700
+ description: "openclawd will respond without extended thinking"
475701
475701
  }];
475702
475702
  $2[0] = t1;
475703
475703
  } else {
@@ -477975,7 +477975,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
477975
477975
  project_dir: getOriginalCwd(),
477976
477976
  added_dirs: addedDirs
477977
477977
  },
477978
- version: "1.1.29",
477978
+ version: "1.1.31",
477979
477979
  output_style: {
477980
477980
  name: outputStyleName
477981
477981
  },
@@ -489543,7 +489543,7 @@ async function submitTranscriptShare(messages, trigger, appearanceId) {
489543
489543
  } catch {}
489544
489544
  const data = {
489545
489545
  trigger,
489546
- version: "1.1.29",
489546
+ version: "1.1.31",
489547
489547
  platform: process.platform,
489548
489548
  transcript,
489549
489549
  subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
@@ -491645,7 +491645,7 @@ var init_tipRegistry = __esm(() => {
491645
491645
  },
491646
491646
  {
491647
491647
  id: "prompt-queue",
491648
- content: async () => "Hit Enter to queue up additional messages while Claude is working.",
491648
+ content: async () => "Hit Enter to queue up additional messages while openclawd is working.",
491649
491649
  cooldownSessions: 5,
491650
491650
  async isRelevant() {
491651
491651
  const config2 = getGlobalConfig();
@@ -499173,7 +499173,7 @@ ${fileList}`);
499173
499173
  const idleTimeSinceResponse = Date.now() - lastQueryCompletionTime2;
499174
499174
  if (!isLoading2 && !toolJSX2 && focusedInputDialogRef2.current === undefined && idleTimeSinceResponse >= getGlobalConfig().messageIdleNotifThresholdMs) {
499175
499175
  sendNotification({
499176
- message: "Claude is waiting for your input",
499176
+ message: "openclawd is waiting for your input",
499177
499177
  notificationType: "idle_prompt"
499178
499178
  }, terminal2);
499179
499179
  }
@@ -505988,7 +505988,7 @@ function appendToLog(path17, message) {
505988
505988
  cwd: getFsImplementation().cwd(),
505989
505989
  userType: process.env.USER_TYPE,
505990
505990
  sessionId: getSessionId(),
505991
- version: "1.1.29"
505991
+ version: "1.1.31"
505992
505992
  };
505993
505993
  getLogWriter(path17).write(messageWithTimestamp);
505994
505994
  }
@@ -509987,8 +509987,8 @@ async function getEnvLessBridgeConfig() {
509987
509987
  }
509988
509988
  async function checkEnvLessBridgeMinVersion() {
509989
509989
  const cfg = await getEnvLessBridgeConfig();
509990
- if (cfg.min_version && lt("1.1.29", cfg.min_version)) {
509991
- return `Your version of localclawd (${"1.1.29"}) is too old for Remote Control.
509990
+ if (cfg.min_version && lt("1.1.31", cfg.min_version)) {
509991
+ return `Your version of localclawd (${"1.1.31"}) is too old for Remote Control.
509992
509992
  Version ${cfg.min_version} or higher is required. Run \`localclawd update\` to update.`;
509993
509993
  }
509994
509994
  return null;
@@ -510460,7 +510460,7 @@ async function initBridgeCore(params) {
510460
510460
  const rawApi = createBridgeApiClient({
510461
510461
  baseUrl,
510462
510462
  getAccessToken,
510463
- runnerVersion: "1.1.29",
510463
+ runnerVersion: "1.1.31",
510464
510464
  onDebug: logForDebugging,
510465
510465
  onAuth401,
510466
510466
  getTrustedDeviceToken
@@ -516116,7 +516116,7 @@ async function startMCPServer(cwd3, debug4, verbose) {
516116
516116
  setCwd(cwd3);
516117
516117
  const server = new Server({
516118
516118
  name: "claude/tengu",
516119
- version: "1.1.29"
516119
+ version: "1.1.31"
516120
516120
  }, {
516121
516121
  capabilities: {
516122
516122
  tools: {}
@@ -517197,7 +517197,7 @@ function WelcomeLogo() {
517197
517197
  dimColor: true,
517198
517198
  children: [
517199
517199
  "v",
517200
- "1.1.29"
517200
+ "1.1.31"
517201
517201
  ]
517202
517202
  }, undefined, true, undefined, this)
517203
517203
  ]
@@ -517766,7 +517766,7 @@ __export(exports_update, {
517766
517766
  });
517767
517767
  async function update() {
517768
517768
  logEvent("tengu_update_check", {});
517769
- writeToStdout(`Current version: ${"1.1.29"}
517769
+ writeToStdout(`Current version: ${"1.1.31"}
517770
517770
  `);
517771
517771
  const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
517772
517772
  writeToStdout(`Checking for updates to ${channel} version...
@@ -517841,8 +517841,8 @@ async function update() {
517841
517841
  writeToStdout(`localclawd is managed by Homebrew.
517842
517842
  `);
517843
517843
  const latest = await getLatestVersion(channel);
517844
- if (latest && !gte("1.1.29", latest)) {
517845
- writeToStdout(`Update available: ${"1.1.29"} → ${latest}
517844
+ if (latest && !gte("1.1.31", latest)) {
517845
+ writeToStdout(`Update available: ${"1.1.31"} → ${latest}
517846
517846
  `);
517847
517847
  writeToStdout(`
517848
517848
  `);
@@ -517858,8 +517858,8 @@ async function update() {
517858
517858
  writeToStdout(`localclawd is managed by winget.
517859
517859
  `);
517860
517860
  const latest = await getLatestVersion(channel);
517861
- if (latest && !gte("1.1.29", latest)) {
517862
- writeToStdout(`Update available: ${"1.1.29"} → ${latest}
517861
+ if (latest && !gte("1.1.31", latest)) {
517862
+ writeToStdout(`Update available: ${"1.1.31"} → ${latest}
517863
517863
  `);
517864
517864
  writeToStdout(`
517865
517865
  `);
@@ -517873,8 +517873,8 @@ async function update() {
517873
517873
  writeToStdout(`localclawd is managed by apk.
517874
517874
  `);
517875
517875
  const latest = await getLatestVersion(channel);
517876
- if (latest && !gte("1.1.29", latest)) {
517877
- writeToStdout(`Update available: ${"1.1.29"} → ${latest}
517876
+ if (latest && !gte("1.1.31", latest)) {
517877
+ writeToStdout(`Update available: ${"1.1.31"} → ${latest}
517878
517878
  `);
517879
517879
  writeToStdout(`
517880
517880
  `);
@@ -517939,11 +517939,11 @@ async function update() {
517939
517939
  `);
517940
517940
  await gracefulShutdown(1);
517941
517941
  }
517942
- if (result.latestVersion === "1.1.29") {
517943
- writeToStdout(source_default.green(`localclawd is up to date (${"1.1.29"})`) + `
517942
+ if (result.latestVersion === "1.1.31") {
517943
+ writeToStdout(source_default.green(`localclawd is up to date (${"1.1.31"})`) + `
517944
517944
  `);
517945
517945
  } else {
517946
- writeToStdout(source_default.green(`Successfully updated from ${"1.1.29"} to version ${result.latestVersion}`) + `
517946
+ writeToStdout(source_default.green(`Successfully updated from ${"1.1.31"} to version ${result.latestVersion}`) + `
517947
517947
  `);
517948
517948
  await regenerateCompletionCache();
517949
517949
  }
@@ -518003,12 +518003,12 @@ async function update() {
518003
518003
  `);
518004
518004
  await gracefulShutdown(1);
518005
518005
  }
518006
- if (latestVersion === "1.1.29") {
518007
- writeToStdout(source_default.green(`localclawd is up to date (${"1.1.29"})`) + `
518006
+ if (latestVersion === "1.1.31") {
518007
+ writeToStdout(source_default.green(`localclawd is up to date (${"1.1.31"})`) + `
518008
518008
  `);
518009
518009
  await gracefulShutdown(0);
518010
518010
  }
518011
- writeToStdout(`New version available: ${latestVersion} (current: ${"1.1.29"})
518011
+ writeToStdout(`New version available: ${latestVersion} (current: ${"1.1.31"})
518012
518012
  `);
518013
518013
  writeToStdout(`Installing update...
518014
518014
  `);
@@ -518053,7 +518053,7 @@ async function update() {
518053
518053
  logForDebugging(`update: Installation status: ${status2}`);
518054
518054
  switch (status2) {
518055
518055
  case "success":
518056
- writeToStdout(source_default.green(`Successfully updated from ${"1.1.29"} to version ${latestVersion}`) + `
518056
+ writeToStdout(source_default.green(`Successfully updated from ${"1.1.31"} to version ${latestVersion}`) + `
518057
518057
  `);
518058
518058
  await regenerateCompletionCache();
518059
518059
  break;
@@ -518840,9 +518840,9 @@ ${appendSystemPrompt}` : chromeSystemPrompt;
518840
518840
  logEvent("tengu_claude_in_chrome_setup_failed", {
518841
518841
  platform: platform5
518842
518842
  });
518843
- logForDebugging(`[Claude in Chrome] Error: ${error5}`);
518843
+ logForDebugging(`[openclawd in Chrome] Error: ${error5}`);
518844
518844
  logError(error5);
518845
- console.error(`Error: Failed to run with Claude in Chrome.`);
518845
+ console.error(`Error: Failed to run with openclawd in Chrome.`);
518846
518846
  process.exit(1);
518847
518847
  }
518848
518848
  } else if (autoEnableClaudeInChrome) {
@@ -518859,7 +518859,7 @@ ${appendSystemPrompt}` : chromeSystemPrompt;
518859
518859
 
518860
518860
  ${hint}` : hint;
518861
518861
  } catch (error5) {
518862
- logForDebugging(`[Claude in Chrome] Error (auto-enable): ${error5}`);
518862
+ logForDebugging(`[openclawd in Chrome] Error (auto-enable): ${error5}`);
518863
518863
  }
518864
518864
  }
518865
518865
  const strictMcpConfig = options.strictMcpConfig || false;
@@ -519348,7 +519348,7 @@ Run with --debug for more details.
519348
519348
  }
519349
519349
  }
519350
519350
  logForDiagnosticsNoPII("info", "started", {
519351
- version: "1.1.29",
519351
+ version: "1.1.31",
519352
519352
  is_native_binary: isInBundledMode()
519353
519353
  });
519354
519354
  registerCleanup(async () => {
@@ -520132,7 +520132,7 @@ Usage: localclawd --remote "your task description"`, () => gracefulShutdown(1));
520132
520132
  pendingHookMessages
520133
520133
  }, renderAndRun);
520134
520134
  }
520135
- }).version("1.1.29 (localclawd)", "-v, --version", "Output the version number");
520135
+ }).version("1.1.31 (localclawd)", "-v, --version", "Output the version number");
520136
520136
  program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
520137
520137
  program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
520138
520138
  if (canUserConfigureAdvisor()) {
@@ -520640,7 +520640,7 @@ if (false) {}
520640
520640
  async function main2() {
520641
520641
  const args = process.argv.slice(2);
520642
520642
  if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
520643
- console.log(`${"1.1.29"} (localclawd)`);
520643
+ console.log(`${"1.1.31"} (localclawd)`);
520644
520644
  return;
520645
520645
  }
520646
520646
  const {
@@ -520737,4 +520737,4 @@ localclawd crashed: ${msg}
520737
520737
  process.exit(1);
520738
520738
  });
520739
520739
 
520740
- //# debugId=64A65F356790539664756E2164756E21
520740
+ //# debugId=D8758D2B2B8AE91D64756E2164756E21
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "localclawd",
3
- "version": "1.1.29",
3
+ "version": "1.1.31",
4
4
  "description": "Local-first coding CLI for vLLM, Ollama, and OpenAI-compatible backends.",
5
5
  "private": false,
6
6
  "type": "module",