@askexenow/exe-os 0.9.49 → 0.9.52

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.
package/dist/bin/cli.js CHANGED
@@ -16607,7 +16607,20 @@ async function runUpdate(cliArgs) {
16607
16607
  } catch {
16608
16608
  }
16609
16609
  }
16610
- console.log(" Hooks re-wired, daemon restarted automatically.");
16610
+ console.log("\u{1F527} Re-registering MCP, hooks, wrappers, and daemon...");
16611
+ try {
16612
+ execSync13("exe-os-install --global", {
16613
+ stdio: ["pipe", "inherit", "inherit"],
16614
+ timeout: 3e5
16615
+ });
16616
+ } catch (err) {
16617
+ console.error("\n\u26A0\uFE0F Package updated, but post-update install failed.");
16618
+ console.error(" Run manually: exe-os-install --global");
16619
+ if (err instanceof Error && err.message) {
16620
+ console.error(` Error: ${err.message.split("\n")[0]}`);
16621
+ }
16622
+ }
16623
+ console.log(" MCP, hooks, and daemon refreshed.");
16611
16624
  console.log("");
16612
16625
  console.log(" \x1B[33m\u26A1 Run /mcp in each active Claude Code session to pick up new tools.\x1B[0m");
16613
16626
  console.log(" \x1B[2m(MCP servers can't hot-reload \u2014 Claude Code needs to reconnect them.)\x1B[0m");
@@ -31741,6 +31754,27 @@ function diagnoseClaudeMcpConfig(homeDir = os21.homedir(), cwd2 = process.cwd(),
31741
31754
  fix: "Use one source of truth per MCP server name; remove or rename duplicates."
31742
31755
  });
31743
31756
  }
31757
+ const alwaysLoadServers = [];
31758
+ for (const [name, config] of Object.entries(claudeJson?.mcpServers ?? {})) {
31759
+ if (config && typeof config === "object" && config.alwaysLoad === true) {
31760
+ alwaysLoadServers.push(`${name} (global)`);
31761
+ }
31762
+ }
31763
+ for (const [projectPath, projectConfig] of applicableProjects) {
31764
+ for (const [name, config] of Object.entries(projectConfig.mcpServers ?? {})) {
31765
+ if (config && typeof config === "object" && config.alwaysLoad === true) {
31766
+ alwaysLoadServers.push(`${name} (${projectPath})`);
31767
+ }
31768
+ }
31769
+ }
31770
+ if (alwaysLoadServers.length > 0) {
31771
+ issues.push({
31772
+ severity: "warn",
31773
+ code: "always-load-mcp-present",
31774
+ message: `alwaysLoad:true is set on MCP server(s): ${alwaysLoadServers.join(", ")}. Field reports from Claude Code 2.1.x show this can make servers appear Connected while tools do not inject in interactive sessions.`,
31775
+ fix: "Back up ~/.claude.json, remove alwaysLoad:true from affected MCP entries, restart Claude Code, and compare ToolSearch + /mcp. exe-os will not remove this automatically because it is customer-owned config."
31776
+ });
31777
+ }
31744
31778
  for (const server of mcpJsonServers) {
31745
31779
  for (const [projectPath, projectConfig] of applicableProjects) {
31746
31780
  if (!projectConfig.mcpServers?.[server.name]) continue;
@@ -32413,7 +32447,7 @@ async function checkForUpdateOnBoot() {
32413
32447
  const result = checkForUpdate2(packageRoot);
32414
32448
  if (result.updateAvailable) {
32415
32449
  process.stderr.write(
32416
- `\x1B[33m[update]\x1B[0m exe-os v${result.remoteVersion} available (current: v${result.localVersion}). Run \x1B[36mnpm update -g @askexenow/exe-os\x1B[0m to upgrade.
32450
+ `\x1B[33m[update]\x1B[0m exe-os v${result.remoteVersion} available (current: v${result.localVersion}). Run \x1B[36mexe-os update\x1B[0m to upgrade.
32417
32451
  `
32418
32452
  );
32419
32453
  }
@@ -901,7 +901,20 @@ async function runUpdate(cliArgs) {
901
901
  } catch {
902
902
  }
903
903
  }
904
- console.log(" Hooks re-wired, daemon restarted automatically.");
904
+ console.log("\u{1F527} Re-registering MCP, hooks, wrappers, and daemon...");
905
+ try {
906
+ execSync2("exe-os-install --global", {
907
+ stdio: ["pipe", "inherit", "inherit"],
908
+ timeout: 3e5
909
+ });
910
+ } catch (err) {
911
+ console.error("\n\u26A0\uFE0F Package updated, but post-update install failed.");
912
+ console.error(" Run manually: exe-os-install --global");
913
+ if (err instanceof Error && err.message) {
914
+ console.error(` Error: ${err.message.split("\n")[0]}`);
915
+ }
916
+ }
917
+ console.log(" MCP, hooks, and daemon refreshed.");
905
918
  console.log("");
906
919
  console.log(" \x1B[33m\u26A1 Run /mcp in each active Claude Code session to pick up new tools.\x1B[0m");
907
920
  console.log(" \x1B[2m(MCP servers can't hot-reload \u2014 Claude Code needs to reconnect them.)\x1B[0m");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@askexenow/exe-os",
3
- "version": "0.9.49",
3
+ "version": "0.9.52",
4
4
  "description": "AI employee operating system — persistent memory, task management, and multi-agent coordination for Claude Code.",
5
5
  "license": "SEE LICENSE IN LICENSE",
6
6
  "type": "module",