codez-cli 0.1.14 → 0.1.15

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.js +244 -244
  2. package/package.json +1 -1
package/dist/cli.js CHANGED
@@ -3466,7 +3466,7 @@ var getClaudeConfigHomeDir, VERTEX_REGION_OVERRIDES;
3466
3466
  var init_envUtils = __esm(() => {
3467
3467
  init_memoize();
3468
3468
  getClaudeConfigHomeDir = memoize_default(() => {
3469
- return (process.env.CLAUDE_CONFIG_DIR ?? join(homedir(), ".claude")).normalize("NFC");
3469
+ return (process.env.CLAUDE_CONFIG_DIR ?? join(homedir(), ".codez")).normalize("NFC");
3470
3470
  }, () => process.env.CLAUDE_CONFIG_DIR);
3471
3471
  VERTEX_REGION_OVERRIDES = [];
3472
3472
  });
@@ -67964,7 +67964,7 @@ var init_env = __esm(() => {
67964
67964
  if (getFsImplementation().existsSync(join16(getClaudeConfigHomeDir(), ".config.json"))) {
67965
67965
  return join16(getClaudeConfigHomeDir(), ".config.json");
67966
67966
  }
67967
- const filename = `.claude${fileSuffixForOauthConfig()}.json`;
67967
+ const filename = `.codez${fileSuffixForOauthConfig()}.json`;
67968
67968
  return join16(process.env.CLAUDE_CONFIG_DIR || homedir7(), filename);
67969
67969
  });
67970
67970
  hasInternetAccess = memoize_default(async () => {
@@ -69486,7 +69486,7 @@ var init_types4 = __esm(() => {
69486
69486
  httpHookAllowedEnvVars: exports_external2.array(exports_external2.string()).optional().describe("Allowlist of environment variable names HTTP hooks may interpolate into headers. " + "When set, each hook's effective allowedEnvVars is the intersection with this list. " + "If undefined, no restriction is applied. " + "Arrays merge across settings sources (same semantics as allowedMcpServers)."),
69487
69487
  allowManagedPermissionRulesOnly: exports_external2.boolean().optional().describe("When true (and set in managed settings), only permission rules (allow/deny/ask) from managed settings are respected. " + "User, project, local, and CLI argument permission rules are ignored."),
69488
69488
  allowManagedMcpServersOnly: exports_external2.boolean().optional().describe("When true (and set in managed settings), allowedMcpServers is only read from managed settings. " + "deniedMcpServers still merges from all sources, so users can deny servers for themselves. " + "Users can still add their own MCP servers, but only the admin-defined allowlist applies."),
69489
- strictPluginOnlyCustomization: exports_external2.preprocess((v) => Array.isArray(v) ? v.filter((x) => CUSTOMIZATION_SURFACES.includes(x)) : v, exports_external2.union([exports_external2.boolean(), exports_external2.array(exports_external2.enum(CUSTOMIZATION_SURFACES))])).optional().catch(undefined).describe("When set in managed settings, blocks non-plugin customization sources for the listed surfaces. " + 'Array form locks specific surfaces (e.g. ["skills", "hooks"]); `true` locks all four; `false` is an explicit no-op. ' + "Blocked: ~/.claude/{surface}/, .claude/{surface}/ (project), settings.json hooks, .mcp.json. " + "NOT blocked: managed (policySettings) sources, plugin-provided customizations. " + "Composes with strictKnownMarketplaces for end-to-end admin control — plugins gated by " + "marketplace allowlist, everything else blocked here."),
69489
+ strictPluginOnlyCustomization: exports_external2.preprocess((v) => Array.isArray(v) ? v.filter((x) => CUSTOMIZATION_SURFACES.includes(x)) : v, exports_external2.union([exports_external2.boolean(), exports_external2.array(exports_external2.enum(CUSTOMIZATION_SURFACES))])).optional().catch(undefined).describe("When set in managed settings, blocks non-plugin customization sources for the listed surfaces. " + 'Array form locks specific surfaces (e.g. ["skills", "hooks"]); `true` locks all four; `false` is an explicit no-op. ' + "Blocked: ~/.codez/{surface}/, .codez/{surface}/ (project), settings.json hooks, .mcp.json. " + "NOT blocked: managed (policySettings) sources, plugin-provided customizations. " + "Composes with strictKnownMarketplaces for end-to-end admin control — plugins gated by " + "marketplace allowlist, everything else blocked here."),
69490
69490
  statusLine: exports_external2.object({
69491
69491
  type: exports_external2.literal("command"),
69492
69492
  command: exports_external2.string(),
@@ -69504,7 +69504,7 @@ var init_types4 = __esm(() => {
69504
69504
  });
69505
69505
  }
69506
69506
  }
69507
- }).optional().describe("Additional marketplaces to make available for this repository. Typically used in repository .claude/settings.json to ensure team members have required plugin sources."),
69507
+ }).optional().describe("Additional marketplaces to make available for this repository. Typically used in repository .codez/settings.json to ensure team members have required plugin sources."),
69508
69508
  strictKnownMarketplaces: exports_external2.array(MarketplaceSourceSchema()).optional().describe("Enterprise strict list of allowed marketplace sources. When set in managed settings, " + "ONLY these exact sources can be added as marketplaces. The check happens BEFORE " + "downloading, so blocked sources never touch the filesystem. " + "Note: this is a policy gate only — it does NOT register marketplaces. " + "To pre-register allowed marketplaces for users, also set extraKnownMarketplaces."),
69509
69509
  blockedMarketplaces: exports_external2.array(MarketplaceSourceSchema()).optional().describe("Enterprise blocklist of marketplace sources. When set in managed settings, " + "these exact sources are blocked from being added as marketplaces. The check happens BEFORE " + "downloading, so blocked sources never touch the filesystem."),
69510
69510
  forceLoginMethod: exports_external2.enum(["claudeai", "console"]).optional().describe('Force a specific login method: "claudeai" for Claude Pro/Max, "console" for Console billing'),
@@ -69553,7 +69553,7 @@ var init_types4 = __esm(() => {
69553
69553
  autoUpdatesChannel: exports_external2.enum(["latest", "stable"]).optional().describe("Release channel for auto-updates (latest or stable)"),
69554
69554
  ...{},
69555
69555
  minimumVersion: exports_external2.string().optional().describe("Minimum version to stay on - prevents downgrades when switching to stable channel"),
69556
- plansDirectory: exports_external2.string().optional().describe("Custom directory for plan files, relative to project root. " + "If not set, defaults to ~/.claude/plans/"),
69556
+ plansDirectory: exports_external2.string().optional().describe("Custom directory for plan files, relative to project root. " + "If not set, defaults to ~/.codez/plans/"),
69557
69557
  ...process.env.USER_TYPE === "ant" ? {
69558
69558
  classifierPermissionsEnabled: exports_external2.boolean().optional().describe("Enable AI-based classification for Bash(prompt:...) permission rules")
69559
69559
  } : {},
@@ -69568,7 +69568,7 @@ var init_types4 = __esm(() => {
69568
69568
  ...{},
69569
69569
  prefersReducedMotion: exports_external2.boolean().optional().describe("Reduce or disable animations for accessibility (spinner shimmer, flash effects, etc.)"),
69570
69570
  autoMemoryEnabled: exports_external2.boolean().optional().describe("Enable auto-memory for this project. When false, Claude will not read from or write to the auto-memory directory."),
69571
- autoMemoryDirectory: exports_external2.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/."),
69571
+ autoMemoryDirectory: exports_external2.string().optional().describe("Custom directory path for auto-memory storage. Supports ~/ prefix for home directory expansion. Ignored if set in projectSettings (checked-in .codez/settings.json) for security. When unset, defaults to ~/.codez/projects/<sanitized-cwd>/memory/."),
69572
69572
  autoDreamEnabled: exports_external2.boolean().optional().describe("Enable background memory consolidation (auto-dream). When set, overrides the server-side default."),
69573
69573
  showThinkingSummaries: exports_external2.boolean().optional().describe("Show thinking summaries in the transcript view (ctrl+o). Default: false."),
69574
69574
  skipDangerousModePermissionPrompt: exports_external2.boolean().optional().describe("Whether the user has accepted the bypass permissions mode dialog"),
@@ -69582,7 +69582,7 @@ var init_types4 = __esm(() => {
69582
69582
  sshIdentityFile: exports_external2.string().optional().describe("Path to SSH identity file (private key)"),
69583
69583
  startDirectory: exports_external2.string().optional().describe("Default working directory on the remote host. " + "Supports tilde expansion (e.g. ~/projects). " + "If not specified, defaults to the remote user home directory. " + "Can be overridden by the [dir] positional argument in `codez ssh <config> [dir]`.")
69584
69584
  })).optional().describe("SSH connection configurations for remote environments. " + "Typically set in managed settings by enterprise administrators " + "to pre-configure SSH connections for team members."),
69585
- claudeMdExcludes: exports_external2.array(exports_external2.string()).optional().describe("Glob patterns or absolute paths of CLAUDE.md files to exclude from loading. " + "Patterns are matched against absolute file paths using picomatch. " + "Only applies to User, Project, and Local memory types (Managed/policy files cannot be excluded). " + 'Examples: "/home/user/monorepo/CLAUDE.md", "**/code/CLAUDE.md", "**/some-dir/.claude/rules/**"'),
69585
+ claudeMdExcludes: exports_external2.array(exports_external2.string()).optional().describe("Glob patterns or absolute paths of CLAUDE.md files to exclude from loading. " + "Patterns are matched against absolute file paths using picomatch. " + "Only applies to User, Project, and Local memory types (Managed/policy files cannot be excluded). " + 'Examples: "/home/user/monorepo/CLAUDE.md", "**/code/CLAUDE.md", "**/some-dir/.codez/rules/**"'),
69586
69586
  pluginTrustMessage: exports_external2.string().optional().describe("Custom message to append to the plugin trust warning shown before installation. " + "Only read from policy settings (managed-settings.json / MDM). " + "Useful for enterprise administrators to add organization-specific context " + '(e.g., "All plugins from our internal marketplace are vetted and approved.").')
69587
69587
  }).passthrough());
69588
69588
  });
@@ -70252,9 +70252,9 @@ function getSettingsFilePathForSource(source) {
70252
70252
  function getRelativeSettingsFilePathForSource(source) {
70253
70253
  switch (source) {
70254
70254
  case "projectSettings":
70255
- return join19(".claude", "settings.json");
70255
+ return join19(".codez", "settings.json");
70256
70256
  case "localSettings":
70257
- return join19(".claude", "settings.local.json");
70257
+ return join19(".codez", "settings.local.json");
70258
70258
  }
70259
70259
  }
70260
70260
  function getSettingsForSource(source) {
@@ -71422,7 +71422,7 @@ function getApiKeyFromFileDescriptor() {
71422
71422
  setCached: setApiKeyFromFd
71423
71423
  });
71424
71424
  }
71425
- var CCR_TOKEN_DIR = "/home/claude/.claude/remote", CCR_OAUTH_TOKEN_PATH, CCR_API_KEY_PATH, CCR_SESSION_INGRESS_TOKEN_PATH;
71425
+ var CCR_TOKEN_DIR = "/home/claude/.codez/remote", CCR_OAUTH_TOKEN_PATH, CCR_API_KEY_PATH, CCR_SESSION_INGRESS_TOKEN_PATH;
71426
71426
  var init_authFileDescriptor = __esm(() => {
71427
71427
  init_state();
71428
71428
  init_debug();
@@ -75157,7 +75157,7 @@ var init_auth = __esm(() => {
75157
75157
 
75158
75158
  // src/utils/userAgent.ts
75159
75159
  function getClaudeCodeUserAgent() {
75160
- return `claude-code/${"0.1.14"}`;
75160
+ return `claude-code/${"0.1.15"}`;
75161
75161
  }
75162
75162
 
75163
75163
  // src/utils/workloadContext.ts
@@ -75179,7 +75179,7 @@ function getUserAgent() {
75179
75179
  const clientApp = process.env.CLAUDE_AGENT_SDK_CLIENT_APP ? `, client-app/${process.env.CLAUDE_AGENT_SDK_CLIENT_APP}` : "";
75180
75180
  const workload = getWorkload();
75181
75181
  const workloadSuffix = workload ? `, workload/${workload}` : "";
75182
- return `claude-cli/${"0.1.14"} (${process.env.USER_TYPE}, ${process.env.CLAUDE_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
75182
+ return `claude-cli/${"0.1.15"} (${process.env.USER_TYPE}, ${process.env.CLAUDE_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
75183
75183
  }
75184
75184
  function getMCPUserAgent() {
75185
75185
  const parts = [];
@@ -75193,7 +75193,7 @@ function getMCPUserAgent() {
75193
75193
  parts.push(`client-app/${process.env.CLAUDE_AGENT_SDK_CLIENT_APP}`);
75194
75194
  }
75195
75195
  const suffix = parts.length > 0 ? ` (${parts.join(", ")})` : "";
75196
- return `claude-code/${"0.1.14"}${suffix}`;
75196
+ return `claude-code/${"0.1.15"}${suffix}`;
75197
75197
  }
75198
75198
  function getWebFetchUserAgent() {
75199
75199
  return `Claude-User (${getClaudeCodeUserAgent()}; +https://support.anthropic.com/)`;
@@ -75331,7 +75331,7 @@ var init_user = __esm(() => {
75331
75331
  deviceId,
75332
75332
  sessionId: getSessionId(),
75333
75333
  email: getEmail(),
75334
- appVersion: "0.1.14",
75334
+ appVersion: "0.1.15",
75335
75335
  platform: getHostPlatformForAnalytics(),
75336
75336
  organizationUuid,
75337
75337
  accountUuid,
@@ -89704,7 +89704,7 @@ var init_metadata = __esm(() => {
89704
89704
  COMPOUND_OPERATOR_REGEX = /\s*(?:&&|\|\||[;|])\s*/;
89705
89705
  WHITESPACE_REGEX = /\s+/;
89706
89706
  getVersionBase = memoize_default(() => {
89707
- const match = "0.1.14".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
89707
+ const match = "0.1.15".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
89708
89708
  return match ? match[0] : undefined;
89709
89709
  });
89710
89710
  buildEnvContext = memoize_default(async () => {
@@ -89744,9 +89744,9 @@ var init_metadata = __esm(() => {
89744
89744
  isGithubAction: isEnvTruthy(process.env.GITHUB_ACTIONS),
89745
89745
  isClaudeCodeAction: isEnvTruthy(process.env.CLAUDE_CODE_ACTION),
89746
89746
  isClaudeAiAuth: isClaudeAISubscriber(),
89747
- version: "0.1.14",
89747
+ version: "0.1.15",
89748
89748
  versionBase: getVersionBase(),
89749
- buildTime: "2026-04-02T01:11:50.700Z",
89749
+ buildTime: "2026-04-02T01:22:27.530Z",
89750
89750
  deploymentEnvironment: env4.detectDeploymentEnvironment(),
89751
89751
  ...isEnvTruthy(process.env.GITHUB_ACTIONS) && {
89752
89752
  githubEventName: process.env.GITHUB_EVENT_NAME,
@@ -90414,7 +90414,7 @@ function initialize1PEventLogging() {
90414
90414
  const platform3 = getPlatform();
90415
90415
  const attributes = {
90416
90416
  [import_semantic_conventions.ATTR_SERVICE_NAME]: "claude-code",
90417
- [import_semantic_conventions.ATTR_SERVICE_VERSION]: "0.1.14"
90417
+ [import_semantic_conventions.ATTR_SERVICE_VERSION]: "0.1.15"
90418
90418
  };
90419
90419
  if (platform3 === "wsl") {
90420
90420
  const wslVersion = getWslVersion();
@@ -90441,7 +90441,7 @@ function initialize1PEventLogging() {
90441
90441
  })
90442
90442
  ]
90443
90443
  });
90444
- firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.anthropic.claude_code.events", "0.1.14");
90444
+ firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.anthropic.claude_code.events", "0.1.15");
90445
90445
  }
90446
90446
  async function reinitialize1PEventLoggingIfConfigChanged() {
90447
90447
  if (!is1PEventLoggingEnabled() || !firstPartyEventLoggerProvider) {
@@ -91906,7 +91906,7 @@ function getMemoryPath(memoryType) {
91906
91906
  return "";
91907
91907
  }
91908
91908
  function getManagedClaudeRulesDir() {
91909
- return join24(getManagedFilePath(), ".claude", "rules");
91909
+ return join24(getManagedFilePath(), ".codez", "rules");
91910
91910
  }
91911
91911
  function getUserClaudeRulesDir() {
91912
91912
  return join24(getClaudeConfigHomeDir(), "rules");
@@ -92387,7 +92387,7 @@ function getAttributionHeader(fingerprint) {
92387
92387
  if (!isAttributionHeaderEnabled()) {
92388
92388
  return "";
92389
92389
  }
92390
- const version2 = `${"0.1.14"}.${fingerprint}`;
92390
+ const version2 = `${"0.1.15"}.${fingerprint}`;
92391
92391
  const entrypoint = process.env.CLAUDE_CODE_ENTRYPOINT ?? "unknown";
92392
92392
  const cch = "";
92393
92393
  const workload = getWorkload();
@@ -92900,7 +92900,7 @@ var init_prompt = __esm(() => {
92900
92900
  });
92901
92901
 
92902
92902
  // src/tools/FileEditTool/constants.ts
92903
- var FILE_EDIT_TOOL_NAME = "Edit", CLAUDE_FOLDER_PERMISSION_PATTERN = "/.claude/**", GLOBAL_CLAUDE_FOLDER_PERMISSION_PATTERN = "~/.claude/**", FILE_UNEXPECTEDLY_MODIFIED_ERROR = "File has been unexpectedly modified. Read it again before attempting to write it.";
92903
+ var FILE_EDIT_TOOL_NAME = "Edit", CLAUDE_FOLDER_PERMISSION_PATTERN = "/.codez/**", GLOBAL_CLAUDE_FOLDER_PERMISSION_PATTERN = "~/.codez/**", FILE_UNEXPECTEDLY_MODIFIED_ERROR = "File has been unexpectedly modified. Read it again before attempting to write it.";
92904
92904
 
92905
92905
  // src/utils/pdfUtils.ts
92906
92906
  function parsePDFPageRange(pages) {
@@ -133608,7 +133608,7 @@ function getProjectDirsUpToHome(subdir, cwd2) {
133608
133608
  if (normalizePathForComparison(current) === normalizePathForComparison(home)) {
133609
133609
  break;
133610
133610
  }
133611
- const claudeSubdir = join28(current, ".claude", subdir);
133611
+ const claudeSubdir = join28(current, ".codez", subdir);
133612
133612
  try {
133613
133613
  statSync4(claudeSubdir);
133614
133614
  dirs.push(claudeSubdir);
@@ -133742,15 +133742,15 @@ var init_markdownConfigLoader = __esm(() => {
133742
133742
  loadMarkdownFilesForSubdir = memoize_default(async function(subdir, cwd2) {
133743
133743
  const searchStartTime = Date.now();
133744
133744
  const userDir = join28(getClaudeConfigHomeDir(), subdir);
133745
- const managedDir = join28(getManagedFilePath(), ".claude", subdir);
133745
+ const managedDir = join28(getManagedFilePath(), ".codez", subdir);
133746
133746
  const projectDirs = getProjectDirsUpToHome(subdir, cwd2);
133747
133747
  const gitRoot = findGitRoot(cwd2);
133748
133748
  const canonicalRoot = findCanonicalGitRoot(cwd2);
133749
133749
  if (gitRoot && canonicalRoot && canonicalRoot !== gitRoot) {
133750
- const worktreeSubdir = normalizePathForComparison(join28(gitRoot, ".claude", subdir));
133750
+ const worktreeSubdir = normalizePathForComparison(join28(gitRoot, ".codez", subdir));
133751
133751
  const worktreeHasSubdir = projectDirs.some((dir) => normalizePathForComparison(dir) === worktreeSubdir);
133752
133752
  if (!worktreeHasSubdir) {
133753
- const mainClaudeSubdir = join28(canonicalRoot, ".claude", subdir);
133753
+ const mainClaudeSubdir = join28(canonicalRoot, ".codez", subdir);
133754
133754
  if (!projectDirs.includes(mainClaudeSubdir)) {
133755
133755
  projectDirs.push(mainClaudeSubdir);
133756
133756
  }
@@ -133964,7 +133964,7 @@ function getAddDirEnabledPlugins() {
133964
133964
  const result = {};
133965
133965
  for (const dir of getAdditionalDirectoriesForClaudeMd()) {
133966
133966
  for (const file2 of SETTINGS_FILES) {
133967
- const { settings } = parseSettingsFile(join29(dir, ".claude", file2));
133967
+ const { settings } = parseSettingsFile(join29(dir, ".codez", file2));
133968
133968
  if (!settings?.enabledPlugins) {
133969
133969
  continue;
133970
133970
  }
@@ -133977,7 +133977,7 @@ function getAddDirExtraMarketplaces() {
133977
133977
  const result = {};
133978
133978
  for (const dir of getAdditionalDirectoriesForClaudeMd()) {
133979
133979
  for (const file2 of SETTINGS_FILES) {
133980
- const { settings } = parseSettingsFile(join29(dir, ".claude", file2));
133980
+ const { settings } = parseSettingsFile(join29(dir, ".codez", file2));
133981
133981
  if (!settings?.extraKnownMarketplaces) {
133982
133982
  continue;
133983
133983
  }
@@ -137822,12 +137822,12 @@ function convertToSandboxRuntimeConfig(settings) {
137822
137822
  const cwd2 = getCwdState();
137823
137823
  const originalCwd = getOriginalCwd();
137824
137824
  if (cwd2 !== originalCwd) {
137825
- denyWrite.push(resolve16(cwd2, ".claude", "settings.json"));
137826
- denyWrite.push(resolve16(cwd2, ".claude", "settings.local.json"));
137825
+ denyWrite.push(resolve16(cwd2, ".codez", "settings.json"));
137826
+ denyWrite.push(resolve16(cwd2, ".codez", "settings.local.json"));
137827
137827
  }
137828
- denyWrite.push(resolve16(originalCwd, ".claude", "skills"));
137828
+ denyWrite.push(resolve16(originalCwd, ".codez", "skills"));
137829
137829
  if (cwd2 !== originalCwd) {
137830
- denyWrite.push(resolve16(cwd2, ".claude", "skills"));
137830
+ denyWrite.push(resolve16(cwd2, ".codez", "skills"));
137831
137831
  }
137832
137832
  bareGitRepoScrubPaths.length = 0;
137833
137833
  const bareGitRepoFiles = ["HEAD", "objects", "refs", "hooks", "config"];
@@ -166420,7 +166420,7 @@ async function loadAgentFromFile(filePath, pluginName, namespace, sourceName, pl
166420
166420
  }
166421
166421
  for (const field of ["permissionMode", "hooks", "mcpServers"]) {
166422
166422
  if (frontmatter[field] !== undefined) {
166423
- logForDebugging(`Plugin agent file ${filePath} sets ${field}, which is ignored for plugin agents. Use .claude/agents/ for this level of control.`, { level: "warn" });
166423
+ logForDebugging(`Plugin agent file ${filePath} sets ${field}, which is ignored for plugin agents. Use .codez/agents/ for this level of control.`, { level: "warn" });
166424
166424
  }
166425
166425
  }
166426
166426
  const maxTurnsRaw = frontmatter.maxTurns;
@@ -166721,7 +166721,7 @@ function getClaudeCodeGuideBasePrompt() {
166721
166721
  4. Fetch the specific documentation pages
166722
166722
  5. Provide clear, actionable guidance based on official documentation
166723
166723
  6. Use ${WEB_SEARCH_TOOL_NAME} if docs don't cover the topic
166724
- 7. Reference local project files (CLAUDE.md, .claude/ directory) when relevant using ${localSearchHint}
166724
+ 7. Reference local project files (CLAUDE.md, .codez/ directory) when relevant using ${localSearchHint}
166725
166725
 
166726
166726
  **Guidelines:**
166727
166727
  - Always prioritize official documentation over assumptions
@@ -167116,10 +167116,10 @@ How to use the statusLine command:
167116
167116
  To display both 5-hour and 7-day limits when available:
167117
167117
  - input=$(cat); five=$(echo "$input" | jq -r '.rate_limits.five_hour.used_percentage // empty'); week=$(echo "$input" | jq -r '.rate_limits.seven_day.used_percentage // empty'); out=""; [ -n "$five" ] && out="5h:$(printf '%.0f' "$five")%"; [ -n "$week" ] && out="$out 7d:$(printf '%.0f' "$week")%"; echo "$out"
167118
167118
 
167119
- 2. For longer commands, you can save a new file in the user's ~/.claude directory, e.g.:
167120
- - ~/.claude/statusline-command.sh and reference that file in the settings.
167119
+ 2. For longer commands, you can save a new file in the user's ~/.codez directory, e.g.:
167120
+ - ~/.codez/statusline-command.sh and reference that file in the settings.
167121
167121
 
167122
- 3. Update the user's ~/.claude/settings.json with:
167122
+ 3. Update the user's ~/.codez/settings.json with:
167123
167123
  {
167124
167124
  "statusLine": {
167125
167125
  "type": "command",
@@ -167127,7 +167127,7 @@ How to use the statusLine command:
167127
167127
  }
167128
167128
  }
167129
167129
 
167130
- 4. If ~/.claude/settings.json is a symlink, update the target file instead.
167130
+ 4. If ~/.codez/settings.json is a symlink, update the target file instead.
167131
167131
 
167132
167132
  Guidelines:
167133
167133
  - Preserve existing settings when updating
@@ -172247,14 +172247,14 @@ async function getMemoryFilesForNestedDirectory(dir, targetPath, processedPaths)
172247
172247
  if (isSettingSourceEnabled("projectSettings")) {
172248
172248
  const projectPath = join44(dir, "CLAUDE.md");
172249
172249
  result.push(...await processMemoryFile(projectPath, "Project", processedPaths, false));
172250
- const dotClaudePath = join44(dir, ".claude", "CLAUDE.md");
172250
+ const dotClaudePath = join44(dir, ".codez", "CLAUDE.md");
172251
172251
  result.push(...await processMemoryFile(dotClaudePath, "Project", processedPaths, false));
172252
172252
  }
172253
172253
  if (isSettingSourceEnabled("localSettings")) {
172254
172254
  const localPath = join44(dir, "CLAUDE.local.md");
172255
172255
  result.push(...await processMemoryFile(localPath, "Local", processedPaths, false));
172256
172256
  }
172257
- const rulesDir = join44(dir, ".claude", "rules");
172257
+ const rulesDir = join44(dir, ".codez", "rules");
172258
172258
  const unconditionalProcessedPaths = new Set(processedPaths);
172259
172259
  result.push(...await processMdRules({
172260
172260
  rulesDir,
@@ -172270,7 +172270,7 @@ async function getMemoryFilesForNestedDirectory(dir, targetPath, processedPaths)
172270
172270
  return result;
172271
172271
  }
172272
172272
  async function getConditionalRulesForCwdLevelDirectory(dir, targetPath, processedPaths) {
172273
- const rulesDir = join44(dir, ".claude", "rules");
172273
+ const rulesDir = join44(dir, ".codez", "rules");
172274
172274
  return processConditionedMdRules(targetPath, rulesDir, "Project", processedPaths, false);
172275
172275
  }
172276
172276
  async function processConditionedMdRules(targetPath, rulesDir, type, processedPaths, includeExternal) {
@@ -172517,9 +172517,9 @@ var init_claudemd = __esm(() => {
172517
172517
  if (isSettingSourceEnabled("projectSettings") && !skipProject) {
172518
172518
  const projectPath = join44(dir, "CLAUDE.md");
172519
172519
  result.push(...await processMemoryFile(projectPath, "Project", processedPaths, includeExternal));
172520
- const dotClaudePath = join44(dir, ".claude", "CLAUDE.md");
172520
+ const dotClaudePath = join44(dir, ".codez", "CLAUDE.md");
172521
172521
  result.push(...await processMemoryFile(dotClaudePath, "Project", processedPaths, includeExternal));
172522
- const rulesDir = join44(dir, ".claude", "rules");
172522
+ const rulesDir = join44(dir, ".codez", "rules");
172523
172523
  result.push(...await processMdRules({
172524
172524
  rulesDir,
172525
172525
  type: "Project",
@@ -172538,9 +172538,9 @@ var init_claudemd = __esm(() => {
172538
172538
  for (const dir of additionalDirs) {
172539
172539
  const projectPath = join44(dir, "CLAUDE.md");
172540
172540
  result.push(...await processMemoryFile(projectPath, "Project", processedPaths, includeExternal));
172541
- const dotClaudePath = join44(dir, ".claude", "CLAUDE.md");
172541
+ const dotClaudePath = join44(dir, ".codez", "CLAUDE.md");
172542
172542
  result.push(...await processMemoryFile(dotClaudePath, "Project", processedPaths, includeExternal));
172543
- const rulesDir = join44(dir, ".claude", "rules");
172543
+ const rulesDir = join44(dir, ".codez", "rules");
172544
172544
  result.push(...await processMdRules({
172545
172545
  rulesDir,
172546
172546
  type: "Project",
@@ -293417,7 +293417,7 @@ function getTelemetryAttributes() {
293417
293417
  attributes["session.id"] = sessionId;
293418
293418
  }
293419
293419
  if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
293420
- attributes["app.version"] = "0.1.14";
293420
+ attributes["app.version"] = "0.1.15";
293421
293421
  }
293422
293422
  const oauthAccount = getOauthAccountInfo();
293423
293423
  if (oauthAccount) {
@@ -304040,7 +304040,7 @@ var init_cronTasks = __esm(() => {
304040
304040
  init_json();
304041
304041
  init_log2();
304042
304042
  init_slowOperations();
304043
- CRON_FILE_REL = join49(".claude", "scheduled_tasks.json");
304043
+ CRON_FILE_REL = join49(".codez", "scheduled_tasks.json");
304044
304044
  DEFAULT_CRON_JITTER_CONFIG = {
304045
304045
  recurringFrac: 0.1,
304046
304046
  recurringCapMs: 15 * 60 * 1000,
@@ -317159,7 +317159,7 @@ async function getIdeLockfilesPaths() {
317159
317159
  if (windowsHome) {
317160
317160
  const converter = new WindowsToWSLConverter(process.env.WSL_DISTRO_NAME);
317161
317161
  const wslPath = converter.toLocalPath(windowsHome);
317162
- paths2.push(resolve23(wslPath, ".claude", "ide"));
317162
+ paths2.push(resolve23(wslPath, ".codez", "ide"));
317163
317163
  }
317164
317164
  try {
317165
317165
  const usersDir = "/mnt/c/Users";
@@ -317171,7 +317171,7 @@ async function getIdeLockfilesPaths() {
317171
317171
  if (user.name === "Public" || user.name === "Default" || user.name === "Default User" || user.name === "All Users") {
317172
317172
  continue;
317173
317173
  }
317174
- paths2.push(join59(usersDir, user.name, ".claude", "ide"));
317174
+ paths2.push(join59(usersDir, user.name, ".codez", "ide"));
317175
317175
  }
317176
317176
  } catch (error40) {
317177
317177
  if (isFsInaccessible(error40)) {
@@ -317427,7 +317427,7 @@ function getInstallationEnv() {
317427
317427
  return;
317428
317428
  }
317429
317429
  function getClaudeCodeVersion() {
317430
- return "0.1.14";
317430
+ return "0.1.15";
317431
317431
  }
317432
317432
  async function getInstalledVSCodeExtensionVersion(command) {
317433
317433
  const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
@@ -320146,7 +320146,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
320146
320146
  const client2 = new Client({
320147
320147
  name: "claude-code",
320148
320148
  title: "codez",
320149
- version: "0.1.14",
320149
+ version: "0.1.15",
320150
320150
  description: "AI-powered agentic coding tool",
320151
320151
  websiteUrl: PRODUCT_URL
320152
320152
  }, {
@@ -320501,7 +320501,7 @@ var init_client5 = __esm(() => {
320501
320501
  const client2 = new Client({
320502
320502
  name: "claude-code",
320503
320503
  title: "codez",
320504
- version: "0.1.14",
320504
+ version: "0.1.15",
320505
320505
  description: "AI-powered agentic coding tool",
320506
320506
  websiteUrl: PRODUCT_URL
320507
320507
  }, {
@@ -321281,13 +321281,13 @@ function getAllHooks(appState) {
321281
321281
  function hookSourceDescriptionDisplayString(source) {
321282
321282
  switch (source) {
321283
321283
  case "userSettings":
321284
- return "User settings (~/.claude/settings.json)";
321284
+ return "User settings (~/.codez/settings.json)";
321285
321285
  case "projectSettings":
321286
- return "Project settings (.claude/settings.json)";
321286
+ return "Project settings (.codez/settings.json)";
321287
321287
  case "localSettings":
321288
- return "Local settings (.claude/settings.local.json)";
321288
+ return "Local settings (.codez/settings.local.json)";
321289
321289
  case "pluginHook":
321290
- return "Plugin hooks (~/.claude/plugins/*/hooks/hooks.json)";
321290
+ return "Plugin hooks (~/.codez/plugins/*/hooks/hooks.json)";
321291
321291
  case "sessionHook":
321292
321292
  return "Session hooks (in-memory, temporary)";
321293
321293
  case "builtinHook":
@@ -396102,7 +396102,7 @@ async function initializeBetaTracing(resource) {
396102
396102
  });
396103
396103
  import_api_logs.logs.setGlobalLoggerProvider(loggerProvider);
396104
396104
  setLoggerProvider(loggerProvider);
396105
- const eventLogger = import_api_logs.logs.getLogger("com.anthropic.claude_code.events", "0.1.14");
396105
+ const eventLogger = import_api_logs.logs.getLogger("com.anthropic.claude_code.events", "0.1.15");
396106
396106
  setEventLogger(eventLogger);
396107
396107
  process.on("beforeExit", async () => {
396108
396108
  await loggerProvider?.forceFlush();
@@ -396142,7 +396142,7 @@ async function initializeTelemetry() {
396142
396142
  const platform5 = getPlatform();
396143
396143
  const baseAttributes = {
396144
396144
  [import_semantic_conventions2.ATTR_SERVICE_NAME]: "claude-code",
396145
- [import_semantic_conventions2.ATTR_SERVICE_VERSION]: "0.1.14"
396145
+ [import_semantic_conventions2.ATTR_SERVICE_VERSION]: "0.1.15"
396146
396146
  };
396147
396147
  if (platform5 === "wsl") {
396148
396148
  const wslVersion = getWslVersion();
@@ -396187,7 +396187,7 @@ async function initializeTelemetry() {
396187
396187
  } catch {}
396188
396188
  };
396189
396189
  registerCleanup(shutdownTelemetry2);
396190
- return meterProvider2.getMeter("com.anthropic.claude_code", "0.1.14");
396190
+ return meterProvider2.getMeter("com.anthropic.claude_code", "0.1.15");
396191
396191
  }
396192
396192
  const meterProvider = new import_sdk_metrics2.MeterProvider({
396193
396193
  resource,
@@ -396207,7 +396207,7 @@ async function initializeTelemetry() {
396207
396207
  });
396208
396208
  import_api_logs.logs.setGlobalLoggerProvider(loggerProvider);
396209
396209
  setLoggerProvider(loggerProvider);
396210
- const eventLogger = import_api_logs.logs.getLogger("com.anthropic.claude_code.events", "0.1.14");
396210
+ const eventLogger = import_api_logs.logs.getLogger("com.anthropic.claude_code.events", "0.1.15");
396211
396211
  setEventLogger(eventLogger);
396212
396212
  logForDebugging("[3P telemetry] Event logger set successfully");
396213
396213
  process.on("beforeExit", async () => {
@@ -396269,7 +396269,7 @@ Current timeout: ${timeoutMs}ms
396269
396269
  }
396270
396270
  };
396271
396271
  registerCleanup(shutdownTelemetry);
396272
- return meterProvider.getMeter("com.anthropic.claude_code", "0.1.14");
396272
+ return meterProvider.getMeter("com.anthropic.claude_code", "0.1.15");
396273
396273
  }
396274
396274
  async function flushTelemetry() {
396275
396275
  const meterProvider = getMeterProvider();
@@ -396645,7 +396645,7 @@ function getLocalClaudePath() {
396645
396645
  }
396646
396646
  function isRunningFromLocalInstallation() {
396647
396647
  const execPath2 = process.argv[1] || "";
396648
- return execPath2.includes("/.claude/local/node_modules/");
396648
+ return execPath2.includes("/.codez/local/node_modules/");
396649
396649
  }
396650
396650
  async function writeIfMissing(path13, content, mode) {
396651
396651
  try {
@@ -396826,9 +396826,9 @@ async function assertMinVersion() {
396826
396826
  if (false) {}
396827
396827
  try {
396828
396828
  const versionConfig = await getDynamicConfig_BLOCKS_ON_INIT("tengu_version_config", { minVersion: "0.0.0" });
396829
- if (versionConfig.minVersion && lt("0.1.14", versionConfig.minVersion)) {
396829
+ if (versionConfig.minVersion && lt("0.1.15", versionConfig.minVersion)) {
396830
396830
  console.error(`
396831
- It looks like your version of codez (${"0.1.14"}) needs an update.
396831
+ It looks like your version of codez (${"0.1.15"}) needs an update.
396832
396832
  A newer version (${versionConfig.minVersion} or higher) is required to continue.
396833
396833
 
396834
396834
  To update, please run:
@@ -397044,7 +397044,7 @@ async function installGlobalPackage(specificVersion) {
397044
397044
  logError2(new AutoUpdaterError("Another process is currently installing an update"));
397045
397045
  logEvent("tengu_auto_updater_lock_contention", {
397046
397046
  pid: process.pid,
397047
- currentVersion: "0.1.14"
397047
+ currentVersion: "0.1.15"
397048
397048
  });
397049
397049
  return "in_progress";
397050
397050
  }
@@ -397053,7 +397053,7 @@ async function installGlobalPackage(specificVersion) {
397053
397053
  if (!env4.isRunningWithBun() && env4.isNpmFromWindowsPath()) {
397054
397054
  logError2(new Error("Windows NPM detected in WSL environment"));
397055
397055
  logEvent("tengu_auto_updater_windows_npm_in_wsl", {
397056
- currentVersion: "0.1.14"
397056
+ currentVersion: "0.1.15"
397057
397057
  });
397058
397058
  console.error(`
397059
397059
  Error: Windows NPM detected in WSL
@@ -397399,7 +397399,7 @@ function getInvokedBinary() {
397399
397399
  async function detectMultipleInstallations() {
397400
397400
  const fs9 = getFsImplementation();
397401
397401
  const installations = [];
397402
- const localPath = join67(homedir21(), ".claude", "local");
397402
+ const localPath = join67(homedir21(), ".codez", "local");
397403
397403
  if (await localInstallationExists()) {
397404
397404
  installations.push({ type: "npm-local", path: localPath });
397405
397405
  }
@@ -397557,12 +397557,12 @@ async function detectConfigurationIssues(type) {
397557
397557
  if (existingAlias) {
397558
397558
  warnings.push({
397559
397559
  issue: "Local installation not accessible",
397560
- fix: `Alias exists but points to invalid target: ${existingAlias}. Update alias: alias claude="~/.claude/local/claude"`
397560
+ fix: `Alias exists but points to invalid target: ${existingAlias}. Update alias: alias claude="~/.codez/local/claude"`
397561
397561
  });
397562
397562
  } else {
397563
397563
  warnings.push({
397564
397564
  issue: "Local installation not accessible",
397565
- fix: 'Create alias: alias claude="~/.claude/local/claude"'
397565
+ fix: 'Create alias: alias claude="~/.codez/local/claude"'
397566
397566
  });
397567
397567
  }
397568
397568
  }
@@ -397588,7 +397588,7 @@ function detectLinuxGlobPatternWarnings() {
397588
397588
  }
397589
397589
  async function getDoctorDiagnostic() {
397590
397590
  const installationType = await getCurrentInstallationType();
397591
- const version2 = typeof MACRO !== "undefined" ? "0.1.14" : "unknown";
397591
+ const version2 = typeof MACRO !== "undefined" ? "0.1.15" : "unknown";
397592
397592
  const installationPath = await getInstallationPath();
397593
397593
  const invokedBinary = getInvokedBinary();
397594
397594
  const multipleInstallations = await detectMultipleInstallations();
@@ -398523,8 +398523,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
398523
398523
  const maxVersion = await getMaxVersion();
398524
398524
  if (maxVersion && gt(version2, maxVersion)) {
398525
398525
  logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version2} to ${maxVersion}`);
398526
- if (gte("0.1.14", maxVersion)) {
398527
- logForDebugging(`Native installer: current version ${"0.1.14"} is already at or above maxVersion ${maxVersion}, skipping update`);
398526
+ if (gte("0.1.15", maxVersion)) {
398527
+ logForDebugging(`Native installer: current version ${"0.1.15"} is already at or above maxVersion ${maxVersion}, skipping update`);
398528
398528
  logEvent("tengu_native_update_skipped_max_version", {
398529
398529
  latency_ms: Date.now() - startTime,
398530
398530
  max_version: maxVersion,
@@ -398535,7 +398535,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
398535
398535
  version2 = maxVersion;
398536
398536
  }
398537
398537
  }
398538
- if (!forceReinstall && version2 === "0.1.14" && await versionIsAvailable(version2) && await isPossibleClaudeBinary(executablePath)) {
398538
+ if (!forceReinstall && version2 === "0.1.15" && await versionIsAvailable(version2) && await isPossibleClaudeBinary(executablePath)) {
398539
398539
  logForDebugging(`Found ${version2} at ${executablePath}, skipping install`);
398540
398540
  logEvent("tengu_native_update_complete", {
398541
398541
  latency_ms: Date.now() - startTime,
@@ -399288,7 +399288,7 @@ async function cleanupNpmInstallations() {
399288
399288
  errors5.push(macroPackageResult.error);
399289
399289
  }
399290
399290
  }
399291
- const localInstallDir = join71(homedir22(), ".claude", "local");
399291
+ const localInstallDir = join71(homedir22(), ".codez", "local");
399292
399292
  try {
399293
399293
  await rm5(localInstallDir, { recursive: true });
399294
399294
  removed++;
@@ -411150,11 +411150,11 @@ var init_coreSchemas = __esm(() => {
411150
411150
  initialPrompt: exports_external2.string().optional().describe("Auto-submitted as the first user turn when this agent is the main thread agent. Slash commands are processed. Prepended to any user-provided prompt."),
411151
411151
  maxTurns: exports_external2.number().int().positive().optional().describe("Maximum number of agentic turns (API round-trips) before stopping"),
411152
411152
  background: exports_external2.boolean().optional().describe("Run this agent as a background task (non-blocking, fire-and-forget) when invoked"),
411153
- memory: exports_external2.enum(["user", "project", "local"]).optional().describe("Scope for auto-loading agent memory files. 'user' - ~/.claude/agent-memory/<agentType>/, 'project' - .claude/agent-memory/<agentType>/, 'local' - .claude/agent-memory-local/<agentType>/"),
411153
+ memory: exports_external2.enum(["user", "project", "local"]).optional().describe("Scope for auto-loading agent memory files. 'user' - ~/.codez/agent-memory/<agentType>/, 'project' - .codez/agent-memory/<agentType>/, 'local' - .codez/agent-memory-local/<agentType>/"),
411154
411154
  effort: exports_external2.union([exports_external2.enum(["low", "medium", "high", "max"]), exports_external2.number().int()]).optional().describe("Reasoning effort level for this agent. Either a named level or an integer"),
411155
411155
  permissionMode: PermissionModeSchema().optional().describe("Permission mode controlling how tool executions are handled")
411156
411156
  }).describe("Definition for a custom subagent that can be invoked via the Agent tool."));
411157
- SettingSourceSchema = lazySchema(() => exports_external2.enum(["user", "project", "local"]).describe("Source for loading filesystem-based settings. " + "'user' - Global user settings (~/.claude/settings.json). " + "'project' - Project settings (.claude/settings.json). " + "'local' - Local settings (.claude/settings.local.json)."));
411157
+ SettingSourceSchema = lazySchema(() => exports_external2.enum(["user", "project", "local"]).describe("Source for loading filesystem-based settings. " + "'user' - Global user settings (~/.codez/settings.json). " + "'project' - Project settings (.codez/settings.json). " + "'local' - Local settings (.codez/settings.local.json)."));
411158
411158
  SdkPluginConfigSchema = lazySchema(() => exports_external2.object({
411159
411159
  type: exports_external2.literal("local").describe("Plugin type. Currently only 'local' is supported"),
411160
411160
  path: exports_external2.string().describe("Absolute or relative path to the plugin directory")
@@ -430464,9 +430464,9 @@ async function processSessionStartHooks(source, {
430464
430464
  if (errorMessage2.includes("Failed to clone") || errorMessage2.includes("network") || errorMessage2.includes("ETIMEDOUT") || errorMessage2.includes("ENOTFOUND")) {
430465
430465
  userGuidance = "This appears to be a network issue. Check your internet connection and try again.";
430466
430466
  } else if (errorMessage2.includes("Permission denied") || errorMessage2.includes("EACCES") || errorMessage2.includes("EPERM")) {
430467
- userGuidance = "This appears to be a permissions issue. Check file permissions on ~/.claude/plugins/";
430467
+ userGuidance = "This appears to be a permissions issue. Check file permissions on ~/.codez/plugins/";
430468
430468
  } else if (errorMessage2.includes("Invalid") || errorMessage2.includes("parse") || errorMessage2.includes("JSON") || errorMessage2.includes("schema")) {
430469
- userGuidance = "This appears to be a configuration issue. Check your plugin settings in .claude/settings.json";
430469
+ userGuidance = "This appears to be a configuration issue. Check your plugin settings in .codez/settings.json";
430470
430470
  } else {
430471
430471
  userGuidance = "Please fix the plugin configuration or remove problematic plugins from your settings.";
430472
430472
  }
@@ -446884,11 +446884,11 @@ import {
446884
446884
  function getSkillsPath(source, dir) {
446885
446885
  switch (source) {
446886
446886
  case "policySettings":
446887
- return join84(getManagedFilePath(), ".claude", dir);
446887
+ return join84(getManagedFilePath(), ".codez", dir);
446888
446888
  case "userSettings":
446889
446889
  return join84(getClaudeConfigHomeDir(), dir);
446890
446890
  case "projectSettings":
446891
- return `.claude/${dir}`;
446891
+ return `.codez/${dir}`;
446892
446892
  case "plugin":
446893
446893
  return "plugin";
446894
446894
  default:
@@ -447212,7 +447212,7 @@ async function discoverSkillDirsForPaths(filePaths, cwd2) {
447212
447212
  for (const filePath of filePaths) {
447213
447213
  let currentDir = dirname33(filePath);
447214
447214
  while (currentDir.startsWith(resolvedCwd + pathSep)) {
447215
- const skillDir = join84(currentDir, ".claude", "skills");
447215
+ const skillDir = join84(currentDir, ".codez", "skills");
447216
447216
  if (!dynamicSkillDirs.has(skillDir)) {
447217
447217
  dynamicSkillDirs.add(skillDir);
447218
447218
  try {
@@ -447336,7 +447336,7 @@ var init_loadSkillsDir = __esm(() => {
447336
447336
  import_ignore3 = __toESM(require_ignore(), 1);
447337
447337
  getSkillDirCommands = memoize_default(async (cwd2) => {
447338
447338
  const userSkillsDir = join84(getClaudeConfigHomeDir(), "skills");
447339
- const managedSkillsDir = join84(getManagedFilePath(), ".claude", "skills");
447339
+ const managedSkillsDir = join84(getManagedFilePath(), ".codez", "skills");
447340
447340
  const projectSkillsDirs = getProjectDirsUpToHome("skills", cwd2);
447341
447341
  logForDebugging(`Loading skills from: managed=${managedSkillsDir}, user=${userSkillsDir}, project=[${projectSkillsDirs.join(", ")}]`);
447342
447342
  const additionalDirs = getAdditionalDirectoriesForClaudeMd();
@@ -447347,7 +447347,7 @@ var init_loadSkillsDir = __esm(() => {
447347
447347
  logForDebugging(`[bare] Skipping skill dir discovery (${additionalDirs.length === 0 ? "no --add-dir" : "projectSettings disabled or skillsLocked"})`);
447348
447348
  return [];
447349
447349
  }
447350
- const additionalSkillsNested2 = await Promise.all(additionalDirs.map((dir) => loadSkillsFromSkillsDir(join84(dir, ".claude", "skills"), "projectSettings")));
447350
+ const additionalSkillsNested2 = await Promise.all(additionalDirs.map((dir) => loadSkillsFromSkillsDir(join84(dir, ".codez", "skills"), "projectSettings")));
447351
447351
  return additionalSkillsNested2.flat().map((s) => s.skill);
447352
447352
  }
447353
447353
  const [
@@ -447360,7 +447360,7 @@ var init_loadSkillsDir = __esm(() => {
447360
447360
  isEnvTruthy(process.env.CLAUDE_CODE_DISABLE_POLICY_SKILLS) ? Promise.resolve([]) : loadSkillsFromSkillsDir(managedSkillsDir, "policySettings"),
447361
447361
  isSettingSourceEnabled("userSettings") && !skillsLocked ? loadSkillsFromSkillsDir(userSkillsDir, "userSettings") : Promise.resolve([]),
447362
447362
  projectSettingsEnabled ? Promise.all(projectSkillsDirs.map((dir) => loadSkillsFromSkillsDir(dir, "projectSettings"))) : Promise.resolve([]),
447363
- projectSettingsEnabled ? Promise.all(additionalDirs.map((dir) => loadSkillsFromSkillsDir(join84(dir, ".claude", "skills"), "projectSettings"))) : Promise.resolve([]),
447363
+ projectSettingsEnabled ? Promise.all(additionalDirs.map((dir) => loadSkillsFromSkillsDir(join84(dir, ".codez", "skills"), "projectSettings"))) : Promise.resolve([]),
447364
447364
  skillsLocked ? Promise.resolve([]) : loadSkillsFromCommandsDir(cwd2)
447365
447365
  ]);
447366
447366
  const allSkillsWithPaths = [
@@ -475018,7 +475018,7 @@ function getEnterWorktreeToolPrompt() {
475018
475018
 
475019
475019
  ## Behavior
475020
475020
 
475021
- - In a git repository: creates a new git worktree inside \`.claude/worktrees/\` with a new branch based on HEAD
475021
+ - In a git repository: creates a new git worktree inside \`.codez/worktrees/\` with a new branch based on HEAD
475022
475022
  - Outside a git repository: delegates to WorktreeCreate/WorktreeRemove hooks for VCS-agnostic isolation
475023
475023
  - Switches the session's working directory to the new worktree
475024
475024
  - Use ExitWorktree to leave the worktree mid-session (keep or remove). On session exit, if still in the worktree, the user will be prompted to keep or remove it
@@ -477001,7 +477001,7 @@ When spawning teammates via the Agent tool, choose the \`subagent_type\` based o
477001
477001
 
477002
477002
  - **Read-only agents** (e.g., Explore, Plan) cannot edit or write files. Only assign them research, search, or planning tasks. Never assign them implementation work.
477003
477003
  - **Full-capability agents** (e.g., general-purpose) have access to all tools including file editing, writing, and bash. Use these for tasks that require making changes.
477004
- - **Custom agents** defined in \`.claude/agents/\` may have their own tool restrictions. Check their descriptions to understand what they can and cannot do.
477004
+ - **Custom agents** defined in \`.codez/agents/\` may have their own tool restrictions. Check their descriptions to understand what they can and cannot do.
477005
477005
 
477006
477006
  Always review the agent type descriptions and their available tools listed in the Agent tool prompt before selecting a \`subagent_type\` for a teammate.
477007
477007
 
@@ -477015,8 +477015,8 @@ Create a new team to coordinate multiple agents working on a project. Teams have
477015
477015
  \`\`\`
477016
477016
 
477017
477017
  This creates:
477018
- - A team file at \`~/.claude/teams/{team-name}/config.json\`
477019
- - A corresponding task list directory at \`~/.claude/tasks/{team-name}/\`
477018
+ - A team file at \`~/.codez/teams/{team-name}/config.json\`
477019
+ - A corresponding task list directory at \`~/.codez/tasks/{team-name}/\`
477020
477020
 
477021
477021
  ## Team Workflow
477022
477022
 
@@ -477058,7 +477058,7 @@ Teammates go idle after every turn—this is completely normal and expected. A t
477058
477058
  ## Discovering Team Members
477059
477059
 
477060
477060
  Teammates can read the team config file to discover other team members:
477061
- - **Team config location**: \`~/.claude/teams/{team-name}/config.json\`
477061
+ - **Team config location**: \`~/.codez/teams/{team-name}/config.json\`
477062
477062
 
477063
477063
  The config file contains a \`members\` array with each teammate's:
477064
477064
  - \`name\`: Human-readable name (**always use this** for messaging and task assignment)
@@ -477071,12 +477071,12 @@ The config file contains a \`members\` array with each teammate's:
477071
477071
 
477072
477072
  Example of reading team config:
477073
477073
  \`\`\`
477074
- Use the Read tool to read ~/.claude/teams/{team-name}/config.json
477074
+ Use the Read tool to read ~/.codez/teams/{team-name}/config.json
477075
477075
  \`\`\`
477076
477076
 
477077
477077
  ## Task List Coordination
477078
477078
 
477079
- Teams share a task list that all teammates can access at \`~/.claude/tasks/{team-name}/\`.
477079
+ Teams share a task list that all teammates can access at \`~/.codez/tasks/{team-name}/\`.
477080
477080
 
477081
477081
  Teammates should:
477082
477082
  1. Check TaskList periodically, **especially after completing each task**, to find available work or see newly unblocked tasks
@@ -477260,8 +477260,8 @@ function getPrompt7() {
477260
477260
  Remove team and task directories when the swarm work is complete.
477261
477261
 
477262
477262
  This operation:
477263
- - Removes the team directory (\`~/.claude/teams/{team-name}/\`)
477264
- - Removes the task directory (\`~/.claude/tasks/{team-name}/\`)
477263
+ - Removes the team directory (\`~/.codez/teams/{team-name}/\`)
477264
+ - Removes the task directory (\`~/.codez/tasks/{team-name}/\`)
477265
477265
  - Clears team context from the current session
477266
477266
 
477267
477267
  **IMPORTANT**: TeamDelete will fail if the team still has active members. Gracefully terminate teammates first, then call TeamDelete after all teammates have shut down.
@@ -489356,7 +489356,7 @@ function getAnthropicEnvMetadata() {
489356
489356
  function getBuildAgeMinutes() {
489357
489357
  if (false)
489358
489358
  ;
489359
- const buildTime = new Date("2026-04-02T01:11:50.700Z").getTime();
489359
+ const buildTime = new Date("2026-04-02T01:22:27.530Z").getTime();
489360
489360
  if (isNaN(buildTime))
489361
489361
  return;
489362
489362
  return Math.floor((Date.now() - buildTime) / 60000);
@@ -500722,7 +500722,7 @@ async function cacheAndRegisterPlugin(pluginId, entry, scope = "user", projectPa
500722
500722
  const normalizedCachePath = cacheResult.path.endsWith(sep26) ? cacheResult.path : cacheResult.path + sep26;
500723
500723
  const isSubdirectory = versionedPath.startsWith(normalizedCachePath);
500724
500724
  if (isSubdirectory) {
500725
- const tempPath = join102(dirname46(cacheResult.path), `.claude-plugin-temp-${Date.now()}-${randomBytes14(4).toString("hex")}`);
500725
+ const tempPath = join102(dirname46(cacheResult.path), `.codez-plugin-temp-${Date.now()}-${randomBytes14(4).toString("hex")}`);
500726
500726
  await rename5(cacheResult.path, tempPath);
500727
500727
  await getFsImplementation().mkdir(dirname46(versionedPath));
500728
500728
  await rename5(tempPath, versionedPath);
@@ -509272,7 +509272,7 @@ import { dirname as dirname48, join as join106 } from "path";
509272
509272
  function detectShell() {
509273
509273
  const shell = process.env.SHELL || "";
509274
509274
  const home = homedir27();
509275
- const claudeDir = join106(home, ".claude");
509275
+ const claudeDir = join106(home, ".codez");
509276
509276
  if (shell.endsWith("/zsh") || shell.endsWith("/zsh.exe")) {
509277
509277
  const cacheFile = join106(claudeDir, "completion.zsh");
509278
509278
  return {
@@ -513702,7 +513702,7 @@ function Feedback({
513702
513702
  platform: env4.platform,
513703
513703
  gitRepo: envInfo.isGit,
513704
513704
  terminal: env4.terminal,
513705
- version: "0.1.14",
513705
+ version: "0.1.15",
513706
513706
  transcript: normalizeMessagesForAPI(messages),
513707
513707
  errors: sanitizedErrors,
513708
513708
  lastApiRequest: getLastAPIRequest(),
@@ -513841,7 +513841,7 @@ function Feedback({
513841
513841
  dimColor: true
513842
513842
  }, description)), /* @__PURE__ */ React167.createElement(ThemedText, null, "- Environment info:", " ", /* @__PURE__ */ React167.createElement(ThemedText, {
513843
513843
  dimColor: true
513844
- }, env4.platform, ", ", env4.terminal, ", v", "0.1.14")), envInfo.gitState && /* @__PURE__ */ React167.createElement(ThemedText, null, "- Git repo metadata:", " ", /* @__PURE__ */ React167.createElement(ThemedText, {
513844
+ }, env4.platform, ", ", env4.terminal, ", v", "0.1.15")), envInfo.gitState && /* @__PURE__ */ React167.createElement(ThemedText, null, "- Git repo metadata:", " ", /* @__PURE__ */ React167.createElement(ThemedText, {
513845
513845
  dimColor: true
513846
513846
  }, envInfo.gitState.branchName, envInfo.gitState.commitHash ? `, ${envInfo.gitState.commitHash.slice(0, 7)}` : "", envInfo.gitState.remoteUrl ? ` @ ${envInfo.gitState.remoteUrl}` : "", !envInfo.gitState.isHeadOnRemote && ", not synced", !envInfo.gitState.isClean && ", has local changes")), /* @__PURE__ */ React167.createElement(ThemedText, null, "- Current session transcript")), /* @__PURE__ */ React167.createElement(ThemedBox_default, {
513847
513847
  marginTop: 1
@@ -513878,7 +513878,7 @@ ${sanitizedDescription}
513878
513878
  ` + `**Environment Info**
513879
513879
  ` + `- Platform: ${env4.platform}
513880
513880
  ` + `- Terminal: ${env4.terminal}
513881
- ` + `- Version: ${"0.1.14"}
513881
+ ` + `- Version: ${"0.1.15"}
513882
513882
  ` + `- Feedback ID: ${feedbackId}
513883
513883
  ` + `
513884
513884
  **Errors**
@@ -516939,7 +516939,7 @@ function buildPrimarySection() {
516939
516939
  }, "/rename to add a name");
516940
516940
  return [{
516941
516941
  label: "Version",
516942
- value: "0.1.14"
516942
+ value: "0.1.15"
516943
516943
  }, {
516944
516944
  label: "Session name",
516945
516945
  value: nameValue
@@ -520343,7 +520343,7 @@ function Config({
520343
520343
  });
520344
520344
  }
520345
520345
  })) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ React182.createElement(ChannelDowngradeDialog, {
520346
- currentVersion: "0.1.14",
520346
+ currentVersion: "0.1.15",
520347
520347
  onChoice: (choice) => {
520348
520348
  setShowSubmenu(null);
520349
520349
  setTabsHidden(false);
@@ -520355,7 +520355,7 @@ function Config({
520355
520355
  autoUpdatesChannel: "stable"
520356
520356
  };
520357
520357
  if (choice === "stay") {
520358
- newSettings.minimumVersion = "0.1.14";
520358
+ newSettings.minimumVersion = "0.1.15";
520359
520359
  }
520360
520360
  updateSettingsForSource("userSettings", newSettings);
520361
520361
  setSettingsData((prev_27) => ({
@@ -525060,7 +525060,7 @@ function Doctor(t0) {
525060
525060
  getDoctorDiagnostic().then(setDiagnostic);
525061
525061
  (async () => {
525062
525062
  const userAgentsDir = join115(getClaudeConfigHomeDir(), "agents");
525063
- const projectAgentsDir = join115(getOriginalCwd(), ".claude", "agents");
525063
+ const projectAgentsDir = join115(getOriginalCwd(), ".codez", "agents");
525064
525064
  const {
525065
525065
  activeAgents,
525066
525066
  allAgents,
@@ -525689,7 +525689,7 @@ function MemoryFileSelector(t0) {
525689
525689
  let description;
525690
525690
  const isGit = projectIsInGitRepo(getOriginalCwd());
525691
525691
  if (file2.type === "User" && !file2.isNested) {
525692
- description = "Saved in ~/.claude/CLAUDE.md";
525692
+ description = "Saved in ~/.codez/CLAUDE.md";
525693
525693
  } else {
525694
525694
  if (file2.type === "Project" && !file2.isNested && file2.path === projectMemoryPath) {
525695
525695
  description = `${isGit ? "Checked in at" : "Saved in"} ./CLAUDE.md`;
@@ -527116,7 +527116,7 @@ function HelpV2(t0) {
527116
527116
  let t6;
527117
527117
  if ($3[31] !== tabs) {
527118
527118
  t6 = /* @__PURE__ */ React209.createElement(Tabs, {
527119
- title: `codez v${"0.1.14"}`,
527119
+ title: `codez v${"0.1.15"}`,
527120
527120
  color: "professionalBlue",
527121
527121
  defaultTab: "general"
527122
527122
  }, tabs);
@@ -528296,9 +528296,9 @@ Based on the areas detected in Phase 1, you may need to create multiple verifier
528296
528296
 
528297
528297
  ## Phase 4: Generate Verifier Skill
528298
528298
 
528299
- **All verifier skills are created in the project root's \`.claude/skills/\` directory.** This ensures they are automatically loaded when Claude runs in the project.
528299
+ **All verifier skills are created in the project root's \`.codez/skills/\` directory.** This ensures they are automatically loaded when Claude runs in the project.
528300
528300
 
528301
- Write the skill file to \`.claude/skills/<verifier-name>/SKILL.md\`.
528301
+ Write the skill file to \`.codez/skills/<verifier-name>/SKILL.md\`.
528302
528302
 
528303
528303
  ### Skill Template Structure
528304
528304
 
@@ -528382,7 +528382,7 @@ allowed-tools:
528382
528382
  ## Phase 5: Confirm Creation
528383
528383
 
528384
528384
  After writing the skill file(s), inform the user:
528385
- 1. Where each skill was created (always in \`.claude/skills/\`)
528385
+ 1. Where each skill was created (always in \`.codez/skills/\`)
528386
528386
  2. How the Verify agent will discover them — the folder name must contain "verifier" (case-insensitive) for automatic discovery
528387
528387
  3. That they can edit the skills to customize them
528388
528388
  4. That they can run /init-verifiers again to add more verifiers for other areas
@@ -537736,7 +537736,7 @@ async function uninstallPluginOp(plugin, scope = "user", deleteDataDir = true) {
537736
537736
  if (actualScope === "project") {
537737
537737
  return {
537738
537738
  success: false,
537739
- message: `Plugin "${plugin}" is enabled at project scope (.claude/settings.json, shared with your team). To disable just for you: codez plugin disable ${plugin} --scope local`
537739
+ message: `Plugin "${plugin}" is enabled at project scope (.codez/settings.json, shared with your team). To disable just for you: codez plugin disable ${plugin} --scope local`
537740
537740
  };
537741
537741
  }
537742
537742
  return {
@@ -540986,7 +540986,7 @@ function ManagePlugins({
540986
540986
  return;
540987
540987
  }
540988
540988
  clearAllCaches();
540989
- setResult(`✓ Disabled ${selectedPlugin.plugin.name} in .claude/settings.local.json. Run /reload-plugins to apply.`);
540989
+ setResult(`✓ Disabled ${selectedPlugin.plugin.name} in .codez/settings.local.json. Run /reload-plugins to apply.`);
540990
540990
  if (onManageComplete)
540991
540991
  onManageComplete();
540992
540992
  setParentViewState({
@@ -541213,10 +541213,10 @@ function ManagePlugins({
541213
541213
  }, /* @__PURE__ */ React245.createElement(ThemedText, {
541214
541214
  bold: true,
541215
541215
  color: "warning"
541216
- }, selectedPlugin.plugin.name, " is enabled in .claude/settings.json (shared with your team)"), /* @__PURE__ */ React245.createElement(ThemedBox_default, {
541216
+ }, selectedPlugin.plugin.name, " is enabled in .codez/settings.json (shared with your team)"), /* @__PURE__ */ React245.createElement(ThemedBox_default, {
541217
541217
  marginTop: 1,
541218
541218
  flexDirection: "column"
541219
- }, /* @__PURE__ */ React245.createElement(ThemedText, null, "Disable it just for you in .claude/settings.local.json?"), /* @__PURE__ */ React245.createElement(ThemedText, {
541219
+ }, /* @__PURE__ */ React245.createElement(ThemedText, null, "Disable it just for you in .codez/settings.local.json?"), /* @__PURE__ */ React245.createElement(ThemedText, {
541220
541220
  dimColor: true
541221
541221
  }, "This has the same effect as uninstalling, without affecting other contributors.")), processError && /* @__PURE__ */ React245.createElement(ThemedBox_default, {
541222
541222
  marginTop: 1
@@ -548510,7 +548510,7 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
548510
548510
  return [];
548511
548511
  }
548512
548512
  }
548513
- async function checkForReleaseNotes(lastSeenVersion, currentVersion = "0.1.14") {
548513
+ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "0.1.15") {
548514
548514
  if (process.env.USER_TYPE === "ant") {
548515
548515
  const changelog = MACRO.VERSION_CHANGELOG;
548516
548516
  if (changelog) {
@@ -548537,7 +548537,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "0.1.14")
548537
548537
  releaseNotes
548538
548538
  };
548539
548539
  }
548540
- function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "0.1.14") {
548540
+ function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "0.1.15") {
548541
548541
  if (process.env.USER_TYPE === "ant") {
548542
548542
  const changelog = MACRO.VERSION_CHANGELOG;
548543
548543
  if (changelog) {
@@ -549707,7 +549707,7 @@ function getRecentActivitySync() {
549707
549707
  return cachedActivity;
549708
549708
  }
549709
549709
  function getLogoDisplayData() {
549710
- const version2 = process.env.DEMO_VERSION ?? "0.1.14";
549710
+ const version2 = process.env.DEMO_VERSION ?? "0.1.15";
549711
549711
  const serverUrl = getDirectConnectServerUrl();
549712
549712
  const displayPath = process.env.DEMO_VERSION ? "/code/claude" : getDisplayPath(getCwd());
549713
549713
  const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
@@ -550860,7 +550860,7 @@ function LogoV2() {
550860
550860
  if ($3[2] === Symbol.for("react.memo_cache_sentinel")) {
550861
550861
  t2 = () => {
550862
550862
  const currentConfig = getGlobalConfig();
550863
- if (currentConfig.lastReleaseNotesSeen === "0.1.14") {
550863
+ if (currentConfig.lastReleaseNotesSeen === "0.1.15") {
550864
550864
  return;
550865
550865
  }
550866
550866
  saveGlobalConfig(_temp329);
@@ -551398,12 +551398,12 @@ function LogoV2() {
551398
551398
  return t41;
551399
551399
  }
551400
551400
  function _temp329(current) {
551401
- if (current.lastReleaseNotesSeen === "0.1.14") {
551401
+ if (current.lastReleaseNotesSeen === "0.1.15") {
551402
551402
  return current;
551403
551403
  }
551404
551404
  return {
551405
551405
  ...current,
551406
- lastReleaseNotesSeen: "0.1.14"
551406
+ lastReleaseNotesSeen: "0.1.15"
551407
551407
  };
551408
551408
  }
551409
551409
  function _temp245(s_0) {
@@ -557910,7 +557910,7 @@ function SkillsMenu(t0) {
557910
557910
  if ($3[6] === Symbol.for("react.memo_cache_sentinel")) {
557911
557911
  t32 = /* @__PURE__ */ React279.createElement(ThemedText, {
557912
557912
  dimColor: true
557913
- }, "Create skills in .claude/skills/ or ~/.claude/skills/");
557913
+ }, "Create skills in .codez/skills/ or ~/.codez/skills/");
557914
557914
  $3[6] = t32;
557915
557915
  } else {
557916
557916
  t32 = $3[6];
@@ -563959,7 +563959,7 @@ function optionForPermissionSaveDestination(saveDestination) {
563959
563959
  case "userSettings":
563960
563960
  return {
563961
563961
  label: "User settings",
563962
- description: `Saved in at ~/.claude/settings.json`,
563962
+ description: `Saved in at ~/.codez/settings.json`,
563963
563963
  value: saveDestination
563964
563964
  };
563965
563965
  }
@@ -567928,7 +567928,7 @@ function SelectEventMode(t0) {
567928
567928
  color: "suggestion"
567929
567929
  }, figures_default.info, " Hooks Restricted by Policy"), /* @__PURE__ */ React311.createElement(ThemedText, {
567930
567930
  dimColor: true
567931
- }, "Only hooks from managed settings can run. User-defined hooks from ~/.claude/settings.json, .claude/settings.json, and .claude/settings.local.json are blocked."));
567931
+ }, "Only hooks from managed settings can run. User-defined hooks from ~/.codez/settings.json, .codez/settings.json, and .codez/settings.local.json are blocked."));
567932
567932
  $3[2] = restrictedByPolicy;
567933
567933
  $3[3] = t2;
567934
567934
  } else {
@@ -569515,7 +569515,7 @@ var init_agentDisplay = __esm(() => {
569515
569515
  var AGENT_PATHS;
569516
569516
  var init_types13 = __esm(() => {
569517
569517
  AGENT_PATHS = {
569518
- FOLDER_NAME: ".claude",
569518
+ FOLDER_NAME: ".codez",
569519
569519
  AGENTS_DIR: "agents"
569520
569520
  };
569521
569521
  });
@@ -572978,7 +572978,7 @@ function LocationStep() {
572978
572978
  let t0;
572979
572979
  if ($3[0] === Symbol.for("react.memo_cache_sentinel")) {
572980
572980
  t0 = {
572981
- label: "Project (.claude/agents/)",
572981
+ label: "Project (.codez/agents/)",
572982
572982
  value: "projectSettings"
572983
572983
  };
572984
572984
  $3[0] = t0;
@@ -572988,7 +572988,7 @@ function LocationStep() {
572988
572988
  let t1;
572989
572989
  if ($3[1] === Symbol.for("react.memo_cache_sentinel")) {
572990
572990
  t1 = [t0, {
572991
- label: "Personal (~/.claude/agents/)",
572991
+ label: "Personal (~/.codez/agents/)",
572992
572992
  value: "userSettings"
572993
572993
  }];
572994
572994
  $3[1] = t1;
@@ -573091,28 +573091,28 @@ function MemoryStep() {
573091
573091
  let t1;
573092
573092
  if ($3[1] !== isUserScope) {
573093
573093
  t1 = isUserScope ? [{
573094
- label: "User scope (~/.claude/agent-memory/) (Recommended)",
573094
+ label: "User scope (~/.codez/agent-memory/) (Recommended)",
573095
573095
  value: "user"
573096
573096
  }, {
573097
573097
  label: "None (no persistent memory)",
573098
573098
  value: "none"
573099
573099
  }, {
573100
- label: "Project scope (.claude/agent-memory/)",
573100
+ label: "Project scope (.codez/agent-memory/)",
573101
573101
  value: "project"
573102
573102
  }, {
573103
- label: "Local scope (.claude/agent-memory-local/)",
573103
+ label: "Local scope (.codez/agent-memory-local/)",
573104
573104
  value: "local"
573105
573105
  }] : [{
573106
- label: "Project scope (.claude/agent-memory/) (Recommended)",
573106
+ label: "Project scope (.codez/agent-memory/) (Recommended)",
573107
573107
  value: "project"
573108
573108
  }, {
573109
573109
  label: "None (no persistent memory)",
573110
573110
  value: "none"
573111
573111
  }, {
573112
- label: "User scope (~/.claude/agent-memory/)",
573112
+ label: "User scope (~/.codez/agent-memory/)",
573113
573113
  value: "user"
573114
573114
  }, {
573115
- label: "Local scope (.claude/agent-memory-local/)",
573115
+ label: "Local scope (.codez/agent-memory-local/)",
573116
573116
  value: "local"
573117
573117
  }];
573118
573118
  $3[1] = isUserScope;
@@ -575084,7 +575084,7 @@ async function captureMemoryDiagnostics(trigger, dumpNumber = 0) {
575084
575084
  smapsRollup,
575085
575085
  platform: process.platform,
575086
575086
  nodeVersion: process.version,
575087
- ccVersion: "0.1.14"
575087
+ ccVersion: "0.1.15"
575088
575088
  };
575089
575089
  }
575090
575090
  async function performHeapDump(trigger = "manual", dumpNumber = 0) {
@@ -575670,7 +575670,7 @@ var init_bridge_kick = __esm(() => {
575670
575670
  var call56 = async () => {
575671
575671
  return {
575672
575672
  type: "text",
575673
- value: `${"0.1.14"} (built ${"2026-04-02T01:11:50.700Z"})`
575673
+ value: `${"0.1.15"} (built ${"2026-04-02T01:22:27.530Z"})`
575674
575674
  };
575675
575675
  }, version2, version_default;
575676
575676
  var init_version = __esm(() => {
@@ -576630,7 +576630,7 @@ async function call57(onDone, _context, args) {
576630
576630
  const cleanPattern = commandPattern.replace(/^["']|["']$/g, "");
576631
576631
  addToExcludedCommands(cleanPattern);
576632
576632
  const localSettingsPath = getSettingsFilePathForSource("localSettings");
576633
- const relativePath = localSettingsPath ? relative28(getCwdState(), localSettingsPath) : ".claude/settings.local.json";
576633
+ const relativePath = localSettingsPath ? relative28(getCwdState(), localSettingsPath) : ".codez/settings.local.json";
576634
576634
  const message = color("success", themeName)(`Added "${cleanPattern}" to excluded commands in ${relativePath}`);
576635
576635
  onDone(message);
576636
576636
  return null;
@@ -579596,7 +579596,7 @@ var init_statusline = __esm(() => {
579596
579596
  aliases: [],
579597
579597
  name: "statusline",
579598
579598
  progressMessage: "setting up statusLine",
579599
- allowedTools: [AGENT_TOOL_NAME, "Read(~/**)", "Edit(~/.claude/settings.json)"],
579599
+ allowedTools: [AGENT_TOOL_NAME, "Read(~/**)", "Edit(~/.codez/settings.json)"],
579600
579600
  source: "builtin",
579601
579601
  disableNonInteractive: true,
579602
579602
  async getPromptForCommand(args) {
@@ -582169,7 +582169,7 @@ function renderStatsToAnsi(stats, activeTab) {
582169
582169
  function renderOverviewToAnsi(stats) {
582170
582170
  const lines2 = [];
582171
582171
  const theme2 = getTheme(resolveThemeSetting(getGlobalConfig().theme));
582172
- const h2 = (text2) => applyColor(text2, theme2.claude);
582172
+ const h2 = (text2) => applyColor(text2, theme2.codez);
582173
582173
  const COL1_LABEL_WIDTH = 18;
582174
582174
  const COL2_START = 40;
582175
582175
  const COL2_LABEL_WIDTH = 18;
@@ -583902,7 +583902,7 @@ function generateHtmlReport(data, insights) {
583902
583902
  </html>`;
583903
583903
  }
583904
583904
  function buildExportData(data, insights, facets, remoteStats) {
583905
- const version3 = typeof MACRO !== "undefined" ? "0.1.14" : "unknown";
583905
+ const version3 = typeof MACRO !== "undefined" ? "0.1.15" : "unknown";
583906
583906
  const remote_hosts_collected = remoteStats?.hosts.filter((h2) => h2.sessionCount > 0).map((h2) => h2.name);
583907
583907
  const facets_summary = {
583908
583908
  total: facets.size,
@@ -584202,7 +584202,7 @@ var init_insights = __esm(() => {
584202
584202
  getRemoteHostSessionCount = process.env.USER_TYPE === "ant" ? async (homespace) => {
584203
584203
  const { stdout, code } = await execFileNoThrow("ssh", [
584204
584204
  `${homespace}.coder`,
584205
- 'find /root/.claude/projects -name "*.jsonl" 2>/dev/null | wc -l'
584205
+ 'find /root/.codez/projects -name "*.jsonl" 2>/dev/null | wc -l'
584206
584206
  ], { timeout: 30000 });
584207
584207
  if (code !== 0)
584208
584208
  return 0;
@@ -584212,7 +584212,7 @@ var init_insights = __esm(() => {
584212
584212
  const result = { copied: 0, skipped: 0 };
584213
584213
  const tempDir = await mkdtemp3(join136(tmpdir12(), "claude-hs-"));
584214
584214
  try {
584215
- const scpResult = await execFileNoThrow("scp", ["-rq", `${homespace}.coder:/root/.claude/projects/`, tempDir], { timeout: 300000 });
584215
+ const scpResult = await execFileNoThrow("scp", ["-rq", `${homespace}.coder:/root/.codez/projects/`, tempDir], { timeout: 300000 });
584216
584216
  if (scpResult.code !== 0) {
584217
584217
  return result;
584218
584218
  }
@@ -584421,11 +584421,11 @@ Include 3 friction categories with 2 examples each.`,
584421
584421
  - Good for: database queries, Slack integration, GitHub issue lookup, connecting to internal APIs
584422
584422
 
584423
584423
  2. **Custom Skills**: Reusable prompts you define as markdown files that run with a single /command.
584424
- - How to use: Create \`.claude/skills/commit/SKILL.md\` with instructions. Then type \`/commit\` to run it.
584424
+ - How to use: Create \`.codez/skills/commit/SKILL.md\` with instructions. Then type \`/commit\` to run it.
584425
584425
  - Good for: repetitive workflows - /commit, /review, /test, /deploy, /pr, or complex multi-step workflows
584426
584426
 
584427
584427
  3. **Hooks**: Shell commands that auto-run at specific lifecycle events.
584428
- - How to use: Add to \`.claude/settings.json\` under "hooks" key.
584428
+ - How to use: Add to \`.codez/settings.json\` under "hooks" key.
584429
584429
  - Good for: auto-formatting code, running type checks, enforcing conventions
584430
584430
 
584431
584431
  4. **Headless Mode**: Run Claude non-interactively from scripts and CI/CD.
@@ -588011,7 +588011,7 @@ var init_sessionStorage = __esm(() => {
588011
588011
  init_settings2();
588012
588012
  init_slowOperations();
588013
588013
  init_uuid();
588014
- VERSION4 = typeof MACRO !== "undefined" ? "0.1.14" : "unknown";
588014
+ VERSION4 = typeof MACRO !== "undefined" ? "0.1.15" : "unknown";
588015
588015
  MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
588016
588016
  SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
588017
588017
  EPHEMERAL_PROGRESS_TYPES = new Set([
@@ -588269,13 +588269,13 @@ function getLocalAgentMemoryDir(dirName) {
588269
588269
  if (process.env.CLAUDE_CODE_REMOTE_MEMORY_DIR) {
588270
588270
  return join138(process.env.CLAUDE_CODE_REMOTE_MEMORY_DIR, "projects", sanitizePath2(findCanonicalGitRoot(getProjectRoot()) ?? getProjectRoot()), "agent-memory-local", dirName) + sep34;
588271
588271
  }
588272
- return join138(getCwd(), ".claude", "agent-memory-local", dirName) + sep34;
588272
+ return join138(getCwd(), ".codez", "agent-memory-local", dirName) + sep34;
588273
588273
  }
588274
588274
  function getAgentMemoryDir(agentType, scope) {
588275
588275
  const dirName = sanitizeAgentTypeForPath(agentType);
588276
588276
  switch (scope) {
588277
588277
  case "project":
588278
- return join138(getCwd(), ".claude", "agent-memory", dirName) + sep34;
588278
+ return join138(getCwd(), ".codez", "agent-memory", dirName) + sep34;
588279
588279
  case "local":
588280
588280
  return getLocalAgentMemoryDir(dirName);
588281
588281
  case "user":
@@ -588288,14 +588288,14 @@ function isAgentMemoryPath(absolutePath) {
588288
588288
  if (normalizedPath.startsWith(join138(memoryBase, "agent-memory") + sep34)) {
588289
588289
  return true;
588290
588290
  }
588291
- if (normalizedPath.startsWith(join138(getCwd(), ".claude", "agent-memory") + sep34)) {
588291
+ if (normalizedPath.startsWith(join138(getCwd(), ".codez", "agent-memory") + sep34)) {
588292
588292
  return true;
588293
588293
  }
588294
588294
  if (process.env.CLAUDE_CODE_REMOTE_MEMORY_DIR) {
588295
588295
  if (normalizedPath.includes(sep34 + "agent-memory-local" + sep34) && normalizedPath.startsWith(join138(process.env.CLAUDE_CODE_REMOTE_MEMORY_DIR, "projects") + sep34)) {
588296
588296
  return true;
588297
588297
  }
588298
- } else if (normalizedPath.startsWith(join138(getCwd(), ".claude", "agent-memory-local") + sep34)) {
588298
+ } else if (normalizedPath.startsWith(join138(getCwd(), ".codez", "agent-memory-local") + sep34)) {
588299
588299
  return true;
588300
588300
  }
588301
588301
  return false;
@@ -588305,7 +588305,7 @@ function getMemoryScopeDisplay(memory2) {
588305
588305
  case "user":
588306
588306
  return `User (${join138(getMemoryBaseDir(), "agent-memory")}/)`;
588307
588307
  case "project":
588308
- return "Project (.claude/agent-memory/)";
588308
+ return "Project (.codez/agent-memory/)";
588309
588309
  case "local":
588310
588310
  return `Local (${getLocalAgentMemoryDir("...")})`;
588311
588311
  default:
@@ -588355,12 +588355,12 @@ function getClaudeSkillScope(filePath) {
588355
588355
  const absolutePathLower = normalizeCaseForComparison2(absolutePath);
588356
588356
  const bases = [
588357
588357
  {
588358
- dir: expandPath(join139(getOriginalCwd(), ".claude", "skills")),
588359
- prefix: "/.claude/skills/"
588358
+ dir: expandPath(join139(getOriginalCwd(), ".codez", "skills")),
588359
+ prefix: "/.codez/skills/"
588360
588360
  },
588361
588361
  {
588362
- dir: expandPath(join139(homedir33(), ".claude", "skills")),
588363
- prefix: "~/.claude/skills/"
588362
+ dir: expandPath(join139(homedir33(), ".codez", "skills")),
588363
+ prefix: "~/.codez/skills/"
588364
588364
  }
588365
588365
  ];
588366
588366
  for (const { dir, prefix } of bases) {
@@ -588405,7 +588405,7 @@ function getSettingsPaths() {
588405
588405
  function isClaudeSettingsPath(filePath) {
588406
588406
  const expandedPath = expandPath(filePath);
588407
588407
  const normalizedPath = normalizeCaseForComparison2(expandedPath);
588408
- if (normalizedPath.endsWith(`${sep35}.claude${sep35}settings.json`) || normalizedPath.endsWith(`${sep35}.claude${sep35}settings.local.json`)) {
588408
+ if (normalizedPath.endsWith(`${sep35}.codez${sep35}settings.json`) || normalizedPath.endsWith(`${sep35}.codez${sep35}settings.local.json`)) {
588409
588409
  return true;
588410
588410
  }
588411
588411
  return getSettingsPaths().some((settingsPath) => normalizeCaseForComparison2(settingsPath) === normalizedPath);
@@ -588414,9 +588414,9 @@ function isClaudeConfigFilePath(filePath) {
588414
588414
  if (isClaudeSettingsPath(filePath)) {
588415
588415
  return true;
588416
588416
  }
588417
- const commandsDir = join139(getOriginalCwd(), ".claude", "commands");
588418
- const agentsDir = join139(getOriginalCwd(), ".claude", "agents");
588419
- const skillsDir = join139(getOriginalCwd(), ".claude", "skills");
588417
+ const commandsDir = join139(getOriginalCwd(), ".codez", "commands");
588418
+ const agentsDir = join139(getOriginalCwd(), ".codez", "agents");
588419
+ const skillsDir = join139(getOriginalCwd(), ".codez", "skills");
588420
588420
  return pathInWorkingPath(filePath, commandsDir) || pathInWorkingPath(filePath, agentsDir) || pathInWorkingPath(filePath, skillsDir);
588421
588421
  }
588422
588422
  function isSessionPlanFile(absolutePath) {
@@ -588486,7 +588486,7 @@ function isDangerousFilePathToAutoEdit(path22) {
588486
588486
  if (normalizedSegment !== normalizeCaseForComparison2(dir)) {
588487
588487
  continue;
588488
588488
  }
588489
- if (dir === ".claude") {
588489
+ if (dir === ".codez") {
588490
588490
  const nextSegment = pathSegments[i3 + 1];
588491
588491
  if (nextSegment && normalizeCaseForComparison2(nextSegment) === "worktrees") {
588492
588492
  break;
@@ -589031,7 +589031,7 @@ function checkEditableInternalPath(absolutePath, input) {
589031
589031
  }
589032
589032
  };
589033
589033
  }
589034
- if (normalizeCaseForComparison2(normalizedPath) === normalizeCaseForComparison2(join139(getOriginalCwd(), ".claude", "launch.json"))) {
589034
+ if (normalizeCaseForComparison2(normalizedPath) === normalizeCaseForComparison2(join139(getOriginalCwd(), ".codez", "launch.json"))) {
589035
589035
  return {
589036
589036
  behavior: "allow",
589037
589037
  updatedInput: input,
@@ -589202,7 +589202,7 @@ var init_filesystem = __esm(() => {
589202
589202
  ".git",
589203
589203
  ".vscode",
589204
589204
  ".idea",
589205
- ".claude"
589205
+ ".codez"
589206
589206
  ];
589207
589207
  DIR_SEP = posix8.sep;
589208
589208
  getClaudeTempDir = memoize_default(function getClaudeTempDir2() {
@@ -589216,7 +589216,7 @@ var init_filesystem = __esm(() => {
589216
589216
  });
589217
589217
  getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
589218
589218
  const nonce = randomBytes20(16).toString("hex");
589219
- return join139(getClaudeTempDir(), "bundled-skills", "0.1.14", nonce);
589219
+ return join139(getClaudeTempDir(), "bundled-skills", "0.1.15", nonce);
589220
589220
  });
589221
589221
  getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
589222
589222
  });
@@ -593557,7 +593557,7 @@ function generateTmuxSessionName(repoPath, branch2) {
593557
593557
  return combined.replace(/[/.]/g, "_");
593558
593558
  }
593559
593559
  function worktreesDir(repoRoot) {
593560
- return join141(repoRoot, ".claude", "worktrees");
593560
+ return join141(repoRoot, ".codez", "worktrees");
593561
593561
  }
593562
593562
  function flattenSlug(slug) {
593563
593563
  return slug.replaceAll("/", "+");
@@ -595206,7 +595206,7 @@ function computeFingerprint(messageText, version3) {
595206
595206
  }
595207
595207
  function computeFingerprintFromMessages(messages) {
595208
595208
  const firstMessageText = extractFirstMessageText(messages);
595209
- return computeFingerprint(firstMessageText, "0.1.14");
595209
+ return computeFingerprint(firstMessageText, "0.1.15");
595210
595210
  }
595211
595211
  var FINGERPRINT_SALT = "59cf53e54c78";
595212
595212
  var init_fingerprint = () => {};
@@ -597105,7 +597105,7 @@ async function sideQuery(opts) {
597105
597105
  betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
597106
597106
  }
597107
597107
  const messageText = extractFirstUserMessageText(messages);
597108
- const fingerprint = computeFingerprint(messageText, "0.1.14");
597108
+ const fingerprint = computeFingerprint(messageText, "0.1.15");
597109
597109
  const attributionHeader = getAttributionHeader(fingerprint);
597110
597110
  const systemBlocks = [
597111
597111
  attributionHeader ? { type: "text", text: attributionHeader } : null,
@@ -597837,7 +597837,7 @@ var init_chromeNativeHost = __esm(() => {
597837
597837
  init_slowOperations();
597838
597838
  init_common3();
597839
597839
  MAX_MESSAGE_SIZE = 1024 * 1024;
597840
- LOG_FILE = process.env.USER_TYPE === "ant" ? join142(homedir34(), ".claude", "debug", "chrome-native-host.txt") : undefined;
597840
+ LOG_FILE = process.env.USER_TYPE === "ant" ? join142(homedir34(), ".codez", "debug", "chrome-native-host.txt") : undefined;
597841
597841
  messageSchema = lazySchema(() => exports_external.object({
597842
597842
  type: exports_external.string()
597843
597843
  }).passthrough());
@@ -601678,7 +601678,7 @@ function buildSystemInitMessage(inputs) {
601678
601678
  slash_commands: inputs.commands.filter((c4) => c4.userInvocable !== false).map((c4) => c4.name),
601679
601679
  apiKeySource: getAnthropicApiKeyWithSource().source,
601680
601680
  betas: getSdkBetas(),
601681
- claude_code_version: "0.1.14",
601681
+ claude_code_version: "0.1.15",
601682
601682
  output_style: outputStyle2,
601683
601683
  agents: inputs.agents.map((agent) => agent.agentType),
601684
601684
  skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill) => skill.name),
@@ -607375,14 +607375,14 @@ import { homedir as homedir36 } from "os";
607375
607375
  import { basename as basename48, join as join144, sep as sep36 } from "path";
607376
607376
  function isInClaudeFolder(filePath) {
607377
607377
  const absolutePath = expandPath(filePath);
607378
- const claudeFolderPath = expandPath(`${getOriginalCwd()}/.claude`);
607378
+ const claudeFolderPath = expandPath(`${getOriginalCwd()}/.codez`);
607379
607379
  const normalizedAbsolutePath = normalizeCaseForComparison2(absolutePath);
607380
607380
  const normalizedClaudeFolderPath = normalizeCaseForComparison2(claudeFolderPath);
607381
607381
  return normalizedAbsolutePath.startsWith(normalizedClaudeFolderPath + sep36.toLowerCase()) || normalizedAbsolutePath.startsWith(normalizedClaudeFolderPath + "/");
607382
607382
  }
607383
607383
  function isInGlobalClaudeFolder(filePath) {
607384
607384
  const absolutePath = expandPath(filePath);
607385
- const globalClaudeFolderPath = join144(homedir36(), ".claude");
607385
+ const globalClaudeFolderPath = join144(homedir36(), ".codez");
607386
607386
  const normalizedAbsolutePath = normalizeCaseForComparison2(absolutePath);
607387
607387
  const normalizedGlobalClaudeFolderPath = normalizeCaseForComparison2(globalClaudeFolderPath);
607388
607388
  return normalizedAbsolutePath.startsWith(normalizedGlobalClaudeFolderPath + sep36.toLowerCase()) || normalizedAbsolutePath.startsWith(normalizedGlobalClaudeFolderPath + "/");
@@ -614825,7 +614825,7 @@ var init_useVoiceEnabled = __esm(() => {
614825
614825
  function getSemverPart(version3) {
614826
614826
  return `${import_semver13.major(version3, { loose: true })}.${import_semver13.minor(version3, { loose: true })}.${import_semver13.patch(version3, { loose: true })}`;
614827
614827
  }
614828
- function useUpdateNotification(updatedVersion, initialVersion = "0.1.14") {
614828
+ function useUpdateNotification(updatedVersion, initialVersion = "0.1.15") {
614829
614829
  const [lastNotifiedSemver, setLastNotifiedSemver] = import_react338.useState(() => getSemverPart(initialVersion));
614830
614830
  if (!updatedVersion) {
614831
614831
  return null;
@@ -614865,7 +614865,7 @@ function AutoUpdater({
614865
614865
  return;
614866
614866
  }
614867
614867
  if (false) {}
614868
- const currentVersion = "0.1.14";
614868
+ const currentVersion = "0.1.15";
614869
614869
  const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
614870
614870
  let latestVersion = await getLatestVersion(channel);
614871
614871
  const isDisabled = isAutoUpdaterDisabled();
@@ -614979,7 +614979,7 @@ function AutoUpdater({
614979
614979
  bold: true
614980
614980
  }, "claude doctor"), " or", " ", /* @__PURE__ */ React409.createElement(ThemedText, {
614981
614981
  bold: true
614982
- }, hasLocalInstall ? `cd ~/.claude/local && npm update ${"codez-cli"}` : `npm i -g ${"codez-cli"}`)));
614982
+ }, hasLocalInstall ? `cd ~/.codez/local && npm update ${"codez-cli"}` : `npm i -g ${"codez-cli"}`)));
614983
614983
  }
614984
614984
  var React409, import_react339;
614985
614985
  var init_AutoUpdater = __esm(() => {
@@ -615050,12 +615050,12 @@ function NativeAutoUpdater({
615050
615050
  logEvent("tengu_native_auto_updater_start", {});
615051
615051
  try {
615052
615052
  const maxVersion = await getMaxVersion();
615053
- if (maxVersion && gt("0.1.14", maxVersion)) {
615053
+ if (maxVersion && gt("0.1.15", maxVersion)) {
615054
615054
  const msg = await getMaxVersionMessage();
615055
615055
  setMaxVersionIssue(msg ?? "affects your version");
615056
615056
  }
615057
615057
  const result = await installLatest(channel);
615058
- const currentVersion = "0.1.14";
615058
+ const currentVersion = "0.1.15";
615059
615059
  const latencyMs = Date.now() - startTime;
615060
615060
  if (result.lockFailed) {
615061
615061
  logEvent("tengu_native_auto_updater_lock_contention", {
@@ -615168,17 +615168,17 @@ function PackageManagerAutoUpdater(t0) {
615168
615168
  const maxVersion = await getMaxVersion();
615169
615169
  if (maxVersion && latest && gt(latest, maxVersion)) {
615170
615170
  logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
615171
- if (gte("0.1.14", maxVersion)) {
615172
- logForDebugging(`PackageManagerAutoUpdater: current version ${"0.1.14"} is already at or above maxVersion ${maxVersion}, skipping update`);
615171
+ if (gte("0.1.15", maxVersion)) {
615172
+ logForDebugging(`PackageManagerAutoUpdater: current version ${"0.1.15"} is already at or above maxVersion ${maxVersion}, skipping update`);
615173
615173
  setUpdateAvailable(false);
615174
615174
  return;
615175
615175
  }
615176
615176
  latest = maxVersion;
615177
615177
  }
615178
- const hasUpdate = latest && !gte("0.1.14", latest) && !shouldSkipVersion(latest);
615178
+ const hasUpdate = latest && !gte("0.1.15", latest) && !shouldSkipVersion(latest);
615179
615179
  setUpdateAvailable(!!hasUpdate);
615180
615180
  if (hasUpdate) {
615181
- logForDebugging(`PackageManagerAutoUpdater: Update available ${"0.1.14"} -> ${latest}`);
615181
+ logForDebugging(`PackageManagerAutoUpdater: Update available ${"0.1.15"} -> ${latest}`);
615182
615182
  }
615183
615183
  };
615184
615184
  $3[0] = t1;
@@ -615210,7 +615210,7 @@ function PackageManagerAutoUpdater(t0) {
615210
615210
  t4 = verbose && /* @__PURE__ */ React411.createElement(ThemedText, {
615211
615211
  dimColor: true,
615212
615212
  wrap: "truncate"
615213
- }, "currentVersion: ", "0.1.14");
615213
+ }, "currentVersion: ", "0.1.15");
615214
615214
  $3[3] = verbose;
615215
615215
  $3[4] = t4;
615216
615216
  } else {
@@ -622432,7 +622432,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
622432
622432
  project_dir: getOriginalCwd(),
622433
622433
  added_dirs: addedDirs
622434
622434
  },
622435
- version: "0.1.14",
622435
+ version: "0.1.15",
622436
622436
  output_style: {
622437
622437
  name: outputStyleName
622438
622438
  },
@@ -628224,7 +628224,7 @@ async function applySkillImprovement(skillName, updates) {
628224
628224
  return;
628225
628225
  const { join: join145 } = await import("path");
628226
628226
  const fs11 = await import("fs/promises");
628227
- const filePath = join145(getCwd(), ".claude", "skills", skillName, "SKILL.md");
628227
+ const filePath = join145(getCwd(), ".codez", "skills", skillName, "SKILL.md");
628228
628228
  let currentContent;
628229
628229
  try {
628230
628230
  currentContent = await fs11.readFile(filePath, "utf-8");
@@ -639906,7 +639906,7 @@ async function getWatchablePaths() {
639906
639906
  } catch {}
639907
639907
  }
639908
639908
  for (const dir of getAdditionalDirectoriesForClaudeMd()) {
639909
- const additionalSkillsPath = platformPath2.join(dir, ".claude", "skills");
639909
+ const additionalSkillsPath = platformPath2.join(dir, ".codez", "skills");
639910
639910
  try {
639911
639911
  await fs12.stat(additionalSkillsPath);
639912
639912
  paths2.push(additionalSkillsPath);
@@ -642061,7 +642061,7 @@ async function submitTranscriptShare(messages, trigger, appearanceId) {
642061
642061
  } catch {}
642062
642062
  const data = {
642063
642063
  trigger,
642064
- version: "0.1.14",
642064
+ version: "0.1.15",
642065
642065
  platform: process.platform,
642066
642066
  transcript,
642067
642067
  subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
@@ -644184,7 +644184,7 @@ var init_tipRegistry = __esm(() => {
644184
644184
  },
644185
644185
  {
644186
644186
  id: "custom-commands",
644187
- content: async () => "Create skills by adding .md files to .claude/skills/ in your project or ~/.claude/skills/ for skills that work in any project",
644187
+ content: async () => "Create skills by adding .md files to .codez/skills/ in your project or ~/.codez/skills/ for skills that work in any project",
644188
644188
  cooldownSessions: 15,
644189
644189
  async isRelevant() {
644190
644190
  const config5 = getGlobalConfig();
@@ -649591,7 +649591,7 @@ function REPL({
649591
649591
  return;
649592
649592
  worktreeTipShownRef.current = true;
649593
649593
  const secs = Math.round(wt.creationDurationMs / 1000);
649594
- setMessages((prev) => [...prev, createSystemMessage(`Worktree creation took ${secs}s. For large repos, set \`worktree.sparsePaths\` in .claude/settings.json to check out only the directories you need — e.g. \`{"worktree": {"sparsePaths": ["src", "packages/foo"]}}\`.`, "info")]);
649594
+ setMessages((prev) => [...prev, createSystemMessage(`Worktree creation took ${secs}s. For large repos, set \`worktree.sparsePaths\` in .codez/settings.json to check out only the directories you need — e.g. \`{"worktree": {"sparsePaths": ["src", "packages/foo"]}}\`.`, "info")]);
649595
649595
  }, [setMessages]);
649596
649596
  const onlySleepToolActive = import_react432.useMemo(() => {
649597
649597
  const lastAssistant = messages.findLast((m2) => m2.type === "assistant");
@@ -653203,7 +653203,7 @@ function WelcomeV2() {
653203
653203
  color: "claude"
653204
653204
  }, `Welcome to ${getProductName()}`, " "), /* @__PURE__ */ import_react441.default.createElement(ThemedText, {
653205
653205
  dimColor: true
653206
- }, "v", "0.1.14", " "));
653206
+ }, "v", "0.1.15", " "));
653207
653207
  t17 = /* @__PURE__ */ import_react441.default.createElement(ThemedText, null, "…………………………………………………………………………………………………………………………………………………………");
653208
653208
  t22 = /* @__PURE__ */ import_react441.default.createElement(ThemedText, null, " ");
653209
653209
  t32 = /* @__PURE__ */ import_react441.default.createElement(ThemedText, null, " ");
@@ -653307,7 +653307,7 @@ function WelcomeV2() {
653307
653307
  color: "claude"
653308
653308
  }, `Welcome to ${getProductName()}`, " "), /* @__PURE__ */ import_react441.default.createElement(ThemedText, {
653309
653309
  dimColor: true
653310
- }, "v", "0.1.14", " "));
653310
+ }, "v", "0.1.15", " "));
653311
653311
  t1 = /* @__PURE__ */ import_react441.default.createElement(ThemedText, null, "…………………………………………………………………………………………………………………………………………………………");
653312
653312
  t2 = /* @__PURE__ */ import_react441.default.createElement(ThemedText, null, " ");
653313
653313
  t3 = /* @__PURE__ */ import_react441.default.createElement(ThemedText, null, " * █████▓▓░ ");
@@ -653434,7 +653434,7 @@ function AppleTerminalWelcomeV2(t0) {
653434
653434
  if ($3[2] === Symbol.for("react.memo_cache_sentinel")) {
653435
653435
  t22 = /* @__PURE__ */ import_react441.default.createElement(ThemedText, {
653436
653436
  dimColor: true
653437
- }, "v", "0.1.14", " ");
653437
+ }, "v", "0.1.15", " ");
653438
653438
  $3[2] = t22;
653439
653439
  } else {
653440
653440
  t22 = $3[2];
@@ -653572,7 +653572,7 @@ function AppleTerminalWelcomeV2(t0) {
653572
653572
  if ($3[24] === Symbol.for("react.memo_cache_sentinel")) {
653573
653573
  t2 = /* @__PURE__ */ import_react441.default.createElement(ThemedText, {
653574
653574
  dimColor: true
653575
- }, "v", "0.1.14", " ");
653575
+ }, "v", "0.1.15", " ");
653576
653576
  $3[24] = t2;
653577
653577
  } else {
653578
653578
  t2 = $3[24];
@@ -654103,11 +654103,11 @@ function getHooksSources() {
654103
654103
  const sources = [];
654104
654104
  const projectSettings = getSettingsForSource("projectSettings");
654105
654105
  if (hasHooks(projectSettings)) {
654106
- sources.push(".claude/settings.json");
654106
+ sources.push(".codez/settings.json");
654107
654107
  }
654108
654108
  const localSettings = getSettingsForSource("localSettings");
654109
654109
  if (hasHooks(localSettings)) {
654110
- sources.push(".claude/settings.local.json");
654110
+ sources.push(".codez/settings.local.json");
654111
654111
  }
654112
654112
  return sources;
654113
654113
  }
@@ -654118,11 +654118,11 @@ function getBashPermissionSources() {
654118
654118
  const sources = [];
654119
654119
  const projectRules = getPermissionRulesForSource("projectSettings");
654120
654120
  if (hasBashPermission(projectRules)) {
654121
- sources.push(".claude/settings.json");
654121
+ sources.push(".codez/settings.json");
654122
654122
  }
654123
654123
  const localRules = getPermissionRulesForSource("localSettings");
654124
654124
  if (hasBashPermission(localRules)) {
654125
- sources.push(".claude/settings.local.json");
654125
+ sources.push(".codez/settings.local.json");
654126
654126
  }
654127
654127
  return sources;
654128
654128
  }
@@ -654133,11 +654133,11 @@ function getOtelHeadersHelperSources() {
654133
654133
  const sources = [];
654134
654134
  const projectSettings = getSettingsForSource("projectSettings");
654135
654135
  if (hasOtelHeadersHelper(projectSettings)) {
654136
- sources.push(".claude/settings.json");
654136
+ sources.push(".codez/settings.json");
654137
654137
  }
654138
654138
  const localSettings = getSettingsForSource("localSettings");
654139
654139
  if (hasOtelHeadersHelper(localSettings)) {
654140
- sources.push(".claude/settings.local.json");
654140
+ sources.push(".codez/settings.local.json");
654141
654141
  }
654142
654142
  return sources;
654143
654143
  }
@@ -654148,11 +654148,11 @@ function getApiKeyHelperSources() {
654148
654148
  const sources = [];
654149
654149
  const projectSettings = getSettingsForSource("projectSettings");
654150
654150
  if (hasApiKeyHelper(projectSettings)) {
654151
- sources.push(".claude/settings.json");
654151
+ sources.push(".codez/settings.json");
654152
654152
  }
654153
654153
  const localSettings = getSettingsForSource("localSettings");
654154
654154
  if (hasApiKeyHelper(localSettings)) {
654155
- sources.push(".claude/settings.local.json");
654155
+ sources.push(".codez/settings.local.json");
654156
654156
  }
654157
654157
  return sources;
654158
654158
  }
@@ -654163,11 +654163,11 @@ function getAwsCommandsSources() {
654163
654163
  const sources = [];
654164
654164
  const projectSettings = getSettingsForSource("projectSettings");
654165
654165
  if (hasAwsCommands(projectSettings)) {
654166
- sources.push(".claude/settings.json");
654166
+ sources.push(".codez/settings.json");
654167
654167
  }
654168
654168
  const localSettings = getSettingsForSource("localSettings");
654169
654169
  if (hasAwsCommands(localSettings)) {
654170
- sources.push(".claude/settings.local.json");
654170
+ sources.push(".codez/settings.local.json");
654171
654171
  }
654172
654172
  return sources;
654173
654173
  }
@@ -654178,11 +654178,11 @@ function getGcpCommandsSources() {
654178
654178
  const sources = [];
654179
654179
  const projectSettings = getSettingsForSource("projectSettings");
654180
654180
  if (hasGcpCommands(projectSettings)) {
654181
- sources.push(".claude/settings.json");
654181
+ sources.push(".codez/settings.json");
654182
654182
  }
654183
654183
  const localSettings = getSettingsForSource("localSettings");
654184
654184
  if (hasGcpCommands(localSettings)) {
654185
- sources.push(".claude/settings.local.json");
654185
+ sources.push(".codez/settings.local.json");
654186
654186
  }
654187
654187
  return sources;
654188
654188
  }
@@ -654196,11 +654196,11 @@ function getDangerousEnvVarsSources() {
654196
654196
  const sources = [];
654197
654197
  const projectSettings = getSettingsForSource("projectSettings");
654198
654198
  if (hasDangerousEnvVars(projectSettings)) {
654199
- sources.push(".claude/settings.json");
654199
+ sources.push(".codez/settings.json");
654200
654200
  }
654201
654201
  const localSettings = getSettingsForSource("localSettings");
654202
654202
  if (hasDangerousEnvVars(localSettings)) {
654203
- sources.push(".claude/settings.local.json");
654203
+ sources.push(".codez/settings.local.json");
654204
654204
  }
654205
654205
  return sources;
654206
654206
  }
@@ -654774,7 +654774,7 @@ function completeOnboarding() {
654774
654774
  saveGlobalConfig((current) => ({
654775
654775
  ...current,
654776
654776
  hasCompletedOnboarding: true,
654777
- lastOnboardingVersion: "0.1.14"
654777
+ lastOnboardingVersion: "0.1.15"
654778
654778
  }));
654779
654779
  }
654780
654780
  function showDialog(root2, renderer) {
@@ -656790,7 +656790,7 @@ function generateReservedShortcuts() {
656790
656790
  function registerKeybindingsSkill() {
656791
656791
  registerBundledSkill({
656792
656792
  name: "keybindings-help",
656793
- description: 'Use when the user wants to customize keyboard shortcuts, rebind keys, add chord bindings, or modify ~/.claude/keybindings.json. Examples: "rebind ctrl+s", "add a chord shortcut", "change the submit key", "customize keybindings".',
656793
+ description: 'Use when the user wants to customize keyboard shortcuts, rebind keys, add chord bindings, or modify ~/.codez/keybindings.json. Examples: "rebind ctrl+s", "add a chord shortcut", "change the submit key", "customize keybindings".',
656794
656794
  allowedTools: ["Read"],
656795
656795
  userInvocable: false,
656796
656796
  isEnabled: isKeybindingCustomizationEnabled,
@@ -656879,11 +656879,11 @@ var init_keybindings3 = __esm(() => {
656879
656879
  SECTION_INTRO = [
656880
656880
  "# Keybindings Skill",
656881
656881
  "",
656882
- "Create or modify `~/.claude/keybindings.json` to customize keyboard shortcuts.",
656882
+ "Create or modify `~/.codez/keybindings.json` to customize keyboard shortcuts.",
656883
656883
  "",
656884
656884
  "## CRITICAL: Read Before Write",
656885
656885
  "",
656886
- "**Always read `~/.claude/keybindings.json` first** (it may not exist yet). Merge changes with existing bindings — never replace the entire file.",
656886
+ "**Always read `~/.codez/keybindings.json` first** (it may not exist yet). Merge changes with existing bindings — never replace the entire file.",
656887
656887
  "",
656888
656888
  "- Use **Edit** tool for modifications to existing files",
656889
656889
  "- Use **Write** tool only if the file does not exist yet"
@@ -656961,7 +656961,7 @@ var init_keybindings3 = __esm(() => {
656961
656961
  SECTION_DOCTOR = [
656962
656962
  "## Validation with /doctor",
656963
656963
  "",
656964
- 'The `/doctor` command includes a "Keybinding Configuration Issues" section that validates `~/.claude/keybindings.json`.',
656964
+ 'The `/doctor` command includes a "Keybinding Configuration Issues" section that validates `~/.codez/keybindings.json`.',
656965
656965
  "",
656966
656966
  "### Common Issues and Fixes",
656967
656967
  "",
@@ -657007,7 +657007,7 @@ var init_keybindings3 = __esm(() => {
657007
657007
  "",
657008
657008
  "```",
657009
657009
  "Keybinding Configuration Issues",
657010
- "Location: ~/.claude/keybindings.json",
657010
+ "Location: ~/.codez/keybindings.json",
657011
657011
  ' └ [Error] Unknown context "chat"',
657012
657012
  " → Valid contexts: Global, Chat, Autocomplete, ...",
657013
657013
  ' └ [Warning] "ctrl+c" may not work: Terminal interrupt (SIGINT)',
@@ -657525,8 +657525,8 @@ You will use the AskUserQuestion to understand what the user wants to automate.
657525
657525
  - If you think the skill will require arguments, suggest arguments based on what you observed. Make sure you understand what someone would need to provide.
657526
657526
  - If it's not clear, ask if this skill should run inline (in the current conversation) or forked (as a sub-agent with its own context). Forked is better for self-contained tasks that don't need mid-process user input; inline is better when the user wants to steer mid-process.
657527
657527
  - Ask where the skill should be saved. Suggest a default based on context (repo-specific workflows → repo, cross-repo personal workflows → user). Options:
657528
- - **This repo** (\`.claude/skills/<name>/SKILL.md\`) — for workflows specific to this project
657529
- - **Personal** (\`~/.claude/skills/<name>/SKILL.md\`) — follows you across all repos
657528
+ - **This repo** (\`.codez/skills/<name>/SKILL.md\`) — for workflows specific to this project
657529
+ - **Personal** (\`~/.codez/skills/<name>/SKILL.md\`) — follows you across all repos
657530
657530
 
657531
657531
  **Round 3: Breaking down each step**
657532
657532
  For each major step, if it's not glaringly obvious, ask:
@@ -657670,7 +657670,7 @@ Signs of a stuck session:
657670
657670
  - Child processes: \`pgrep -lP <pid>\`
657671
657671
  - If high CPU: sample again after 1-2s to confirm it's sustained
657672
657672
  - If a child looks hung (e.g., a git command), note its full command line with \`ps -p <child_pid> -o command=\`
657673
- - Check the session's debug log if you can infer the session ID: \`~/.claude/debug/<session-id>.txt\` (the last few hundred lines often show what it was doing before hanging)
657673
+ - Check the session's debug log if you can infer the session ID: \`~/.codez/debug/<session-id>.txt\` (the last few hundred lines often show what it was doing before hanging)
657674
657674
 
657675
657675
  3. **Consider a stack dump** for a truly frozen process (advanced, optional):
657676
657676
  - macOS: \`sample <pid> 3\` gives a 3-second native stack sample
@@ -657752,9 +657752,9 @@ Choose the appropriate file based on scope:
657752
657752
 
657753
657753
  | File | Scope | Git | Use For |
657754
657754
  |------|-------|-----|---------|
657755
- | \`~/.claude/settings.json\` | Global | N/A | Personal preferences for all projects |
657756
- | \`.claude/settings.json\` | Project | Commit | Team-wide hooks, permissions, plugins |
657757
- | \`.claude/settings.local.json\` | Project | Gitignore | Personal overrides for this project |
657755
+ | \`~/.codez/settings.json\` | Global | N/A | Personal preferences for all projects |
657756
+ | \`.codez/settings.json\` | Project | Commit | Team-wide hooks, permissions, plugins |
657757
+ | \`.codez/settings.local.json\` | Project | Gitignore | Personal overrides for this project |
657758
657758
 
657759
657759
  Settings load in order: user → project → local (later overrides earlier).
657760
657760
 
@@ -657764,7 +657764,7 @@ Settings load in order: user → project → local (later overrides earlier).
657764
657764
  \`\`\`json
657765
657765
  {
657766
657766
  "permissions": {
657767
- "allow": ["Bash(npm:*)", "Edit(.claude)", "Read"],
657767
+ "allow": ["Bash(npm:*)", "Edit(.codez)", "Read"],
657768
657768
  "deny": ["Bash(rm -rf:*)"],
657769
657769
  "ask": ["Write(/etc/*)"],
657770
657770
  "defaultMode": "default" | "plan" | "acceptEdits" | "dontAsk",
@@ -657963,7 +657963,7 @@ Hooks can return JSON to control behavior:
657963
657963
  "matcher": "Bash",
657964
657964
  "hooks": [{
657965
657965
  "type": "command",
657966
- "command": "jq -r '.tool_input.command' >> ~/.claude/bash-log.txt"
657966
+ "command": "jq -r '.tool_input.command' >> ~/.codez/bash-log.txt"
657967
657967
  }]
657968
657968
  }]
657969
657969
  }
@@ -658011,7 +658011,7 @@ Given an event, matcher, target file, and desired behavior, follow this flow. Ea
658011
658011
 
658012
658012
  Check exit code AND side effect (file actually formatted, test actually ran). If it fails you get a real error — fix (wrong package manager? tool not installed? jq path wrong?) and retest. Once it works, wrap with \`2>/dev/null || true\` (unless the user wants a blocking check).
658013
658013
 
658014
- 4. **Write the JSON.** Merge into the target file (schema shape in the "Hook Structure" section above). If this creates \`.claude/settings.local.json\` for the first time, add it to .gitignore — the Write tool doesn't auto-gitignore it.
658014
+ 4. **Write the JSON.** Merge into the target file (schema shape in the "Hook Structure" section above). If this creates \`.codez/settings.local.json\` for the first time, add it to .gitignore — the Write tool doesn't auto-gitignore it.
658015
658015
 
658016
658016
  5. **Validate syntax + schema in one shot:**
658017
658017
 
@@ -658025,7 +658025,7 @@ Given an event, matcher, target file, and desired behavior, follow this flow. Ea
658025
658025
 
658026
658026
  **Always clean up** — revert the violation, strip the sentinel prefix — whether the proof passed or failed.
658027
658027
 
658028
- **If proof fails but pipe-test passed and \`jq -e\` passed**: the settings watcher isn't watching \`.claude/\` — it only watches directories that had a settings file when this session started. The hook is written correctly. Tell the user to open \`/hooks\` once (reloads config) or restart — you can't do this yourself; \`/hooks\` is a user UI menu and opening it ends this turn.
658028
+ **If proof fails but pipe-test passed and \`jq -e\` passed**: the settings watcher isn't watching \`.codez/\` — it only watches directories that had a settings file when this session started. The hook is written correctly. Tell the user to open \`/hooks\` once (reloads config) or restart — you can't do this yourself; \`/hooks\` is a user UI menu and opening it ends this turn.
658029
658029
 
658030
658030
  7. **Handoff.** Tell the user the hook is live (or needs \`/hooks\`/restart per the watcher caveat). Point them at \`/hooks\` to review, edit, or disable it later. The UI only shows "Ran N hooks" if a hook errors or is slow — silent success is invisible by design.
658031
658031
  `, UPDATE_CONFIG_PROMPT;
@@ -658098,7 +658098,7 @@ When adding to permission arrays or hook arrays, **merge with existing**, don't
658098
658098
  "permissions": {
658099
658099
  "allow": [
658100
658100
  "Bash(git:*)", // existing
658101
- "Edit(.claude)", // existing
658101
+ "Edit(.codez)", // existing
658102
658102
  "Bash(npm:*)" // new
658103
658103
  ]
658104
658104
  }
@@ -658118,7 +658118,7 @@ ${HOOK_VERIFICATION_FLOW}
658118
658118
  User: "Format my code after Claude writes it"
658119
658119
 
658120
658120
  1. **Clarify**: Which formatter? (prettier, gofmt, etc.)
658121
- 2. **Read**: \`.claude/settings.json\` (or create if missing)
658121
+ 2. **Read**: \`.codez/settings.json\` (or create if missing)
658122
658122
  3. **Merge**: Add to existing hooks, don't replace
658123
658123
  4. **Result**:
658124
658124
  \`\`\`json
@@ -658164,7 +658164,7 @@ User: "Set DEBUG=true"
658164
658164
  ## Troubleshooting Hooks
658165
658165
 
658166
658166
  If a hook isn't running:
658167
- 1. **Check the settings file** - Read ~/.claude/settings.json or .claude/settings.json
658167
+ 1. **Check the settings file** - Read ~/.codez/settings.json or .codez/settings.json
658168
658168
  2. **Verify JSON syntax** - Invalid JSON silently fails
658169
658169
  3. **Check the matcher** - Does it match the tool name? (e.g., "Bash", "Write", "Edit")
658170
658170
  4. **Check hook type** - Is it "command", "prompt", or "agent"?
@@ -659052,7 +659052,7 @@ function appendToLog(path24, message) {
659052
659052
  cwd: getFsImplementation().cwd(),
659053
659053
  userType: process.env.USER_TYPE,
659054
659054
  sessionId: getSessionId(),
659055
- version: "0.1.14"
659055
+ version: "0.1.15"
659056
659056
  };
659057
659057
  getLogWriter(path24).write(messageWithTimestamp);
659058
659058
  }
@@ -663037,8 +663037,8 @@ async function getEnvLessBridgeConfig() {
663037
663037
  }
663038
663038
  async function checkEnvLessBridgeMinVersion() {
663039
663039
  const cfg = await getEnvLessBridgeConfig();
663040
- if (cfg.min_version && lt("0.1.14", cfg.min_version)) {
663041
- return `Your version of codez (${"0.1.14"}) is too old for Remote Control.
663040
+ if (cfg.min_version && lt("0.1.15", cfg.min_version)) {
663041
+ return `Your version of codez (${"0.1.15"}) is too old for Remote Control.
663042
663042
  Version ${cfg.min_version} or higher is required. Run \`claude update\` to update.`;
663043
663043
  }
663044
663044
  return null;
@@ -663512,7 +663512,7 @@ async function initBridgeCore(params) {
663512
663512
  const rawApi = createBridgeApiClient({
663513
663513
  baseUrl,
663514
663514
  getAccessToken,
663515
- runnerVersion: "0.1.14",
663515
+ runnerVersion: "0.1.15",
663516
663516
  onDebug: logForDebugging,
663517
663517
  onAuth401,
663518
663518
  getTrustedDeviceToken
@@ -668711,7 +668711,7 @@ async function startMCPServer(cwd3, debug4, verbose) {
668711
668711
  setCwd(cwd3);
668712
668712
  const server = new Server({
668713
668713
  name: "claude/tengu",
668714
- version: "0.1.14"
668714
+ version: "0.1.15"
668715
668715
  }, {
668716
668716
  capabilities: {
668717
668717
  tools: {}
@@ -670212,7 +670212,7 @@ __export(exports_update, {
670212
670212
  });
670213
670213
  async function update() {
670214
670214
  logEvent("tengu_update_check", {});
670215
- writeToStdout(`Current version: ${"0.1.14"}
670215
+ writeToStdout(`Current version: ${"0.1.15"}
670216
670216
  `);
670217
670217
  const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
670218
670218
  writeToStdout(`Checking for updates to ${channel} version...
@@ -670287,8 +670287,8 @@ async function update() {
670287
670287
  writeToStdout(`Claude is managed by Homebrew.
670288
670288
  `);
670289
670289
  const latest = await getLatestVersion(channel);
670290
- if (latest && !gte("0.1.14", latest)) {
670291
- writeToStdout(`Update available: ${"0.1.14"} → ${latest}
670290
+ if (latest && !gte("0.1.15", latest)) {
670291
+ writeToStdout(`Update available: ${"0.1.15"} → ${latest}
670292
670292
  `);
670293
670293
  writeToStdout(`
670294
670294
  `);
@@ -670304,8 +670304,8 @@ async function update() {
670304
670304
  writeToStdout(`Claude is managed by winget.
670305
670305
  `);
670306
670306
  const latest = await getLatestVersion(channel);
670307
- if (latest && !gte("0.1.14", latest)) {
670308
- writeToStdout(`Update available: ${"0.1.14"} → ${latest}
670307
+ if (latest && !gte("0.1.15", latest)) {
670308
+ writeToStdout(`Update available: ${"0.1.15"} → ${latest}
670309
670309
  `);
670310
670310
  writeToStdout(`
670311
670311
  `);
@@ -670321,8 +670321,8 @@ async function update() {
670321
670321
  writeToStdout(`Claude is managed by apk.
670322
670322
  `);
670323
670323
  const latest = await getLatestVersion(channel);
670324
- if (latest && !gte("0.1.14", latest)) {
670325
- writeToStdout(`Update available: ${"0.1.14"} → ${latest}
670324
+ if (latest && !gte("0.1.15", latest)) {
670325
+ writeToStdout(`Update available: ${"0.1.15"} → ${latest}
670326
670326
  `);
670327
670327
  writeToStdout(`
670328
670328
  `);
@@ -670387,11 +670387,11 @@ async function update() {
670387
670387
  `);
670388
670388
  await gracefulShutdown(1);
670389
670389
  }
670390
- if (result.latestVersion === "0.1.14") {
670391
- writeToStdout(source_default.green(`codez is up to date (${"0.1.14"})`) + `
670390
+ if (result.latestVersion === "0.1.15") {
670391
+ writeToStdout(source_default.green(`codez is up to date (${"0.1.15"})`) + `
670392
670392
  `);
670393
670393
  } else {
670394
- writeToStdout(source_default.green(`Successfully updated from ${"0.1.14"} to version ${result.latestVersion}`) + `
670394
+ writeToStdout(source_default.green(`Successfully updated from ${"0.1.15"} to version ${result.latestVersion}`) + `
670395
670395
  `);
670396
670396
  await regenerateCompletionCache();
670397
670397
  }
@@ -670451,12 +670451,12 @@ async function update() {
670451
670451
  `);
670452
670452
  await gracefulShutdown(1);
670453
670453
  }
670454
- if (latestVersion === "0.1.14") {
670455
- writeToStdout(source_default.green(`codez is up to date (${"0.1.14"})`) + `
670454
+ if (latestVersion === "0.1.15") {
670455
+ writeToStdout(source_default.green(`codez is up to date (${"0.1.15"})`) + `
670456
670456
  `);
670457
670457
  await gracefulShutdown(0);
670458
670458
  }
670459
- writeToStdout(`New version available: ${latestVersion} (current: ${"0.1.14"})
670459
+ writeToStdout(`New version available: ${latestVersion} (current: ${"0.1.15"})
670460
670460
  `);
670461
670461
  writeToStdout(`Installing update...
670462
670462
  `);
@@ -670501,7 +670501,7 @@ async function update() {
670501
670501
  logForDebugging(`update: Installation status: ${status2}`);
670502
670502
  switch (status2) {
670503
670503
  case "success":
670504
- writeToStdout(source_default.green(`Successfully updated from ${"0.1.14"} to version ${latestVersion}`) + `
670504
+ writeToStdout(source_default.green(`Successfully updated from ${"0.1.15"} to version ${latestVersion}`) + `
670505
670505
  `);
670506
670506
  await regenerateCompletionCache();
670507
670507
  break;
@@ -670511,7 +670511,7 @@ async function update() {
670511
670511
  if (useLocalUpdate) {
670512
670512
  process.stderr.write(`Try manually updating with:
670513
670513
  `);
670514
- process.stderr.write(` cd ~/.claude/local && npm update ${"codez-cli"}
670514
+ process.stderr.write(` cd ~/.codez/local && npm update ${"codez-cli"}
670515
670515
  `);
670516
670516
  } else {
670517
670517
  process.stderr.write(`Try running with sudo or fix npm permissions
@@ -670527,7 +670527,7 @@ async function update() {
670527
670527
  if (useLocalUpdate) {
670528
670528
  process.stderr.write(`Try manually updating with:
670529
670529
  `);
670530
- process.stderr.write(` cd ~/.claude/local && npm update ${"codez-cli"}
670530
+ process.stderr.write(` cd ~/.codez/local && npm update ${"codez-cli"}
670531
670531
  `);
670532
670532
  } else {
670533
670533
  process.stderr.write(`Or consider using native installation with: codez install
@@ -671745,7 +671745,7 @@ ${customInstructions}` : customInstructions;
671745
671745
  }
671746
671746
  }
671747
671747
  logForDiagnosticsNoPII("info", "started", {
671748
- version: "0.1.14",
671748
+ version: "0.1.15",
671749
671749
  is_native_binary: isInBundledMode()
671750
671750
  });
671751
671751
  registerCleanup(async () => {
@@ -672529,7 +672529,7 @@ Usage: codez --remote "your task description"`, () => gracefulShutdown(1));
672529
672529
  pendingHookMessages
672530
672530
  }, renderAndRun);
672531
672531
  }
672532
- }).version("0.1.14", "-v, --version", "Output the version number");
672532
+ }).version("0.1.15", "-v, --version", "Output the version number");
672533
672533
  program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
672534
672534
  program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
672535
672535
  if (canUserConfigureAdvisor()) {
@@ -672694,7 +672694,7 @@ Usage: codez --remote "your task description"`, () => gracefulShutdown(1));
672694
672694
  } = await Promise.resolve().then(() => (init_plugins(), exports_plugins));
672695
672695
  await pluginInstallHandler2(plugin2, options);
672696
672696
  });
672697
- pluginCmd.command("uninstall <plugin>").alias("remove").alias("rm").description("Uninstall an installed plugin").option("-s, --scope <scope>", "Uninstall from scope: user, project, or local", "user").option("--keep-data", "Preserve the plugin's persistent data directory (~/.claude/plugins/data/{id}/)").addOption(coworkOption()).action(async (plugin2, options) => {
672697
+ pluginCmd.command("uninstall <plugin>").alias("remove").alias("rm").description("Uninstall an installed plugin").option("-s, --scope <scope>", "Uninstall from scope: user, project, or local", "user").option("--keep-data", "Preserve the plugin's persistent data directory (~/.codez/plugins/data/{id}/)").addOption(coworkOption()).action(async (plugin2, options) => {
672698
672698
  const {
672699
672699
  pluginUninstallHandler: pluginUninstallHandler2
672700
672700
  } = await Promise.resolve().then(() => (init_plugins(), exports_plugins));
@@ -673042,7 +673042,7 @@ async function main2() {
673042
673042
  const args = process.argv.slice(2);
673043
673043
  if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
673044
673044
  const label = process.env.CLAUDE_CODE_USE_OPENAI === "1" ? "codez (OpenAI)" : "codez";
673045
- console.log(`${"0.1.14"} (${label})`);
673045
+ console.log(`${"0.1.15"} (${label})`);
673046
673046
  return;
673047
673047
  }
673048
673048
  const {
@@ -673126,4 +673126,4 @@ async function main2() {
673126
673126
  }
673127
673127
  main2();
673128
673128
 
673129
- //# debugId=C5931A4D94A40B5064756E2164756E21
673129
+ //# debugId=4B6B21C0CDC0E81D64756E2164756E21