@ainative/cody-cli 0.2.5 → 0.2.7

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 +236 -243
  2. package/package.json +1 -1
package/dist/cli.js CHANGED
@@ -1,11 +1,4 @@
1
1
  // @bun
2
- // useEffectEvent polyfill for Bun 1.3.x
3
- var __useEffectEvent = function(fn) {
4
- var React = require("react");
5
- var ref = React.useRef(fn);
6
- React.useLayoutEffect(function(){ ref.current = fn; });
7
- return React.useCallback(function(){ return ref.current.apply(void 0, arguments); }, []);
8
- };
9
2
  var __create = Object.create;
10
3
  var __getProtoOf = Object.getPrototypeOf;
11
4
  var __defProp = Object.defineProperty;
@@ -50174,7 +50167,7 @@ var init_windowsPaths = __esm(() => {
50174
50167
  if (checkPathExists(process.env.CLAUDE_CODE_GIT_BASH_PATH)) {
50175
50168
  return process.env.CLAUDE_CODE_GIT_BASH_PATH;
50176
50169
  }
50177
- console.error(`Claude Code was unable to find CLAUDE_CODE_GIT_BASH_PATH path "${process.env.CLAUDE_CODE_GIT_BASH_PATH}"`);
50170
+ console.error(`Cody was unable to find CLAUDE_CODE_GIT_BASH_PATH path "${process.env.CLAUDE_CODE_GIT_BASH_PATH}"`);
50178
50171
  process.exit(1);
50179
50172
  }
50180
50173
  const gitPath = findExecutable("git");
@@ -50184,7 +50177,7 @@ var init_windowsPaths = __esm(() => {
50184
50177
  return bashPath;
50185
50178
  }
50186
50179
  }
50187
- console.error("Claude Code on Windows requires git-bash (https://git-scm.com/downloads/win). If installed but not in PATH, set environment variable pointing to your bash.exe, similar to: CLAUDE_CODE_GIT_BASH_PATH=C:\\Program Files\\Git\\bin\\bash.exe");
50180
+ console.error("Cody on Windows requires git-bash (https://git-scm.com/downloads/win). If installed but not in PATH, set environment variable pointing to your bash.exe, similar to: CLAUDE_CODE_GIT_BASH_PATH=C:\\Program Files\\Git\\bin\\bash.exe");
50188
50181
  process.exit(1);
50189
50182
  });
50190
50183
  windowsPathToPosixPath = memoizeWithLRU((windowsPath) => {
@@ -52364,7 +52357,7 @@ var GIT_ROOT_NOT_FOUND, findGitRootImpl, findGitRoot, resolveCanonicalRoot, find
52364
52357
  return getWorktreeCountFromFs();
52365
52358
  }, stashToCleanState = async (message) => {
52366
52359
  try {
52367
- const stashMessage = message || `Claude Code auto-stash - ${new Date().toISOString()}`;
52360
+ const stashMessage = message || `Cody auto-stash - ${new Date().toISOString()}`;
52368
52361
  const { untracked } = await getFileStatus();
52369
52362
  if (untracked.length > 0) {
52370
52363
  const { code: addCode } = await execFileNoThrow(gitExe(), ["add", ...untracked], { preserveOutputOnError: false });
@@ -55245,7 +55238,7 @@ var init_coreSchemas = __esm(() => {
55245
55238
  subscriptionType: exports_external.string().optional(),
55246
55239
  tokenSource: exports_external.string().optional(),
55247
55240
  apiKeySource: exports_external.string().optional(),
55248
- apiProvider: exports_external.enum(["firstParty", "bedrock", "vertex", "foundry"]).optional().describe('Active API backend. Anthropic OAuth login only applies when "firstParty"; for 3P providers the other fields are absent and auth is external (AWS creds, gcloud ADC, etc.).')
55241
+ apiProvider: exports_external.enum(["firstParty", "bedrock", "vertex", "foundry"]).optional().describe('Active API backend. AINative OAuth login only applies when "firstParty"; for 3P providers the other fields are absent and auth is external (AWS creds, gcloud ADC, etc.).')
55249
55242
  }).describe("Information about the logged in user's account."));
55250
55243
  AgentMcpServerSpecSchema = lazySchema(() => exports_external.union([
55251
55244
  exports_external.string(),
@@ -55895,7 +55888,7 @@ function validateOfficialNameSource(name, source) {
55895
55888
  if (source.source === "github") {
55896
55889
  const repo = source.repo || "";
55897
55890
  if (!repo.toLowerCase().startsWith(`${OFFICIAL_GITHUB_ORG}/`)) {
55898
- return `The name '${name}' is reserved for official Anthropic marketplaces. Only repositories from 'github.com/${OFFICIAL_GITHUB_ORG}/' can use this name.`;
55891
+ return `The name '${name}' is reserved for official AINative marketplaces. Only repositories from 'github.com/${OFFICIAL_GITHUB_ORG}/' can use this name.`;
55899
55892
  }
55900
55893
  return null;
55901
55894
  }
@@ -55906,9 +55899,9 @@ function validateOfficialNameSource(name, source) {
55906
55899
  if (isHttpsAnthropics || isSshAnthropics) {
55907
55900
  return null;
55908
55901
  }
55909
- return `The name '${name}' is reserved for official Anthropic marketplaces. Only repositories from 'github.com/${OFFICIAL_GITHUB_ORG}/' can use this name.`;
55902
+ return `The name '${name}' is reserved for official AINative marketplaces. Only repositories from 'github.com/${OFFICIAL_GITHUB_ORG}/' can use this name.`;
55910
55903
  }
55911
- return `The name '${name}' is reserved for official Anthropic marketplaces and can only be used with GitHub sources from the '${OFFICIAL_GITHUB_ORG}' organization.`;
55904
+ return `The name '${name}' is reserved for official AINative marketplaces and can only be used with GitHub sources from the '${OFFICIAL_GITHUB_ORG}' organization.`;
55912
55905
  }
55913
55906
  function isLocalPluginSource(source) {
55914
55907
  return typeof source === "string" && source.startsWith("./");
@@ -56815,7 +56808,7 @@ var init_types3 = __esm(() => {
56815
56808
  allow: exports_external.array(PermissionRuleSchema()).optional().describe("List of permission rules for allowed operations"),
56816
56809
  deny: exports_external.array(PermissionRuleSchema()).optional().describe("List of permission rules for denied operations"),
56817
56810
  ask: exports_external.array(PermissionRuleSchema()).optional().describe("List of permission rules that should always prompt for confirmation"),
56818
- defaultMode: exports_external.enum(EXTERNAL_PERMISSION_MODES).optional().describe("Default permission mode when Claude Code needs access"),
56811
+ defaultMode: exports_external.enum(EXTERNAL_PERMISSION_MODES).optional().describe("Default permission mode when Cody needs access"),
56819
56812
  disableBypassPermissionsMode: exports_external.enum(["disable"]).optional().describe("Disable the ability to bypass permission prompts"),
56820
56813
  ...{},
56821
56814
  additionalDirectories: exports_external.array(exports_external.string()).optional().describe("Additional directories to include in the permission scope")
@@ -56860,7 +56853,7 @@ var init_types3 = __esm(() => {
56860
56853
  "mcp"
56861
56854
  ];
56862
56855
  SettingsSchema = lazySchema(() => exports_external.object({
56863
- $schema: exports_external.literal(CLAUDE_CODE_SETTINGS_SCHEMA_URL).optional().describe("JSON Schema reference for Claude Code settings"),
56856
+ $schema: exports_external.literal(CLAUDE_CODE_SETTINGS_SCHEMA_URL).optional().describe("JSON Schema reference for Cody settings"),
56864
56857
  apiKeyHelper: exports_external.string().optional().describe("Path to a script that outputs authentication values"),
56865
56858
  awsCredentialExport: exports_external.string().optional().describe("Path to a script that exports AWS credentials"),
56866
56859
  awsAuthRefresh: exports_external.string().optional().describe("Path to a script that refreshes AWS authentication"),
@@ -56868,7 +56861,7 @@ var init_types3 = __esm(() => {
56868
56861
  ...isEnvTruthy(process.env.CLAUDE_CODE_ENABLE_XAA) ? {
56869
56862
  xaaIdp: exports_external.object({
56870
56863
  issuer: exports_external.string().url().describe("IdP issuer URL for OIDC discovery"),
56871
- clientId: exports_external.string().describe("Claude Code's client_id registered at the IdP"),
56864
+ clientId: exports_external.string().describe("Cody's client_id registered at the IdP"),
56872
56865
  callbackPort: exports_external.number().int().positive().optional().describe("Fixed loopback callback port for the IdP OIDC login. " + "Only needed if the IdP does not honor RFC 8252 port-any matching.")
56873
56866
  }).optional().describe("XAA (SEP-990) IdP connection. Configure once; all XAA-enabled MCP servers reuse this.")
56874
56867
  } : {},
@@ -56878,15 +56871,15 @@ var init_types3 = __esm(() => {
56878
56871
  }).optional().describe("Custom file suggestion configuration for @ mentions"),
56879
56872
  respectGitignore: exports_external.boolean().optional().describe("Whether file picker should respect .gitignore files (default: true). " + "Note: .ignore files are always respected."),
56880
56873
  cleanupPeriodDays: exports_external.number().nonnegative().int().optional().describe("Number of days to retain chat transcripts (default: 30). Setting to 0 disables session persistence entirely: no transcripts are written and existing transcripts are deleted at startup."),
56881
- env: EnvironmentVariablesSchema().optional().describe("Environment variables to set for Claude Code sessions"),
56874
+ env: EnvironmentVariablesSchema().optional().describe("Environment variables to set for Cody sessions"),
56882
56875
  attribution: exports_external.object({
56883
56876
  commit: exports_external.string().optional().describe("Attribution text for git commits, including any trailers. " + "Empty string hides attribution."),
56884
56877
  pr: exports_external.string().optional().describe("Attribution text for pull request descriptions. " + "Empty string hides attribution.")
56885
- }).optional().describe("Customize attribution text for commits and PRs. " + "Each field defaults to the standard Claude Code attribution if not set."),
56878
+ }).optional().describe("Customize attribution text for commits and PRs. " + "Each field defaults to the standard Cody attribution if not set."),
56886
56879
  includeCoAuthoredBy: exports_external.boolean().optional().describe("Deprecated: Use attribution instead. " + "Whether to include Claude's co-authored by attribution in commits and PRs (defaults to true)"),
56887
56880
  includeGitInstructions: exports_external.boolean().optional().describe("Include built-in commit and PR workflow instructions in Claude's system prompt (default: true)"),
56888
56881
  permissions: PermissionsSchema().optional().describe("Tool usage permissions configuration"),
56889
- model: exports_external.string().optional().describe("Override the default model used by Claude Code"),
56882
+ model: exports_external.string().optional().describe("Override the default model used by Cody"),
56890
56883
  availableModels: exports_external.array(exports_external.string()).optional().describe("Allowlist of models that users can select. " + 'Accepts family aliases ("opus" allows any opus version), ' + 'version prefixes ("opus-4-5" allows only that version), ' + "and full model IDs. " + "If undefined, all models are available. If empty array, only the default model is available. " + "Typically set in managed settings by enterprise administrators."),
56891
56884
  modelOverrides: exports_external.record(exports_external.string(), exports_external.string()).optional().describe('Override mapping from Anthropic model ID (e.g. "claude-opus-4-6") to provider-specific ' + "model ID (e.g. a Bedrock inference profile ARN). Typically set in managed settings by " + "enterprise administrators."),
56892
56885
  enableAllProjectMcpServers: exports_external.boolean().optional().describe("Whether to automatically approve all MCP servers in the project"),
@@ -56984,7 +56977,7 @@ var init_types3 = __esm(() => {
56984
56977
  allowedChannelPlugins: exports_external.array(exports_external.object({
56985
56978
  marketplace: exports_external.string(),
56986
56979
  plugin: exports_external.string()
56987
- })).optional().describe("Teams/Enterprise allowlist of channel plugins. When set, " + "replaces the default Anthropic allowlist \u2014 admins decide which " + "plugins may push inbound messages. Undefined falls back to the default. " + "Requires channelsEnabled: true."),
56980
+ })).optional().describe("Teams/Enterprise allowlist of channel plugins. When set, " + "replaces the default AINative allowlist \u2014 admins decide which " + "plugins may push inbound messages. Undefined falls back to the default. " + "Requires channelsEnabled: true."),
56988
56981
  ...{},
56989
56982
  prefersReducedMotion: exports_external.boolean().optional().describe("Reduce or disable animations for accessibility (spinner shimmer, flash effects, etc.)"),
56990
56983
  autoMemoryEnabled: exports_external.boolean().optional().describe("Enable auto-memory for this project. When false, Claude will not read from or write to the auto-memory directory."),
@@ -103318,7 +103311,7 @@ function getMacOsKeychainStorageServiceName(serviceSuffix = "") {
103318
103311
  const configDir = getClaudeConfigHomeDir();
103319
103312
  const isDefaultDir = !process.env.CLAUDE_CONFIG_DIR;
103320
103313
  const dirHash = isDefaultDir ? "" : `-${createHash3("sha256").update(configDir).digest("hex").substring(0, 8)}`;
103321
- return `Claude Code${getOauthConfig().OAUTH_FILE_SUFFIX}${serviceSuffix}${dirHash}`;
103314
+ return `Cody${getOauthConfig().OAUTH_FILE_SUFFIX}${serviceSuffix}${dirHash}`;
103322
103315
  }
103323
103316
  function getUsername() {
103324
103317
  try {
@@ -199688,7 +199681,7 @@ var init_prompt5 = __esm(() => {
199688
199681
  // src/tools/AgentTool/built-in/claudeCodeGuideAgent.ts
199689
199682
  function getClaudeCodeGuideBasePrompt() {
199690
199683
  const localSearchHint = hasEmbeddedSearchTools() ? `${FILE_READ_TOOL_NAME}, \`find\`, and \`grep\`` : `${FILE_READ_TOOL_NAME}, ${GLOB_TOOL_NAME}, and ${GREP_TOOL_NAME}`;
199691
- return `You are the Claude guide agent. Your primary responsibility is helping users understand and use Cody CLI, the Claude Agent SDK, and the Claude API (formerly the Anthropic API) effectively.
199684
+ return `You are the Claude guide agent. Your primary responsibility is helping users understand and use Cody CLI, the Claude Agent SDK, and the Claude API (formerly the AINative API) effectively.
199692
199685
 
199693
199686
  **Your expertise spans three domains:**
199694
199687
 
@@ -199696,7 +199689,7 @@ function getClaudeCodeGuideBasePrompt() {
199696
199689
 
199697
199690
  2. **Claude Agent SDK**: A framework for building custom AI agents based on Cody CLI technology. Available for Node.js/TypeScript and Python.
199698
199691
 
199699
- 3. **Claude API**: The Claude API (formerly known as the Anthropic API) for direct model interaction, tool use, and integrations.
199692
+ 3. **Claude API**: The Claude API (formerly known as the AINative API) for direct model interaction, tool use, and integrations.
199700
199693
 
199701
199694
  **Documentation sources:**
199702
199695
 
@@ -199720,7 +199713,7 @@ function getClaudeCodeGuideBasePrompt() {
199720
199713
  - Cost tracking and context management
199721
199714
  Note: Agent SDK docs are part of the Claude API documentation at the same URL.
199722
199715
 
199723
- - **Claude API docs** (${CDP_DOCS_MAP_URL}): Fetch this for questions about the Claude API (formerly the Anthropic API), including:
199716
+ - **Claude API docs** (${CDP_DOCS_MAP_URL}): Fetch this for questions about the Claude API (formerly the AINative API), including:
199724
199717
  - Messages API and streaming
199725
199718
  - Tool use (function calling) and Anthropic-defined tools (computer use, code execution, web search, text editor, bash, programmatic tool calling, tool search tool, context editing, Files API, structured outputs)
199726
199719
  - Vision, PDF support, and citations
@@ -216410,7 +216403,7 @@ function getWarningUpsellText(rateLimitType) {
216410
216403
  return null;
216411
216404
  }
216412
216405
  if (subscriptionType === "pro" || subscriptionType === "max") {
216413
- return "/upgrade to keep using Claude Code";
216406
+ return "/upgrade to keep using Cody";
216414
216407
  }
216415
216408
  }
216416
216409
  if (rateLimitType === "overage") {
@@ -217004,7 +216997,7 @@ function logSuggestionSuppressed(reason, suggestion, promptId, source) {
217004
216997
  ...false
217005
216998
  });
217006
216999
  }
217007
- var currentAbortController = null, MAX_PARENT_UNCACHED_TOKENS = 1e4, SUGGESTION_PROMPT = `[SUGGESTION MODE: Suggest what the user might naturally type next into Claude Code.]
217000
+ var currentAbortController = null, MAX_PARENT_UNCACHED_TOKENS = 1e4, SUGGESTION_PROMPT = `[SUGGESTION MODE: Suggest what the user might naturally type next into Cody.]
217008
217001
 
217009
217002
  FIRST: Look at the user's recent messages and original request.
217010
217003
 
@@ -220208,7 +220201,7 @@ function validateCommandPaths(command12, args, cwd2, toolPermissionContext, comp
220208
220201
  if (validator && !validator(args)) {
220209
220202
  return {
220210
220203
  behavior: "ask",
220211
- message: `${command12} with flags requires manual approval to ensure path safety. For security, Claude Code cannot automatically validate ${command12} commands that use flags, as some flags like --target-directory=PATH can bypass path validation.`,
220204
+ message: `${command12} with flags requires manual approval to ensure path safety. For security, Cody cannot automatically validate ${command12} commands that use flags, as some flags like --target-directory=PATH can bypass path validation.`,
220212
220205
  decisionReason: {
220213
220206
  type: "other",
220214
220207
  reason: `${command12} command with flags requires manual approval`
@@ -220218,7 +220211,7 @@ function validateCommandPaths(command12, args, cwd2, toolPermissionContext, comp
220218
220211
  if (compoundCommandHasCd && operationType !== "read") {
220219
220212
  return {
220220
220213
  behavior: "ask",
220221
- message: `Commands that change directories and perform write operations require explicit approval to ensure paths are evaluated correctly. For security, Claude Code cannot automatically determine the final working directory when 'cd' is used in compound commands.`,
220214
+ message: `Commands that change directories and perform write operations require explicit approval to ensure paths are evaluated correctly. For security, Cody cannot automatically determine the final working directory when 'cd' is used in compound commands.`,
220222
220215
  decisionReason: {
220223
220216
  type: "other",
220224
220217
  reason: "Compound command contains cd with write operation - manual approval required to prevent path resolution bypass"
@@ -220230,7 +220223,7 @@ function validateCommandPaths(command12, args, cwd2, toolPermissionContext, comp
220230
220223
  if (!allowed) {
220231
220224
  const workingDirs = Array.from(allWorkingDirectories(toolPermissionContext));
220232
220225
  const dirListStr = formatDirectoryList(workingDirs);
220233
- const message = decisionReason?.type === "other" || decisionReason?.type === "safetyCheck" ? decisionReason.reason : `${command12} in '${resolvedPath5}' was blocked. For security, Claude Code may only ${ACTION_VERBS[command12]} the allowed working directories for this session: ${dirListStr}.`;
220226
+ const message = decisionReason?.type === "other" || decisionReason?.type === "safetyCheck" ? decisionReason.reason : `${command12} in '${resolvedPath5}' was blocked. For security, Cody may only ${ACTION_VERBS[command12]} the allowed working directories for this session: ${dirListStr}.`;
220234
220227
  if (decisionReason?.type === "rule") {
220235
220228
  return {
220236
220229
  behavior: "deny",
@@ -220355,7 +220348,7 @@ function validateOutputRedirections(redirections, cwd2, toolPermissionContext, c
220355
220348
  if (compoundCommandHasCd && redirections.length > 0) {
220356
220349
  return {
220357
220350
  behavior: "ask",
220358
- message: `Commands that change directories and write via output redirection require explicit approval to ensure paths are evaluated correctly. For security, Claude Code cannot automatically determine the final working directory when 'cd' is used in compound commands.`,
220351
+ message: `Commands that change directories and write via output redirection require explicit approval to ensure paths are evaluated correctly. For security, Cody cannot automatically determine the final working directory when 'cd' is used in compound commands.`,
220359
220352
  decisionReason: {
220360
220353
  type: "other",
220361
220354
  reason: "Compound command contains cd with output redirection - manual approval required to prevent path resolution bypass"
@@ -220370,7 +220363,7 @@ function validateOutputRedirections(redirections, cwd2, toolPermissionContext, c
220370
220363
  if (!allowed) {
220371
220364
  const workingDirs = Array.from(allWorkingDirectories(toolPermissionContext));
220372
220365
  const dirListStr = formatDirectoryList(workingDirs);
220373
- const message = decisionReason?.type === "other" || decisionReason?.type === "safetyCheck" ? decisionReason.reason : decisionReason?.type === "rule" ? `Output redirection to '${resolvedPath5}' was blocked by a deny rule.` : `Output redirection to '${resolvedPath5}' was blocked. For security, Claude Code may only write to files in the allowed working directories for this session: ${dirListStr}.`;
220366
+ const message = decisionReason?.type === "other" || decisionReason?.type === "safetyCheck" ? decisionReason.reason : decisionReason?.type === "rule" ? `Output redirection to '${resolvedPath5}' was blocked by a deny rule.` : `Output redirection to '${resolvedPath5}' was blocked. For security, Cody may only write to files in the allowed working directories for this session: ${dirListStr}.`;
220374
220367
  if (decisionReason?.type === "rule") {
220375
220368
  return {
220376
220369
  behavior: "deny",
@@ -245593,7 +245586,7 @@ async function performMCPOAuthFlow(serverName, serverConfig, onAuthorizationUrl,
245593
245586
  }
245594
245587
  if (code) {
245595
245588
  res.writeHead(200, { "Content-Type": "text/html" });
245596
- res.end(`<h1>Authentication Successful</h1><p>You can close this window. Return to Claude Code.</p>`);
245589
+ res.end(`<h1>Authentication Successful</h1><p>You can close this window. Return to Cody.</p>`);
245597
245590
  cleanup();
245598
245591
  resolveOnce(code);
245599
245592
  }
@@ -245759,7 +245752,7 @@ class ClaudeAuthProvider {
245759
245752
  }
245760
245753
  get clientMetadata() {
245761
245754
  const metadata = {
245762
- client_name: `Claude Code (${this.serverName})`,
245755
+ client_name: `Cody (${this.serverName})`,
245763
245756
  redirect_uris: [this.redirectUri],
245764
245757
  grant_types: ["authorization_code", "refresh_token"],
245765
245758
  response_types: ["code"],
@@ -248336,7 +248329,7 @@ function IdeOnboardingDialog(t0) {
248336
248329
  t5,
248337
248330
  /* @__PURE__ */ jsx_dev_runtime37.jsxDEV(ThemedText, {
248338
248331
  children: [
248339
- "Welcome to Claude Code for ",
248332
+ "Welcome to Cody for ",
248340
248333
  ideName
248341
248334
  ]
248342
248335
  }, undefined, true, undefined, this)
@@ -248390,7 +248383,7 @@ function IdeOnboardingDialog(t0) {
248390
248383
  if ($3[13] === Symbol.for("react.memo_cache_sentinel")) {
248391
248384
  t11 = /* @__PURE__ */ jsx_dev_runtime37.jsxDEV(ThemedText, {
248392
248385
  children: [
248393
- "\u2022 Review Claude Code's changes",
248386
+ "\u2022 Review Cody's changes",
248394
248387
  " ",
248395
248388
  t10,
248396
248389
  " ",
@@ -251587,7 +251580,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
251587
251580
  const transport = new SdkControlClientTransport(name3, sendMcpMessage);
251588
251581
  const client15 = new Client5({
251589
251582
  name: "claude-code",
251590
- title: "Claude Code",
251583
+ title: "Cody",
251591
251584
  version: "0.1.0",
251592
251585
  description: "Anthropic's agentic coding tool",
251593
251586
  websiteUrl: PRODUCT_URL
@@ -251941,7 +251934,7 @@ var init_client19 = __esm(() => {
251941
251934
  }
251942
251935
  const client15 = new Client5({
251943
251936
  name: "claude-code",
251944
- title: "Claude Code",
251937
+ title: "Cody",
251945
251938
  version: "0.1.0",
251946
251939
  description: "Anthropic's agentic coding tool",
251947
251940
  websiteUrl: PRODUCT_URL
@@ -252732,7 +252725,7 @@ function hookSourceDescriptionDisplayString(source) {
252732
252725
  case "sessionHook":
252733
252726
  return "Session hooks (in-memory, temporary)";
252734
252727
  case "builtinHook":
252735
- return "Built-in hooks (registered internally by Claude Code)";
252728
+ return "Built-in hooks (registered internally by Cody)";
252736
252729
  default:
252737
252730
  return source;
252738
252731
  }
@@ -260293,7 +260286,7 @@ function ManagedSettingsSecurityDialog(t0) {
260293
260286
  label: "Yes, I trust these settings",
260294
260287
  value: "accept"
260295
260288
  }, {
260296
- label: "No, exit Claude Code",
260289
+ label: "No, exit Cody",
260297
260290
  value: "exit"
260298
260291
  }];
260299
260292
  $3[11] = t15;
@@ -300099,7 +300092,7 @@ async function call() {
300099
300092
  clearOnboarding: true
300100
300093
  });
300101
300094
  const message = /* @__PURE__ */ jsx_dev_runtime60.jsxDEV(ThemedText, {
300102
- children: "Successfully logged out from your Anthropic account."
300095
+ children: "Successfully logged out from your AINative account."
300103
300096
  }, undefined, false, undefined, this);
300104
300097
  setTimeout(() => {
300105
300098
  gracefulShutdownSync(0, "logout");
@@ -300869,7 +300862,7 @@ async function installGlobalPackage(specificVersion) {
300869
300862
  console.error(`
300870
300863
  Error: Windows NPM detected in WSL
300871
300864
 
300872
- You're running Claude Code in WSL but using the Windows NPM installation from /mnt/c/.
300865
+ You're running Cody in WSL but using the Windows NPM installation from /mnt/c/.
300873
300866
  This configuration is not supported for updates.
300874
300867
 
300875
300868
  To fix this issue:
@@ -303641,7 +303634,7 @@ async function authLogout() {
303641
303634
  `);
303642
303635
  process.exit(1);
303643
303636
  }
303644
- process.stdout.write(`Successfully logged out from your Anthropic account.
303637
+ process.stdout.write(`Successfully logged out from your AINative account.
303645
303638
  `);
303646
303639
  process.exit(0);
303647
303640
  }
@@ -303769,7 +303762,7 @@ async function isAppleTerminalBellDisabled() {
303769
303762
  return false;
303770
303763
  }
303771
303764
  }
303772
- var DEFAULT_TITLE = "Claude Code";
303765
+ var DEFAULT_TITLE = "Cody";
303773
303766
  var init_notifier = __esm(() => {
303774
303767
  init_config8();
303775
303768
  init_env();
@@ -311329,7 +311322,7 @@ function ConsoleOAuthFlow({
311329
311322
  state: "success"
311330
311323
  });
311331
311324
  sendNotification({
311332
- message: "Claude Code login successful",
311325
+ message: "Cody login successful",
311333
311326
  notificationType: "auth_success"
311334
311327
  }, terminal);
311335
311328
  }
@@ -311490,7 +311483,7 @@ function OAuthStatusMessage(t0) {
311490
311483
  } = t0;
311491
311484
  switch (oauthStatus.state) {
311492
311485
  case "idle": {
311493
- const t1 = startingMessage ? startingMessage : "Claude Code can be used with your Claude subscription or billed based on API usage through your Console account.";
311486
+ const t1 = startingMessage ? startingMessage : "Cody can be used with your Claude subscription or billed based on API usage through your Console account.";
311494
311487
  let t22;
311495
311488
  if ($3[0] !== t1) {
311496
311489
  t22 = /* @__PURE__ */ jsx_dev_runtime71.jsxDEV(ThemedText, {
@@ -311642,7 +311635,7 @@ function OAuthStatusMessage(t0) {
311642
311635
  let t32;
311643
311636
  if ($3[13] === Symbol.for("react.memo_cache_sentinel")) {
311644
311637
  t22 = /* @__PURE__ */ jsx_dev_runtime71.jsxDEV(ThemedText, {
311645
- children: "Claude Code supports Amazon Bedrock, Microsoft Foundry, and Vertex AI. Set the required environment variables, then restart Claude Code."
311638
+ children: "Cody supports Amazon Bedrock, Microsoft Foundry, and Vertex AI. Set the required environment variables, then restart Cody."
311646
311639
  }, undefined, false, undefined, this);
311647
311640
  t32 = /* @__PURE__ */ jsx_dev_runtime71.jsxDEV(ThemedText, {
311648
311641
  children: "If you are part of an enterprise organization, contact your administrator for setup instructions."
@@ -311848,7 +311841,7 @@ function OAuthStatusMessage(t0) {
311848
311841
  children: [
311849
311842
  /* @__PURE__ */ jsx_dev_runtime71.jsxDEV(Spinner, {}, undefined, false, undefined, this),
311850
311843
  /* @__PURE__ */ jsx_dev_runtime71.jsxDEV(ThemedText, {
311851
- children: "Creating API key for Claude Code\u2026"
311844
+ children: "Creating API key for Cody\u2026"
311852
311845
  }, undefined, false, undefined, this)
311853
311846
  ]
311854
311847
  }, undefined, true, undefined, this)
@@ -312254,7 +312247,7 @@ async function axiosGetWithRetry(url3, config8) {
312254
312247
  async function prepareApiRequest() {
312255
312248
  const accessToken = getClaudeAIOAuthTokens()?.accessToken;
312256
312249
  if (accessToken === undefined) {
312257
- throw new Error("Claude Code web sessions require authentication with a Claude.ai account. API key authentication is not sufficient. Please run /login to authenticate, or check your authentication status with /status.");
312250
+ throw new Error("Cody web sessions require authentication with a Claude.ai account. API key authentication is not sufficient. Please run /login to authenticate, or check your authentication status with /status.");
312258
312251
  }
312259
312252
  const orgUUID = await getOrganizationUUID();
312260
312253
  if (!orgUUID) {
@@ -323881,7 +323874,7 @@ NOTE: You just closed out 3+ tasks and none of them was a verification step. Bef
323881
323874
  async function fetchEnvironments() {
323882
323875
  const accessToken = getClaudeAIOAuthTokens()?.accessToken;
323883
323876
  if (!accessToken) {
323884
- throw new Error("Claude Code web sessions require authentication with a Claude.ai account. API key authentication is not sufficient. Please run /login to authenticate, or check your authentication status with /status.");
323877
+ throw new Error("Cody web sessions require authentication with a Claude.ai account. API key authentication is not sufficient. Please run /login to authenticate, or check your authentication status with /status.");
323885
323878
  }
323886
323879
  const orgUUID = await getOrganizationUUID();
323887
323880
  if (!orgUUID) {
@@ -324349,7 +324342,7 @@ function TeleportError(t0) {
324349
324342
  }, undefined, false, undefined, this),
324350
324343
  /* @__PURE__ */ jsx_dev_runtime117.jsxDEV(ThemedText, {
324351
324344
  dimColor: true,
324352
- children: "Your Claude Pro/Max subscription will be used by Claude Code."
324345
+ children: "Your Claude Pro/Max subscription will be used by Cody."
324353
324346
  }, undefined, false, undefined, this)
324354
324347
  ]
324355
324348
  }, undefined, true, undefined, this);
@@ -327973,7 +327966,7 @@ async function teleportResumeCodeSession(sessionId, onProgress) {
327973
327966
  logEvent("tengu_teleport_resume_error", {
327974
327967
  error_type: "no_access_token"
327975
327968
  });
327976
- throw new Error("Claude Code web sessions require authentication with a Claude.ai account. API key authentication is not sufficient. Please run /login to authenticate, or check your authentication status with /status.");
327969
+ throw new Error("Cody web sessions require authentication with a Claude.ai account. API key authentication is not sufficient. Please run /login to authenticate, or check your authentication status with /status.");
327977
327970
  }
327978
327971
  const orgUUID = await getOrganizationUUID();
327979
327972
  if (!orgUUID) {
@@ -328102,7 +328095,7 @@ async function teleportFromSessionsAPI(sessionId, orgUUID, accessToken, onProgre
328102
328095
  sessionId
328103
328096
  });
328104
328097
  throw new TeleportOperationError(`${sessionId} not found.`, `${sessionId} not found.
328105
- ${source_default.dim("Run /status in Claude Code to check your account.")}`);
328098
+ ${source_default.dim("Run /status in Cody to check your account.")}`);
328106
328099
  }
328107
328100
  logError2(err2);
328108
328101
  throw new Error(`Failed to fetch session from Sessions API: ${err2.message}`);
@@ -334943,7 +334936,7 @@ Output truncated (${sizeKB}KB total). Full output saved to: ${this.path}`;
334943
334936
  } catch (err2) {
334944
334937
  const code = err2 instanceof Error && "code" in err2 ? String(err2.code) : "unknown";
334945
334938
  logForDebugging(`TaskOutput.#readStdoutFromFile: failed to read ${this.path} (${code}): ${err2}`);
334946
- return `<bash output unavailable: output file ${this.path} could not be read (${code}). This usually means another Claude Code process in the same project deleted it during startup cleanup.>`;
334939
+ return `<bash output unavailable: output file ${this.path} could not be read (${code}). This usually means another Cody process in the same project deleted it during startup cleanup.>`;
334947
334940
  }
334948
334941
  }
334949
334942
  getStderr() {
@@ -335339,7 +335332,7 @@ var LITERAL_BACKSLASH = "\\", SNAPSHOT_CREATION_TIMEOUT = 1e4, VCS_DIRECTORIES_T
335339
335332
  logForDebugging(`Looking for shell config file: ${configFile}`);
335340
335333
  const configFileExists = await pathExists(configFile);
335341
335334
  if (!configFileExists) {
335342
- logForDebugging(`Shell config file not found: ${configFile}, creating snapshot with Claude Code defaults only`);
335335
+ logForDebugging(`Shell config file not found: ${configFile}, creating snapshot with Cody defaults only`);
335343
335336
  }
335344
335337
  const timestamp = Date.now();
335345
335338
  const randomId = Math.random().toString(36).substring(2, 8);
@@ -339629,7 +339622,7 @@ function checkPathConstraintsForStatement(statement, toolPermissionContext, comp
339629
339622
  const canonical = resolveToCanonical(cmd.name);
339630
339623
  const workingDirs = Array.from(allWorkingDirectories(toolPermissionContext));
339631
339624
  const dirListStr = formatDirectoryList2(workingDirs);
339632
- const message = decisionReason?.type === "other" || decisionReason?.type === "safetyCheck" ? decisionReason.reason : `${canonical} targeting '${resolvedPath5}' was blocked. For security, Claude Code may only access files in the allowed working directories for this session: ${dirListStr}.`;
339625
+ const message = decisionReason?.type === "other" || decisionReason?.type === "safetyCheck" ? decisionReason.reason : `${canonical} targeting '${resolvedPath5}' was blocked. For security, Cody may only access files in the allowed working directories for this session: ${dirListStr}.`;
339633
339626
  if (decisionReason?.type === "rule") {
339634
339627
  return {
339635
339628
  behavior: "deny",
@@ -339700,7 +339693,7 @@ function checkPathConstraintsForStatement(statement, toolPermissionContext, comp
339700
339693
  const canonical = resolveToCanonical(cmd.name);
339701
339694
  const workingDirs = Array.from(allWorkingDirectories(toolPermissionContext));
339702
339695
  const dirListStr = formatDirectoryList2(workingDirs);
339703
- const message = decisionReason?.type === "other" || decisionReason?.type === "safetyCheck" ? decisionReason.reason : `${canonical} targeting '${resolvedPath5}' was blocked. For security, Claude Code may only access files in the allowed working directories for this session: ${dirListStr}.`;
339696
+ const message = decisionReason?.type === "other" || decisionReason?.type === "safetyCheck" ? decisionReason.reason : `${canonical} targeting '${resolvedPath5}' was blocked. For security, Cody may only access files in the allowed working directories for this session: ${dirListStr}.`;
339704
339697
  if (decisionReason?.type === "rule") {
339705
339698
  return {
339706
339699
  behavior: "deny",
@@ -339761,7 +339754,7 @@ function checkPathConstraintsForStatement(statement, toolPermissionContext, comp
339761
339754
  if (!allowed) {
339762
339755
  const workingDirs = Array.from(allWorkingDirectories(toolPermissionContext));
339763
339756
  const dirListStr = formatDirectoryList2(workingDirs);
339764
- const message = decisionReason?.type === "other" || decisionReason?.type === "safetyCheck" ? decisionReason.reason : `Output redirection to '${resolvedPath5}' was blocked. For security, Claude Code may only write to files in the allowed working directories for this session: ${dirListStr}.`;
339757
+ const message = decisionReason?.type === "other" || decisionReason?.type === "safetyCheck" ? decisionReason.reason : `Output redirection to '${resolvedPath5}' was blocked. For security, Cody may only write to files in the allowed working directories for this session: ${dirListStr}.`;
339765
339758
  if (decisionReason?.type === "rule") {
339766
339759
  return {
339767
339760
  behavior: "deny",
@@ -339799,7 +339792,7 @@ function checkPathConstraintsForStatement(statement, toolPermissionContext, comp
339799
339792
  if (!allowed) {
339800
339793
  const workingDirs = Array.from(allWorkingDirectories(toolPermissionContext));
339801
339794
  const dirListStr = formatDirectoryList2(workingDirs);
339802
- const message = decisionReason?.type === "other" || decisionReason?.type === "safetyCheck" ? decisionReason.reason : `Output redirection to '${resolvedPath5}' was blocked. For security, Claude Code may only write to files in the allowed working directories for this session: ${dirListStr}.`;
339795
+ const message = decisionReason?.type === "other" || decisionReason?.type === "safetyCheck" ? decisionReason.reason : `Output redirection to '${resolvedPath5}' was blocked. For security, Cody may only write to files in the allowed working directories for this session: ${dirListStr}.`;
339803
339796
  if (decisionReason?.type === "rule") {
339804
339797
  return {
339805
339798
  behavior: "deny",
@@ -344323,7 +344316,7 @@ function validateInputForSettingsFileEdit(filePath, originalContent, getUpdatedC
344323
344316
  if (!afterValidation.isValid) {
344324
344317
  return {
344325
344318
  result: false,
344326
- message: `Claude Code settings.json validation failed after edit:
344319
+ message: `Cody settings.json validation failed after edit:
344327
344320
  ${afterValidation.error}
344328
344321
 
344329
344322
  Full schema:
@@ -366625,7 +366618,7 @@ var init_utils11 = __esm(() => {
366625
366618
  init_preapproved();
366626
366619
  DomainBlockedError = class DomainBlockedError extends Error {
366627
366620
  constructor(domain2) {
366628
- super(`Claude Code is unable to fetch from ${domain2}`);
366621
+ super(`Cody is unable to fetch from ${domain2}`);
366629
366622
  this.name = "DomainBlockedError";
366630
366623
  }
366631
366624
  };
@@ -372473,7 +372466,7 @@ var init_ConfigTool = __esm(() => {
372473
372466
  }));
372474
372467
  ConfigTool = buildTool({
372475
372468
  name: CONFIG_TOOL_NAME,
372476
- searchHint: "get or set Claude Code settings (theme, model)",
372469
+ searchHint: "get or set Cody settings (theme, model)",
372477
372470
  maxResultSizeChars: 1e5,
372478
372471
  async description() {
372479
372472
  return DESCRIPTION13;
@@ -379409,7 +379402,7 @@ function getAttributionTexts() {
379409
379402
  const model = getMainLoopModel();
379410
379403
  const isKnownPublicModel = getPublicModelDisplayName(model) !== null;
379411
379404
  const modelName = isInternalModelRepoCached() || isKnownPublicModel ? getPublicModelName(model) : "Claude Opus 4.6";
379412
- const defaultAttribution = `\uD83E\uDD16 Generated with [Claude Code](${PRODUCT_URL})`;
379405
+ const defaultAttribution = `\uD83E\uDD16 Generated with [Cody](${PRODUCT_URL})`;
379413
379406
  const defaultCommit = `Co-Authored-By: ${modelName} <noreply@anthropic.com>`;
379414
379407
  const settings = getInitialSettings();
379415
379408
  if (settings.attribution) {
@@ -379536,7 +379529,7 @@ async function getEnhancedPRAttribution(getAppState) {
379536
379529
  if (settings.includeCoAuthoredBy === false) {
379537
379530
  return "";
379538
379531
  }
379539
- const defaultAttribution = `\uD83E\uDD16 Generated with [Claude Code](${PRODUCT_URL})`;
379532
+ const defaultAttribution = `\uD83E\uDD16 Generated with [Cody](${PRODUCT_URL})`;
379540
379533
  const appState = getAppState();
379541
379534
  logForDebugging(`PR Attribution: appState.attribution exists: ${!!appState.attribution}`);
379542
379535
  if (appState.attribution) {
@@ -379559,7 +379552,7 @@ async function getEnhancedPRAttribution(getAppState) {
379559
379552
  return defaultAttribution;
379560
379553
  }
379561
379554
  const memSuffix = memoryAccessCount > 0 ? `, ${memoryAccessCount} ${memoryAccessCount === 1 ? "memory" : "memories"} recalled` : "";
379562
- const summary = `\uD83E\uDD16 Generated with [Claude Code](${PRODUCT_URL}) (${claudePercent}% ${promptCount}-shotted by ${shortModelName}${memSuffix})`;
379555
+ const summary = `\uD83E\uDD16 Generated with [Cody](${PRODUCT_URL}) (${claudePercent}% ${promptCount}-shotted by ${shortModelName}${memSuffix})`;
379563
379556
  if (false) {}
379564
379557
  logForDebugging(`PR Attribution: returning summary: ${summary}`);
379565
379558
  return summary;
@@ -389296,7 +389289,7 @@ function isToolSearchEnabledOptimistic() {
389296
389289
  if (!process.env.ENABLE_TOOL_SEARCH && getAPIProvider() === "firstParty" && !isFirstPartyAnthropicBaseUrl()) {
389297
389290
  if (!loggedOptimistic) {
389298
389291
  loggedOptimistic = true;
389299
- logForDebugging(`[ToolSearch:optimistic] disabled: ANTHROPIC_BASE_URL=${process.env.ANTHROPIC_BASE_URL} is not a first-party Anthropic host. Set ENABLE_TOOL_SEARCH=true (or auto / auto:N) if your proxy forwards tool_reference blocks.`);
389292
+ logForDebugging(`[ToolSearch:optimistic] disabled: ANTHROPIC_BASE_URL=${process.env.ANTHROPIC_BASE_URL} is not a first-party AINative host. Set ENABLE_TOOL_SEARCH=true (or auto / auto:N) if your proxy forwards tool_reference blocks.`);
389300
389293
  }
389301
389294
  return false;
389302
389295
  }
@@ -391676,12 +391669,12 @@ ${manifest}${toolsSection}`
391676
391669
  return [];
391677
391670
  }
391678
391671
  }
391679
- var SELECT_MEMORIES_SYSTEM_PROMPT = `You are selecting memories that will be useful to Claude Code as it processes a user's query. You will be given the user's query and a list of available memory files with their filenames and descriptions.
391672
+ var SELECT_MEMORIES_SYSTEM_PROMPT = `You are selecting memories that will be useful to Cody as it processes a user's query. You will be given the user's query and a list of available memory files with their filenames and descriptions.
391680
391673
 
391681
- Return a list of filenames for the memories that will clearly be useful to Claude Code as it processes the user's query (up to 5). Only include memories that you are certain will be helpful based on their name and description.
391674
+ Return a list of filenames for the memories that will clearly be useful to Cody as it processes the user's query (up to 5). Only include memories that you are certain will be helpful based on their name and description.
391682
391675
  - If you are unsure if a memory will be useful in processing the user's query, then do not include it in your list. Be selective and discerning.
391683
391676
  - If there are no memories in the list that would clearly be useful, feel free to return an empty list.
391684
- - If a list of recently-used tools is provided, do not select memories that are usage reference or API documentation for those tools (Claude Code is already exercising them). DO still select memories containing warnings, gotchas, or known issues about those tools \u2014 active use is exactly when those matter.
391677
+ - If a list of recently-used tools is provided, do not select memories that are usage reference or API documentation for those tools (Cody is already exercising them). DO still select memories containing warnings, gotchas, or known issues about those tools \u2014 active use is exactly when those matter.
391685
391678
  `;
391686
391679
  var init_findRelevantMemories = __esm(() => {
391687
391680
  init_debug();
@@ -395756,7 +395749,7 @@ var init_marketplaceManager = __esm(() => {
395756
395749
  throw new Error(`Marketplace '${name3}' not found in configuration. Available marketplaces: ${Object.keys(config8).join(", ")}`);
395757
395750
  }
395758
395751
  if (isLocalMarketplaceSource(entry.source) && !isAbsolute23(entry.source.path)) {
395759
- throw new Error(`Marketplace "${name3}" has a relative source path (${entry.source.path}) ` + `in known_marketplaces.json \u2014 this is stale state from an older ` + `Claude Code version. Run 'claude marketplace remove ${name3}' and ` + `re-add it from the original project directory.`);
395752
+ throw new Error(`Marketplace "${name3}" has a relative source path (${entry.source.path}) ` + `in known_marketplaces.json \u2014 this is stale state from an older ` + `Cody version. Run 'claude marketplace remove ${name3}' and ` + `re-add it from the original project directory.`);
395760
395753
  }
395761
395754
  try {
395762
395755
  return await readCachedMarketplace(entry.installLocation);
@@ -398453,7 +398446,7 @@ function AUTO_REJECT_MESSAGE(toolName) {
398453
398446
  return `Permission to use ${toolName} has been denied. ${DENIAL_WORKAROUND_GUIDANCE}`;
398454
398447
  }
398455
398448
  function DONT_ASK_REJECT_MESSAGE(toolName) {
398456
- return `Permission to use ${toolName} has been denied because Claude Code is running in don't ask mode. ${DENIAL_WORKAROUND_GUIDANCE}`;
398449
+ return `Permission to use ${toolName} has been denied because Cody is running in don't ask mode. ${DENIAL_WORKAROUND_GUIDANCE}`;
398457
398450
  }
398458
398451
  function isSyntheticMessage(message) {
398459
398452
  return message.type !== "progress" && message.type !== "attachment" && message.type !== "system" && Array.isArray(message.message.content) && message.message.content[0]?.type === "text" && SYNTHETIC_MESSAGES.has(message.message.content[0].text);
@@ -402214,14 +402207,14 @@ function getErrorMessageIfRefusal(stopReason, model) {
402214
402207
  return;
402215
402208
  }
402216
402209
  logEvent("tengu_refusal_api_response", {});
402217
- const baseMessage = getIsNonInteractiveSession() ? `${API_ERROR_MESSAGE_PREFIX}: Claude Code is unable to respond to this request, which appears to violate our Usage Policy (https://www.anthropic.com/legal/aup). Try rephrasing the request or attempting a different approach.` : `${API_ERROR_MESSAGE_PREFIX}: Claude Code is unable to respond to this request, which appears to violate our Usage Policy (https://www.anthropic.com/legal/aup). Please double press esc to edit your last message or start a new session for Claude Code to assist with a different task.`;
402210
+ const baseMessage = getIsNonInteractiveSession() ? `${API_ERROR_MESSAGE_PREFIX}: Cody is unable to respond to this request, which appears to violate our Usage Policy (https://ainative.studio/legal/aup). Try rephrasing the request or attempting a different approach.` : `${API_ERROR_MESSAGE_PREFIX}: Cody is unable to respond to this request, which appears to violate our Usage Policy (https://ainative.studio/legal/aup). Please double press esc to edit your last message or start a new session for Cody to assist with a different task.`;
402218
402211
  const modelSuggestion = model !== "claude-sonnet-4-20250514" ? " If you are seeing this refusal repeatedly, try running /model claude-sonnet-4-20250514 to switch models." : "";
402219
402212
  return createAssistantAPIErrorMessage({
402220
402213
  content: baseMessage + modelSuggestion,
402221
402214
  error: "invalid_request"
402222
402215
  });
402223
402216
  }
402224
- var API_ERROR_MESSAGE_PREFIX = "API Error", PROMPT_TOO_LONG_ERROR_MESSAGE = "Prompt is too long", CREDIT_BALANCE_TOO_LOW_ERROR_MESSAGE = "Credit balance is too low", INVALID_API_KEY_ERROR_MESSAGE = "Not logged in \xB7 Please run /login", INVALID_API_KEY_ERROR_MESSAGE_EXTERNAL = "Invalid API key \xB7 Fix external API key", ORG_DISABLED_ERROR_MESSAGE_ENV_KEY_WITH_OAUTH = "Your ANTHROPIC_API_KEY belongs to a disabled organization \xB7 Unset the environment variable to use your subscription instead", ORG_DISABLED_ERROR_MESSAGE_ENV_KEY = "Your ANTHROPIC_API_KEY belongs to a disabled organization \xB7 Update or unset the environment variable", TOKEN_REVOKED_ERROR_MESSAGE = "OAuth token revoked \xB7 Please run /login", CCR_AUTH_ERROR_MESSAGE = "Authentication error \xB7 This may be a temporary network issue, please try again", REPEATED_529_ERROR_MESSAGE = "Repeated 529 Overloaded errors", CUSTOM_OFF_SWITCH_MESSAGE = "Opus is experiencing high load, please use /model to switch to Sonnet", API_TIMEOUT_ERROR_MESSAGE = "Request timed out", OAUTH_ORG_NOT_ALLOWED_ERROR_MESSAGE = "Your account does not have access to Claude Code. Please run /login.";
402217
+ var API_ERROR_MESSAGE_PREFIX = "API Error", PROMPT_TOO_LONG_ERROR_MESSAGE = "Prompt is too long", CREDIT_BALANCE_TOO_LOW_ERROR_MESSAGE = "Credit balance is too low", INVALID_API_KEY_ERROR_MESSAGE = "Not logged in \xB7 Please run /login", INVALID_API_KEY_ERROR_MESSAGE_EXTERNAL = "Invalid API key \xB7 Fix external API key", ORG_DISABLED_ERROR_MESSAGE_ENV_KEY_WITH_OAUTH = "Your ANTHROPIC_API_KEY belongs to a disabled organization \xB7 Unset the environment variable to use your subscription instead", ORG_DISABLED_ERROR_MESSAGE_ENV_KEY = "Your ANTHROPIC_API_KEY belongs to a disabled organization \xB7 Update or unset the environment variable", TOKEN_REVOKED_ERROR_MESSAGE = "OAuth token revoked \xB7 Please run /login", CCR_AUTH_ERROR_MESSAGE = "Authentication error \xB7 This may be a temporary network issue, please try again", REPEATED_529_ERROR_MESSAGE = "Repeated 529 Overloaded errors", CUSTOM_OFF_SWITCH_MESSAGE = "Opus is experiencing high load, please use /model to switch to Sonnet", API_TIMEOUT_ERROR_MESSAGE = "Request timed out", OAUTH_ORG_NOT_ALLOWED_ERROR_MESSAGE = "Your account does not have access to Cody. Please run /login.";
402225
402218
  var init_errors10 = __esm(() => {
402226
402219
  init_sdk();
402227
402220
  init_betas();
@@ -403006,9 +402999,9 @@ function reconstructCommand(kept, originalCmd) {
403006
402999
  return result.trim() || originalCmd;
403007
403000
  }
403008
403001
  var ALLOWED_FILE_DESCRIPTORS, BASH_POLICY_SPEC = `<policy_spec>
403009
- # Claude Code Code Bash command prefix detection
403002
+ # Cody Code Bash command prefix detection
403010
403003
 
403011
- This document defines risk levels for actions that the Claude Code agent may take. This classification system is part of a broader safety framework and is used to determine when additional user confirmation or oversight may be needed.
403004
+ This document defines risk levels for actions that the Cody agent may take. This classification system is part of a broader safety framework and is used to determine when additional user confirmation or oversight may be needed.
403012
403005
 
403013
403006
  ## Definitions
403014
403007
 
@@ -404319,7 +404312,7 @@ function AppStateProvider(t0) {
404319
404312
  } else {
404320
404313
  t4 = $3[7];
404321
404314
  }
404322
- const onSettingsChange = (__useEffectEvent || import_react84.useEffectEvent)(t4);
404315
+ const onSettingsChange = (import_react84.useEffectEvent || function(fn){ var _r=require_react(); var _ref=_r.useRef(fn); _r.useLayoutEffect(function(){_ref.current=fn}); return _r.useCallback(function(){return _ref.current.apply(void 0,arguments)},[]); })(t4);
404323
404316
  useSettingsChange(onSettingsChange);
404324
404317
  let t5;
404325
404318
  if ($3[8] !== children) {
@@ -408137,7 +408130,7 @@ function PermissionDescription() {
408137
408130
  if ($3[0] === Symbol.for("react.memo_cache_sentinel")) {
408138
408131
  t0 = /* @__PURE__ */ jsx_dev_runtime159.jsxDEV(ThemedText, {
408139
408132
  dimColor: true,
408140
- children: "Claude Code will be able to read files in this directory and make edits when auto-accept edits is on."
408133
+ children: "Cody will be able to read files in this directory and make edits when auto-accept edits is on."
408141
408134
  }, undefined, false, undefined, this);
408142
408135
  $3[0] = t0;
408143
408136
  } else {
@@ -409611,7 +409604,7 @@ function Feedback({
409611
409604
  children: [
409612
409605
  "We will use your feedback to debug related issues or to improve",
409613
409606
  " ",
409614
- "Claude Code's functionality (eg. to reduce the risk of bugs occurring in the future)."
409607
+ "Cody's functionality (eg. to reduce the risk of bugs occurring in the future)."
409615
409608
  ]
409616
409609
  }, undefined, true, undefined, this)
409617
409610
  }, undefined, false, undefined, this),
@@ -409732,7 +409725,7 @@ ${sanitizedDescription}
409732
409725
  async function generateTitle(description, abortSignal) {
409733
409726
  try {
409734
409727
  const response7 = await queryHaiku({
409735
- systemPrompt: asSystemPrompt(["Generate a concise, technical issue title (max 80 chars) for a public GitHub issue based on this bug report for Claude Code.", "Claude Code is an agentic coding CLI based on the Anthropic API.", "The title should:", "- Include the type of issue [Bug] or [Feature Request] as the first thing in the title", "- Be concise, specific and descriptive of the actual problem", "- Use technical terminology appropriate for a software issue", '- For error messages, extract the key error (e.g., "Missing Tool Result Block" rather than the full message)', "- Be direct and clear for developers to understand the problem", '- If you cannot determine a clear issue, use "Bug Report: [brief description]"', "- Any LLM API errors are from the Anthropic API, not from any other model provider", "Your response will be directly used as the title of the Github issue, and as such should not contain any other commentary or explaination", 'Examples of good titles include: "[Bug] Auto-Compact triggers to soon", "[Bug] Anthropic API Error: Missing Tool Result Block", "[Bug] Error: Invalid Model Name for Opus"']),
409728
+ systemPrompt: asSystemPrompt(["Generate a concise, technical issue title (max 80 chars) for a public GitHub issue based on this bug report for Cody.", "Cody is an agentic coding CLI powered by AINative Studio.", "The title should:", "- Include the type of issue [Bug] or [Feature Request] as the first thing in the title", "- Be concise, specific and descriptive of the actual problem", "- Use technical terminology appropriate for a software issue", '- For error messages, extract the key error (e.g., "Missing Tool Result Block" rather than the full message)', "- Be direct and clear for developers to understand the problem", '- If you cannot determine a clear issue, use "Bug Report: [brief description]"', "- Any LLM API errors are from the AINative API, not from any other model provider", "Your response will be directly used as the title of the Github issue, and as such should not contain any other commentary or explaination", 'Examples of good titles include: "[Bug] Auto-Compact triggers to soon", "[Bug] Anthropic API Error: Missing Tool Result Block", "[Bug] Error: Invalid Model Name for Opus"']),
409736
409729
  userPrompt: description,
409737
409730
  signal: abortSignal,
409738
409731
  options: {
@@ -409912,7 +409905,7 @@ var init_feedback2 = __esm(() => {
409912
409905
  aliases: ["bug"],
409913
409906
  type: "local-jsx",
409914
409907
  name: "feedback",
409915
- description: `Submit feedback about Claude Code`,
409908
+ description: `Submit feedback about Cody`,
409916
409909
  argumentHint: "[report]",
409917
409910
  isEnabled: () => !(isEnvTruthy(process.env.CLAUDE_CODE_USE_BEDROCK) || isEnvTruthy(process.env.CLAUDE_CODE_USE_VERTEX) || isEnvTruthy(process.env.CLAUDE_CODE_USE_FOUNDRY) || isEnvTruthy(process.env.DISABLE_FEEDBACK_COMMAND) || isEnvTruthy(process.env.DISABLE_BUG_COMMAND) || isEssentialTrafficOnly() || false || !isPolicyAllowed("allow_product_feedback")),
409918
409911
  load: () => Promise.resolve().then(() => (init_feedback(), exports_feedback))
@@ -413809,7 +413802,7 @@ function ModelPicker(t0) {
413809
413802
  } else {
413810
413803
  t15 = $3[41];
413811
413804
  }
413812
- const t16 = headerText ?? "Switch between Claude models. Applies to this session and future Claude Code sessions. For other/previous model names, specify with --model.";
413805
+ const t16 = headerText ?? "Switch between Claude models. Applies to this session and future Cody sessions. For other/previous model names, specify with --model.";
413813
413806
  let t17;
413814
413807
  if ($3[42] !== t16) {
413815
413808
  t17 = /* @__PURE__ */ jsx_dev_runtime172.jsxDEV(ThemedText, {
@@ -414263,7 +414256,7 @@ function ClaudeMdExternalIncludesDialog(t0) {
414263
414256
  t8 = /* @__PURE__ */ jsx_dev_runtime173.jsxDEV(ThemedText, {
414264
414257
  dimColor: true,
414265
414258
  children: [
414266
- "Important: Only use Claude Code with files you trust. Accessing untrusted files may pose security risks",
414259
+ "Important: Only use Cody with files you trust. Accessing untrusted files may pose security risks",
414267
414260
  " ",
414268
414261
  /* @__PURE__ */ jsx_dev_runtime173.jsxDEV(Link, {
414269
414262
  url: "https://code.claude.com/docs/en/security"
@@ -414549,7 +414542,7 @@ function OutputStylePicker(t0) {
414549
414542
  marginTop: 1,
414550
414543
  children: /* @__PURE__ */ jsx_dev_runtime175.jsxDEV(ThemedText, {
414551
414544
  dimColor: true,
414552
- children: "This changes how Claude Code communicates with you"
414545
+ children: "This changes how Cody communicates with you"
414553
414546
  }, undefined, false, undefined, this)
414554
414547
  }, undefined, false, undefined, this);
414555
414548
  $3[5] = t7;
@@ -419162,9 +419155,9 @@ var call17 = async () => {
419162
419155
  if (isClaudeAISubscriber()) {
419163
419156
  let value;
419164
419157
  if (currentLimits.isUsingOverage) {
419165
- value = "You are currently using your overages to power your Claude Code usage. We will automatically switch you back to your subscription rate limits when they reset";
419158
+ value = "You are currently using your overages to power your Cody usage. We will automatically switch you back to your subscription rate limits when they reset";
419166
419159
  } else {
419167
- value = "You are currently using your subscription to power your Claude Code usage";
419160
+ value = "You are currently using your subscription to power your Cody usage";
419168
419161
  }
419169
419162
  if (false) {}
419170
419163
  return { type: "text", value };
@@ -422054,7 +422047,7 @@ function Doctor(t0) {
422054
422047
  let t7;
422055
422048
  if ($3[11] !== onDone) {
422056
422049
  t7 = () => {
422057
- onDone("Claude Code diagnostics dismissed", {
422050
+ onDone("Cody diagnostics dismissed", {
422058
422051
  display: "system"
422059
422052
  });
422060
422053
  };
@@ -422880,7 +422873,7 @@ var init_doctor2 = __esm(() => {
422880
422873
  init_envUtils();
422881
422874
  doctor = {
422882
422875
  name: "doctor",
422883
- description: "Diagnose and verify your Claude Code installation and settings",
422876
+ description: "Diagnose and verify your Cody installation and settings",
422884
422877
  isEnabled: () => !isEnvTruthy(process.env.DISABLE_DOCTOR_COMMAND),
422885
422878
  type: "local-jsx",
422886
422879
  load: () => Promise.resolve().then(() => (init_doctor(), exports_doctor))
@@ -424547,7 +424540,7 @@ function HelpV2(t0) {
424547
424540
  let t6;
424548
424541
  if ($3[31] !== tabs) {
424549
424542
  t6 = /* @__PURE__ */ jsx_dev_runtime205.jsxDEV(Tabs, {
424550
- title: `Claude Code v${"0.1.0"}`,
424543
+ title: `Cody v${"0.1.0"}`,
424551
424544
  color: "professionalBlue",
424552
424545
  defaultTab: "general",
424553
424546
  children: tabs
@@ -424980,7 +424973,7 @@ function IDEScreen(t0) {
424980
424973
  t5 = availableIDEs.length === 0 && /* @__PURE__ */ jsx_dev_runtime208.jsxDEV(ThemedText, {
424981
424974
  dimColor: true,
424982
424975
  children: isSupportedJetBrainsTerminal() ? `No available IDEs detected. Please install the plugin and restart your IDE:
424983
- https://docs.claude.com/s/claude-code-jetbrains` : "No available IDEs detected. Make sure your IDE has the Claude Code extension or plugin installed and is running."
424976
+ https://docs.claude.com/s/claude-code-jetbrains` : "No available IDEs detected. Make sure your IDE has the Cody extension or plugin installed and is running."
424984
424977
  }, undefined, false, undefined, this);
424985
424978
  $3[17] = availableIDEs.length;
424986
424979
  $3[18] = t5;
@@ -425012,7 +425005,7 @@ https://docs.claude.com/s/claude-code-jetbrains` : "No available IDEs detected.
425012
425005
  marginTop: 1,
425013
425006
  children: /* @__PURE__ */ jsx_dev_runtime208.jsxDEV(ThemedText, {
425014
425007
  color: "warning",
425015
- children: "Note: Only one Claude Code instance can be connected to VS Code at a time."
425008
+ children: "Note: Only one Cody instance can be connected to VS Code at a time."
425016
425009
  }, undefined, false, undefined, this)
425017
425010
  }, undefined, false, undefined, this);
425018
425011
  $3[24] = availableIDEs;
@@ -425356,7 +425349,7 @@ async function call22(onDone, context7, args) {
425356
425349
  const detectedIDEs2 = await detectIDEs(true);
425357
425350
  const availableIDEs2 = detectedIDEs2.filter((ide) => ide.isValid);
425358
425351
  if (availableIDEs2.length === 0) {
425359
- onDone("No IDEs with Claude Code extension detected.");
425352
+ onDone("No IDEs with Cody extension detected.");
425360
425353
  return null;
425361
425354
  }
425362
425355
  return /* @__PURE__ */ jsx_dev_runtime208.jsxDEV(IDEOpenSelection, {
@@ -425586,7 +425579,7 @@ var init_ide3 = __esm(() => {
425586
425579
  });
425587
425580
 
425588
425581
  // src/commands/init.ts
425589
- var OLD_INIT_PROMPT = `Please analyze this codebase and create a CLAUDE.md file, which will be given to future instances of Claude Code to operate in this repository.
425582
+ var OLD_INIT_PROMPT = `Please analyze this codebase and create a CLAUDE.md file, which will be given to future instances of Cody to operate in this repository.
425590
425583
 
425591
425584
  What to add:
425592
425585
  1. Commands that will be commonly used, such as how to build, lint, and run tests. Include the necessary commands to develop in this codebase, such as how to run a single test.
@@ -426185,15 +426178,15 @@ var init_WorkflowMultiselectDialog = __esm(() => {
426185
426178
  jsx_dev_runtime209 = __toESM(require_jsx_dev_runtime(), 1);
426186
426179
  WORKFLOWS = [{
426187
426180
  value: "claude",
426188
- label: "@Claude Code - Tag @claude in issues and PR comments"
426181
+ label: "@Cody - Tag @claude in issues and PR comments"
426189
426182
  }, {
426190
426183
  value: "claude-review",
426191
- label: "Claude Code Review - Automated code review on new PRs"
426184
+ label: "Cody Review - Automated code review on new PRs"
426192
426185
  }];
426193
426186
  });
426194
426187
 
426195
426188
  // src/constants/github-app.ts
426196
- var PR_TITLE = "Add Claude Code GitHub Workflow", GITHUB_ACTION_SETUP_DOCS_URL = "https://github.com/anthropics/claude-code-action/blob/main/docs/setup.md", WORKFLOW_CONTENT = `name: Claude Code
426189
+ var PR_TITLE = "Add Cody GitHub Workflow", GITHUB_ACTION_SETUP_DOCS_URL = "https://github.com/anthropics/claude-code-action/blob/main/docs/setup.md", WORKFLOW_CONTENT = `name: Cody
426197
426190
 
426198
426191
  on:
426199
426192
  issue_comment:
@@ -426225,7 +426218,7 @@ jobs:
426225
426218
  with:
426226
426219
  fetch-depth: 1
426227
426220
 
426228
- - name: Run Claude Code
426221
+ - name: Run Cody
426229
426222
  id: claude
426230
426223
  uses: anthropics/claude-code-action@v1
426231
426224
  with:
@@ -426243,13 +426236,13 @@ jobs:
426243
426236
  # or https://code.claude.com/docs/en/cli-reference for available options
426244
426237
  # claude_args: '--allowed-tools Bash(gh pr:*)'
426245
426238
 
426246
- `, PR_BODY = `## \uD83E\uDD16 Installing Claude Code GitHub App
426239
+ `, PR_BODY = `## \uD83E\uDD16 Installing Cody GitHub App
426247
426240
 
426248
- This PR adds a GitHub Actions workflow that enables Claude Code integration in our repository.
426241
+ This PR adds a GitHub Actions workflow that enables Cody integration in our repository.
426249
426242
 
426250
- ### What is Claude Code?
426243
+ ### What is Cody?
426251
426244
 
426252
- [Claude Code](https://claude.com/claude-code) is an AI coding agent that can help with:
426245
+ [Cody](https://claude.com/claude-code) is an AI coding agent that can help with:
426253
426246
  - Bug fixes and improvements
426254
426247
  - Documentation updates
426255
426248
  - Implementing new features
@@ -426281,9 +426274,9 @@ Once the workflow is triggered, Claude will analyze the comment and surrounding
426281
426274
  allowed_tools: Bash(npm install),Bash(npm run build),Bash(npm run lint),Bash(npm run test)
426282
426275
  \`\`\`
426283
426276
 
426284
- There's more information in the [Claude Code action repo](https://github.com/anthropics/claude-code-action).
426277
+ There's more information in the [Cody action repo](https://github.com/anthropics/claude-code-action).
426285
426278
 
426286
- After merging this PR, let's try mentioning @claude in a comment on any PR to get started!`, CODE_REVIEW_PLUGIN_WORKFLOW_CONTENT = `name: Claude Code Review
426279
+ After merging this PR, let's try mentioning @claude in a comment on any PR to get started!`, CODE_REVIEW_PLUGIN_WORKFLOW_CONTENT = `name: Cody Review
426287
426280
 
426288
426281
  on:
426289
426282
  pull_request:
@@ -426316,7 +426309,7 @@ jobs:
426316
426309
  with:
426317
426310
  fetch-depth: 1
426318
426311
 
426319
- - name: Run Claude Code Review
426312
+ - name: Run Cody Review
426320
426313
  id: claude-review
426321
426314
  uses: anthropics/claude-code-action@v1
426322
426315
  with:
@@ -426485,7 +426478,7 @@ function ApiKeyStep(t0) {
426485
426478
  children: /* @__PURE__ */ jsx_dev_runtime210.jsxDEV(ThemedText, {
426486
426479
  children: [
426487
426480
  selectedOption === "existing" ? color("success", theme)("> ") : " ",
426488
- "Use your existing Claude Code API key"
426481
+ "Use your existing Cody API key"
426489
426482
  ]
426490
426483
  }, undefined, true, undefined, this)
426491
426484
  }, undefined, false, undefined, this);
@@ -428462,7 +428455,7 @@ async function setupGitHubActions(repoName, apiKeyOrOAuthToken, secretName, upda
428462
428455
  workflows.push({
428463
428456
  path: ".github/workflows/claude-code-review.yml",
428464
428457
  content: CODE_REVIEW_PLUGIN_WORKFLOW_CONTENT,
428465
- message: "Claude Code Review workflow"
428458
+ message: "Cody Review workflow"
428466
428459
  });
428467
428460
  }
428468
428461
  for (const workflow of workflows) {
@@ -431546,9 +431539,9 @@ function MCPRemoteServerMenu({
431546
431539
  if (success2) {
431547
431540
  onComplete?.(`Authentication successful. Connected to ${server.name}.`);
431548
431541
  } else if (result.client.type === "needs-auth") {
431549
- onComplete?.("Authentication successful, but server still requires authentication. You may need to manually restart Claude Code.");
431542
+ onComplete?.("Authentication successful, but server still requires authentication. You may need to manually restart Cody.");
431550
431543
  } else {
431551
- onComplete?.("Authentication successful, but server reconnection failed. You may need to manually restart Claude Code for the changes to take effect.");
431544
+ onComplete?.("Authentication successful, but server reconnection failed. You may need to manually restart Cody for the changes to take effect.");
431552
431545
  }
431553
431546
  } catch (err2) {
431554
431547
  logEvent("tengu_claudeai_mcp_auth_completed", {
@@ -431710,10 +431703,10 @@ function MCPRemoteServerMenu({
431710
431703
  const message = isEffectivelyAuthenticated ? `Authentication successful. Reconnected to ${server.name}.` : `Authentication successful. Connected to ${server.name}.`;
431711
431704
  onComplete?.(message);
431712
431705
  } else if (result_0.client.type === "needs-auth") {
431713
- onComplete?.("Authentication successful, but server still requires authentication. You may need to manually restart Claude Code.");
431706
+ onComplete?.("Authentication successful, but server still requires authentication. You may need to manually restart Cody.");
431714
431707
  } else {
431715
431708
  logMCPDebug(server.name, `Reconnection failed after authentication`);
431716
- onComplete?.("Authentication successful, but server reconnection failed. You may need to manually restart Claude Code for the changes to take effect.");
431709
+ onComplete?.("Authentication successful, but server reconnection failed. You may need to manually restart Cody for the changes to take effect.");
431717
431710
  }
431718
431711
  }
431719
431712
  } catch (err_1) {
@@ -433375,7 +433368,7 @@ function MCPSettings(t0) {
433375
433368
  t9 = $3[25];
433376
433369
  }
433377
433370
  const serverTools_0 = t9;
433378
- const defaultTab = viewState.server.transport === "claudeai-proxy" ? "claude.ai" : "Claude Code";
433371
+ const defaultTab = viewState.server.transport === "claudeai-proxy" ? "claude.ai" : "Cody";
433379
433372
  if (viewState.server.transport === "stdio") {
433380
433373
  let t10;
433381
433374
  if ($3[26] !== viewState.server) {
@@ -436675,7 +436668,7 @@ function EmptyStateMessage(t0) {
436675
436668
  }, undefined, false, undefined, this),
436676
436669
  /* @__PURE__ */ jsx_dev_runtime238.jsxDEV(ThemedText, {
436677
436670
  dimColor: true,
436678
- children: "Please install git and restart Claude Code."
436671
+ children: "Please install git and restart Cody."
436679
436672
  }, undefined, false, undefined, this)
436680
436673
  ]
436681
436674
  }, undefined, true, undefined, this);
@@ -438181,7 +438174,7 @@ function ManageMarketplaces({
438181
438174
  marginTop: 1,
438182
438175
  children: /* @__PURE__ */ jsx_dev_runtime239.jsxDEV(ThemedText, {
438183
438176
  dimColor: true,
438184
- children: "Auto-update enabled. Claude Code will automatically update this marketplace and its installed plugins."
438177
+ children: "Auto-update enabled. Cody will automatically update this marketplace and its installed plugins."
438185
438178
  }, undefined, false, undefined, this)
438186
438179
  }, undefined, false, undefined, this),
438187
438180
  /* @__PURE__ */ jsx_dev_runtime239.jsxDEV(ThemedBox_default, {
@@ -441948,7 +441941,7 @@ async function validatePluginManifest(filePath) {
441948
441941
  delete stripped[key];
441949
441942
  warnings.push({
441950
441943
  path: key,
441951
- message: `Field '${key}' belongs in the marketplace entry (marketplace.json), ` + `not plugin.json. It's harmless here but unused \u2014 Claude Code ` + `ignores it at load time.`
441944
+ message: `Field '${key}' belongs in the marketplace entry (marketplace.json), ` + `not plugin.json. It's harmless here but unused \u2014 Cody ` + `ignores it at load time.`
441952
441945
  });
441953
441946
  }
441954
441947
  toValidate = stripped;
@@ -441963,7 +441956,7 @@ async function validatePluginManifest(filePath) {
441963
441956
  if (!/^[a-z0-9]+(-[a-z0-9]+)*$/.test(manifest.name)) {
441964
441957
  warnings.push({
441965
441958
  path: "name",
441966
- message: `Plugin name "${manifest.name}" is not kebab-case. Claude Code accepts ` + `it, but the Claude.ai marketplace sync requires kebab-case ` + `(lowercase letters, digits, and hyphens only, e.g., "my-plugin").`
441959
+ message: `Plugin name "${manifest.name}" is not kebab-case. Cody accepts ` + `it, but the Claude.ai marketplace sync requires kebab-case ` + `(lowercase letters, digits, and hyphens only, e.g., "my-plugin").`
441967
441960
  });
441968
441961
  }
441969
441962
  if (!manifest.version) {
@@ -450689,7 +450682,7 @@ function createWhatsNewFeed(releaseNotes2) {
450689
450682
  text: note
450690
450683
  };
450691
450684
  });
450692
- const emptyMessage = "Check the Claude Code changelog for updates";
450685
+ const emptyMessage = "Check the Cody changelog for updates";
450693
450686
  return {
450694
450687
  title: "What's new",
450695
450688
  lines,
@@ -450723,7 +450716,7 @@ function createProjectOnboardingFeed(steps) {
450723
450716
  }
450724
450717
  function createGuestPassesFeed() {
450725
450718
  const reward = getCachedReferrerReward();
450726
- const subtitle = reward ? `Share Claude Code and earn ${formatCreditAmount(reward)} of extra usage` : "Share Claude Code with friends";
450719
+ const subtitle = reward ? `Share Cody and earn ${formatCreditAmount(reward)} of extra usage` : "Share Cody with friends";
450727
450720
  return {
450728
450721
  title: "3 guest passes",
450729
450722
  lines: [],
@@ -450940,7 +450933,7 @@ function GuestPassesUpsell() {
450940
450933
  }, undefined, false, undefined, this),
450941
450934
  " \xB7",
450942
450935
  " ",
450943
- reward ? `Share Claude Code and earn ${formatCreditAmount(reward)} of extra usage \xB7 /passes` : "3 guest passes at /passes"
450936
+ reward ? `Share Cody and earn ${formatCreditAmount(reward)} of extra usage \xB7 /passes` : "3 guest passes at /passes"
450944
450937
  ]
450945
450938
  }, undefined, true, undefined, this);
450946
450939
  $3[0] = t0;
@@ -451035,7 +451028,7 @@ function CondensedLogo() {
451035
451028
  if ($3[8] === Symbol.for("react.memo_cache_sentinel")) {
451036
451029
  t5 = /* @__PURE__ */ jsx_dev_runtime252.jsxDEV(ThemedText, {
451037
451030
  bold: true,
451038
- children: "Claude Code"
451031
+ children: "Cody"
451039
451032
  }, undefined, false, undefined, this);
451040
451033
  $3[8] = t5;
451041
451034
  } else {
@@ -458765,7 +458758,7 @@ var init_review = __esm(() => {
458765
458758
  ultrareview = {
458766
458759
  type: "local-jsx",
458767
458760
  name: "ultrareview",
458768
- description: `~10\u201320 min \xB7 Finds and verifies bugs in your branch. Runs in Claude Code on the web. See ${CCR_TERMS_URL}`,
458761
+ description: `~10\u201320 min \xB7 Finds and verifies bugs in your branch. Runs in Cody on the web. See ${CCR_TERMS_URL}`,
458769
458762
  isEnabled: () => isUltrareviewEnabled(),
458770
458763
  load: () => Promise.resolve().then(() => (init_ultrareviewCommand(), exports_ultrareviewCommand))
458771
458764
  };
@@ -459356,7 +459349,7 @@ var init_status3 = __esm(() => {
459356
459349
  status = {
459357
459350
  type: "local-jsx",
459358
459351
  name: "status",
459359
- description: "Show Claude Code status including version, model, account, API connectivity, and tool statuses",
459352
+ description: "Show Cody status including version, model, account, API connectivity, and tool statuses",
459360
459353
  immediate: true,
459361
459354
  load: () => Promise.resolve().then(() => (init_status2(), exports_status))
459362
459355
  };
@@ -459711,7 +459704,7 @@ function startDetachedPoll(taskId, sessionId, url3, getAppState, setAppState) {
459711
459704
  ultraplanSessionUrl: undefined
459712
459705
  } : prev);
459713
459706
  enqueuePendingNotification({
459714
- value: [`Ultraplan approved \u2014 executing in Claude Code on the web. Follow along at: ${url3}`, "", "Results will land as a pull request when the remote session finishes. There is nothing to do here."].join(`
459707
+ value: [`Ultraplan approved \u2014 executing in Cody on the web. Follow along at: ${url3}`, "", "Results will land as a pull request when the remote session finishes. There is nothing to do here."].join(`
459715
459708
  `),
459716
459709
  mode: "task-notification"
459717
459710
  });
@@ -459765,10 +459758,10 @@ Session: ${url3}`,
459765
459758
  function buildLaunchMessage(disconnectedBridge) {
459766
459759
  const prefix = disconnectedBridge ? `${REMOTE_CONTROL_DISCONNECTED_MSG} ` : "";
459767
459760
  return `${DIAMOND_OPEN} ultraplan
459768
- ${prefix}Starting Claude Code on the web\u2026`;
459761
+ ${prefix}Starting Cody on the web\u2026`;
459769
459762
  }
459770
459763
  function buildSessionReadyMessage(url3) {
459771
- return `${DIAMOND_OPEN} ultraplan \xB7 Monitor progress in Claude Code on the web ${url3}
459764
+ return `${DIAMOND_OPEN} ultraplan \xB7 Monitor progress in Cody on the web ${url3}
459772
459765
  You can continue working \u2014 when the ${DIAMOND_OPEN} fills, press \u2193 to view results`;
459773
459766
  }
459774
459767
  function buildAlreadyActiveMessage(url3) {
@@ -459821,7 +459814,7 @@ async function launchUltraplan2(opts) {
459821
459814
  "in your prompt",
459822
459815
  "",
459823
459816
  "Advanced multi-agent plan mode with our most powerful model",
459824
- "(Opus). Runs in Claude Code on the web. When the plan is ready,",
459817
+ "(Opus). Runs in Cody on the web. When the plan is ready,",
459825
459818
  "you can execute it in the web session or send it back here.",
459826
459819
  "Terminal stays free while the remote plans.",
459827
459820
  "Requires /login.",
@@ -460006,7 +459999,7 @@ var init_ultraplan = __esm(() => {
460006
459999
  ultraplan_default = {
460007
460000
  type: "local-jsx",
460008
460001
  name: "ultraplan",
460009
- description: `~10\u201330 min \xB7 Claude Code on the web drafts an advanced plan you can edit and approve. See ${CCR_TERMS_URL2}`,
460002
+ description: `~10\u201330 min \xB7 Cody on the web drafts an advanced plan you can edit and approve. See ${CCR_TERMS_URL2}`,
460010
460003
  argumentHint: "<prompt>",
460011
460004
  isEnabled: () => false,
460012
460005
  load: () => Promise.resolve({
@@ -462290,7 +462283,7 @@ var init_mappers = __esm(() => {
462290
462283
  // src/components/tasks/RemoteSessionDetailDialog.tsx
462291
462284
  function formatToolUseSummary(name3, input) {
462292
462285
  if (name3 === EXIT_PLAN_MODE_V2_TOOL_NAME) {
462293
- return "Review the plan in Claude Code on the web";
462286
+ return "Review the plan in Cody on the web";
462294
462287
  }
462295
462288
  if (!input || typeof input !== "object")
462296
462289
  return name3;
@@ -462404,7 +462397,7 @@ function UltraplanSessionDetail(t0) {
462404
462397
  if ($3[12] === Symbol.for("react.memo_cache_sentinel")) {
462405
462398
  t72 = /* @__PURE__ */ jsx_dev_runtime285.jsxDEV(ThemedText, {
462406
462399
  dimColor: true,
462407
- children: "This will terminate the Claude Code on the web session."
462400
+ children: "This will terminate the Cody on the web session."
462408
462401
  }, undefined, false, undefined, this);
462409
462402
  $3[12] = t72;
462410
462403
  } else {
@@ -462615,7 +462608,7 @@ function UltraplanSessionDetail(t0) {
462615
462608
  let t19;
462616
462609
  if ($3[47] === Symbol.for("react.memo_cache_sentinel")) {
462617
462610
  t19 = {
462618
- label: "Review in Claude Code on the web",
462611
+ label: "Review in Cody on the web",
462619
462612
  value: "open"
462620
462613
  };
462621
462614
  $3[47] = t19;
@@ -462947,13 +462940,13 @@ function ReviewSessionDetail(t0) {
462947
462940
  let t32;
462948
462941
  if ($3[11] !== completed || $3[12] !== onKill || $3[13] !== running) {
462949
462942
  t32 = completed ? [{
462950
- label: "Open in Claude Code on the web",
462943
+ label: "Open in Cody on the web",
462951
462944
  value: "open"
462952
462945
  }, {
462953
462946
  label: "Dismiss",
462954
462947
  value: "dismiss"
462955
462948
  }] : [{
462956
- label: "Open in Claude Code on the web",
462949
+ label: "Open in Cody on the web",
462957
462950
  value: "open"
462958
462951
  }, ...onKill && running ? [{
462959
462952
  label: "Stop ultrareview",
@@ -464172,7 +464165,7 @@ function BackgroundTasksDialog({
464172
464165
  async function killRemoteAgentTask(taskId_3) {
464173
464166
  await RemoteAgentTask.kill(taskId_3, setAppState);
464174
464167
  }
464175
- const onDoneEvent = (__useEffectEvent || import_react165.useEffectEvent)(onDone);
464168
+ const onDoneEvent = (import_react165.useEffectEvent || function(fn){ var _r=require_react(); var _ref=_r.useRef(fn); _r.useLayoutEffect(function(){_ref.current=fn}); return _r.useCallback(function(){return _ref.current.apply(void 0,arguments)},[]); })(onDone);
464176
464169
  import_react165.useEffect(() => {
464177
464170
  if (viewState.mode !== "list") {
464178
464171
  const task = (typedTasks ?? {})[viewState.itemId];
@@ -465557,8 +465550,8 @@ function ThinkbackMenu(t0) {
465557
465550
  let t7;
465558
465551
  if ($3[16] !== handleCancel || $3[17] !== t6) {
465559
465552
  t7 = /* @__PURE__ */ jsx_dev_runtime291.jsxDEV(Dialog, {
465560
- title: "Think Back on 2025 with Claude Code",
465561
- subtitle: "Generate your 2025 Claude Code Think Back (takes a few minutes to run)",
465553
+ title: "Think Back on 2025 with Cody",
465554
+ subtitle: "Generate your 2025 Cody Think Back (takes a few minutes to run)",
465562
465555
  onCancel: handleCancel,
465563
465556
  color: "claude",
465564
465557
  children: t6
@@ -465767,7 +465760,7 @@ async function call40(onDone) {
465767
465760
  onDone
465768
465761
  }, undefined, false, undefined, this);
465769
465762
  }
465770
- var import_compiler_runtime229, import_react166, jsx_dev_runtime291, OFFICIAL_MARKETPLACE_REPO = "anthropics/claude-plugins-official", SKILL_NAME = "thinkback", EDIT_PROMPT = 'Use the Skill tool to invoke the "thinkback" skill with mode=edit to modify my existing Claude Code year in review animation. Ask me what I want to change. When the animation is ready, tell the user to run /think-back again to play it.', FIX_PROMPT = 'Use the Skill tool to invoke the "thinkback" skill with mode=fix to fix validation or rendering errors in my existing Claude Code year in review animation. Run the validator, identify errors, and fix them. When the animation is ready, tell the user to run /think-back again to play it.', REGENERATE_PROMPT = 'Use the Skill tool to invoke the "thinkback" skill with mode=regenerate to create a completely new Claude Code year in review animation from scratch. Delete the existing animation and start fresh. When the animation is ready, tell the user to run /think-back again to play it.';
465763
+ var import_compiler_runtime229, import_react166, jsx_dev_runtime291, OFFICIAL_MARKETPLACE_REPO = "anthropics/claude-plugins-official", SKILL_NAME = "thinkback", EDIT_PROMPT = 'Use the Skill tool to invoke the "thinkback" skill with mode=edit to modify my existing Cody year in review animation. Ask me what I want to change. When the animation is ready, tell the user to run /think-back again to play it.', FIX_PROMPT = 'Use the Skill tool to invoke the "thinkback" skill with mode=fix to fix validation or rendering errors in my existing Cody year in review animation. Run the validator, identify errors, and fix them. When the animation is ready, tell the user to run /think-back again to play it.', REGENERATE_PROMPT = 'Use the Skill tool to invoke the "thinkback" skill with mode=regenerate to create a completely new Cody year in review animation from scratch. Delete the existing animation and start fresh. When the animation is ready, tell the user to run /think-back again to play it.';
465771
465764
  var init_thinkback = __esm(() => {
465772
465765
  init_execa();
465773
465766
  init_select();
@@ -465800,7 +465793,7 @@ var init_thinkback2 = __esm(() => {
465800
465793
  thinkback = {
465801
465794
  type: "local-jsx",
465802
465795
  name: "think-back",
465803
- description: "Your 2025 Claude Code Year in Review",
465796
+ description: "Your 2025 Cody Year in Review",
465804
465797
  isEnabled: () => checkStatsigFeatureGate_CACHED_MAY_BE_STALE("tengu_thinkback"),
465805
465798
  load: () => Promise.resolve().then(() => (init_thinkback(), exports_thinkback))
465806
465799
  };
@@ -466694,7 +466687,7 @@ function RemoveWorkspaceDirectory(t0) {
466694
466687
  let t4;
466695
466688
  if ($3[10] === Symbol.for("react.memo_cache_sentinel")) {
466696
466689
  t4 = /* @__PURE__ */ jsx_dev_runtime296.jsxDEV(ThemedText, {
466697
- children: "Claude Code will no longer have access to files in this directory."
466690
+ children: "Cody will no longer have access to files in this directory."
466698
466691
  }, undefined, false, undefined, this);
466699
466692
  $3[10] = t4;
466700
466693
  } else {
@@ -467375,9 +467368,9 @@ function PermissionRulesTab(t0) {
467375
467368
  let t8;
467376
467369
  if ($3[10] === Symbol.for("react.memo_cache_sentinel")) {
467377
467370
  t8 = {
467378
- allow: "Claude Code won't ask before using allowed tools.",
467379
- ask: "Claude Code will always ask for confirmation before using these tools.",
467380
- deny: "Claude Code will always reject requests to use denied tools."
467371
+ allow: "Cody won't ask before using allowed tools.",
467372
+ ask: "Cody will always ask for confirmation before using these tools.",
467373
+ deny: "Cody will always reject requests to use denied tools."
467381
467374
  };
467382
467375
  $3[10] = t8;
467383
467376
  } else {
@@ -468140,7 +468133,7 @@ function PermissionRuleList(t0) {
468140
468133
  let t28;
468141
468134
  if ($3[89] === Symbol.for("react.memo_cache_sentinel")) {
468142
468135
  t28 = /* @__PURE__ */ jsx_dev_runtime298.jsxDEV(ThemedText, {
468143
- children: "Claude Code can read files in the workspace, and make edits when auto-accept edits is on."
468136
+ children: "Cody can read files in the workspace, and make edits when auto-accept edits is on."
468144
468137
  }, undefined, false, undefined, this);
468145
468138
  $3[89] = t28;
468146
468139
  } else {
@@ -469160,7 +469153,7 @@ function Passes({
469160
469153
  children: /* @__PURE__ */ jsx_dev_runtime303.jsxDEV(ThemedText, {
469161
469154
  dimColor: true,
469162
469155
  children: [
469163
- referrerReward ? `Share a free week of Claude Code with friends. If they love it and subscribe, you'll get ${formatCreditAmount(referrerReward)} of extra usage to keep building. ` : "Share a free week of Claude Code with friends. ",
469156
+ referrerReward ? `Share a free week of Cody with friends. If they love it and subscribe, you'll get ${formatCreditAmount(referrerReward)} of extra usage to keep building. ` : "Share a free week of Cody with friends. ",
469164
469157
  /* @__PURE__ */ jsx_dev_runtime303.jsxDEV(Link, {
469165
469158
  url: referrerReward ? "https://support.claude.com/en/articles/13456702-claude-code-guest-passes" : "https://support.claude.com/en/articles/12875061-claude-code-guest-passes",
469166
469159
  children: "Terms apply."
@@ -469244,9 +469237,9 @@ var init_passes2 = __esm(() => {
469244
469237
  get description() {
469245
469238
  const reward = getCachedReferrerReward();
469246
469239
  if (reward) {
469247
- return "Share a free week of Claude Code with friends and earn extra usage";
469240
+ return "Share a free week of Cody with friends and earn extra usage";
469248
469241
  }
469249
- return "Share a free week of Claude Code with friends";
469242
+ return "Share a free week of Cody with friends";
469250
469243
  },
469251
469244
  get isHidden() {
469252
469245
  const { eligible: eligible2, hasCache } = checkCachedPassesEligibility();
@@ -478083,7 +478076,7 @@ var init_plugin2 = __esm(() => {
478083
478076
  type: "local-jsx",
478084
478077
  name: "plugin",
478085
478078
  aliases: ["plugins", "marketplace"],
478086
- description: "Manage Claude Code plugins",
478079
+ description: "Manage Cody plugins",
478087
478080
  immediate: true,
478088
478081
  load: () => Promise.resolve().then(() => (init_plugin(), exports_plugin))
478089
478082
  };
@@ -480335,7 +480328,7 @@ function getNativeMessagingHostsDirs() {
480335
480328
  if (platform6 === "windows") {
480336
480329
  const home = homedir30();
480337
480330
  const appData = process.env.APPDATA || join121(home, "AppData", "Local");
480338
- return [join121(appData, "Claude Code", "ChromeNativeHost")];
480331
+ return [join121(appData, "Cody", "ChromeNativeHost")];
480339
480332
  }
480340
480333
  return getAllNativeMessagingHostsDirs().map(({ path: path23 }) => path23);
480341
480334
  }
@@ -480346,7 +480339,7 @@ async function installChromeNativeHostManifest(manifestBinaryPath) {
480346
480339
  }
480347
480340
  const manifest = {
480348
480341
  name: NATIVE_HOST_IDENTIFIER,
480349
- description: "Claude Code Browser Extension Native Host",
480342
+ description: "Cody Browser Extension Native Host",
480350
480343
  path: manifestBinaryPath,
480351
480344
  type: "stdio",
480352
480345
  allowed_origins: [
@@ -480414,11 +480407,11 @@ async function createWrapperScript(command18) {
480414
480407
  const wrapperPath = platform6 === "windows" ? join121(chromeDir, "chrome-native-host.bat") : join121(chromeDir, "chrome-native-host");
480415
480408
  const scriptContent = platform6 === "windows" ? `@echo off
480416
480409
  REM Chrome native host wrapper script
480417
- REM Generated by Claude Code - do not edit manually
480410
+ REM Generated by Cody - do not edit manually
480418
480411
  ${command18}
480419
480412
  ` : `#!/bin/sh
480420
480413
  # Chrome native host wrapper script
480421
- # Generated by Claude Code - do not edit manually
480414
+ # Generated by Cody - do not edit manually
480422
480415
  exec ${command18}
480423
480416
  `;
480424
480417
  const existingContent = await readFile49(wrapperPath, "utf-8").catch(() => null);
@@ -480671,7 +480664,7 @@ function ClaudeInChromeMenu(t0) {
480671
480664
  let t6;
480672
480665
  if ($3[20] === Symbol.for("react.memo_cache_sentinel")) {
480673
480666
  t6 = /* @__PURE__ */ jsx_dev_runtime344.jsxDEV(ThemedText, {
480674
- children: "Claude in Chrome works with the Chrome extension to let you control your browser directly from Claude Code. Navigate websites, fill forms, capture screenshots, record GIFs, and debug with console logs and network requests."
480667
+ children: "Claude in Chrome works with the Chrome extension to let you control your browser directly from Cody. Navigate websites, fill forms, capture screenshots, record GIFs, and debug with console logs and network requests."
480675
480668
  }, undefined, false, undefined, this);
480676
480669
  $3[20] = t6;
480677
480670
  } else {
@@ -480915,7 +480908,7 @@ var init_stickers2 = __esm(() => {
480915
480908
  stickers = {
480916
480909
  type: "local",
480917
480910
  name: "stickers",
480918
- description: "Order Claude Code stickers",
480911
+ description: "Order Cody stickers",
480919
480912
  supportsNonInteractive: false,
480920
480913
  load: () => Promise.resolve().then(() => (init_stickers(), exports_stickers))
480921
480914
  };
@@ -482127,7 +482120,7 @@ var init_model3 = __esm(() => {
482127
482120
  type: "local-jsx",
482128
482121
  name: "model",
482129
482122
  get description() {
482130
- return `Set the AI model for Claude Code (currently ${renderModelName(getMainLoopModel())})`;
482123
+ return `Set the AI model for Cody (currently ${renderModelName(getMainLoopModel())})`;
482131
482124
  },
482132
482125
  argumentHint: "[model]",
482133
482126
  get immediate() {
@@ -483273,7 +483266,7 @@ var init_statusline = __esm(() => {
483273
483266
  init_constants3();
483274
483267
  statusline = {
483275
483268
  type: "prompt",
483276
- description: "Set up Claude Code's status line UI",
483269
+ description: "Set up Cody's status line UI",
483277
483270
  contentLength: 0,
483278
483271
  aliases: [],
483279
483272
  name: "statusline",
@@ -484985,7 +484978,7 @@ function Stats2(t0) {
484985
484978
  children: [
484986
484979
  /* @__PURE__ */ jsx_dev_runtime358.jsxDEV(Spinner, {}, undefined, false, undefined, this),
484987
484980
  /* @__PURE__ */ jsx_dev_runtime358.jsxDEV(ThemedText, {
484988
- children: " Loading your Claude Code stats\u2026"
484981
+ children: " Loading your Cody stats\u2026"
484989
484982
  }, undefined, false, undefined, this)
484990
484983
  ]
484991
484984
  }, undefined, true, undefined, this);
@@ -485146,7 +485139,7 @@ function StatsContent(t0) {
485146
485139
  marginTop: 1,
485147
485140
  children: /* @__PURE__ */ jsx_dev_runtime358.jsxDEV(ThemedText, {
485148
485141
  color: "warning",
485149
- children: "No stats available yet. Start using Claude Code!"
485142
+ children: "No stats available yet. Start using Cody!"
485150
485143
  }, undefined, false, undefined, this)
485151
485144
  }, undefined, false, undefined, this);
485152
485145
  $3[15] = t72;
@@ -486375,7 +486368,7 @@ var init_stats3 = __esm(() => {
486375
486368
  stats = {
486376
486369
  type: "local-jsx",
486377
486370
  name: "stats",
486378
- description: "Show your Claude Code usage statistics and activity",
486371
+ description: "Show your Cody usage statistics and activity",
486379
486372
  load: () => Promise.resolve().then(() => (init_stats2(), exports_stats))
486380
486373
  };
486381
486374
  stats_default = stats;
@@ -487139,7 +487132,7 @@ USER INSTRUCTIONS TO CLAUDE:
487139
487132
  `) || "";
487140
487133
  const horizonText = insights.on_the_horizon?.opportunities?.map((o5) => `- ${o5.title}: ${o5.whats_possible}`).join(`
487141
487134
  `) || "";
487142
- const atAGlancePrompt = `You're writing an "At a Glance" summary for a Claude Code usage insights report for Claude Code users. The goal is to help them understand their usage and improve how they can use Claude better, especially as models improve.
487135
+ const atAGlancePrompt = `You're writing an "At a Glance" summary for a Cody usage insights report for Cody users. The goal is to help them understand their usage and improve how they can use Claude better, especially as models improve.
487143
487136
 
487144
487137
  Use this 4-part structure:
487145
487138
 
@@ -487147,7 +487140,7 @@ Use this 4-part structure:
487147
487140
 
487148
487141
  2. **What's hindering you** - Split into (a) Claude's fault (misunderstandings, wrong approaches, bugs) and (b) user-side friction (not providing enough context, environment issues -- ideally more general than just one project). Be honest but constructive.
487149
487142
 
487150
- 3. **Quick wins to try** - Specific Claude Code features they could try from the examples below, or a workflow technique if you think it's really compelling. (Avoid stuff like "Ask Claude to confirm before taking actions" or "Type out more context up front" which are less compelling.)
487143
+ 3. **Quick wins to try** - Specific Cody features they could try from the examples below, or a workflow technique if you think it's really compelling. (Avoid stuff like "Ask Claude to confirm before taking actions" or "Type out more context up front" which are less compelling.)
487151
487144
 
487152
487145
  4. **Ambitious workflows for better models** - As we move to much more capable models over the next 3-6 months, what should they prepare for? What workflows that seem impossible now will become possible? Draw from the appropriate section below.
487153
487146
 
@@ -487336,7 +487329,7 @@ function generateHtmlReport(data, insights) {
487336
487329
  ` : "";
487337
487330
  const interactionStyle = insights.interaction_style;
487338
487331
  const interactionHtml = interactionStyle?.narrative ? `
487339
- <h2 id="section-usage">How You Use Claude Code</h2>
487332
+ <h2 id="section-usage">How You Use Cody</h2>
487340
487333
  <div class="narrative">
487341
487334
  ${markdownToHtml(interactionStyle.narrative)}
487342
487335
  ${interactionStyle.key_pattern ? `<div class="key-insight"><strong>Key pattern:</strong> ${escapeXmlAttr(interactionStyle.key_pattern)}</div>` : ""}
@@ -487375,7 +487368,7 @@ function generateHtmlReport(data, insights) {
487375
487368
  <h2 id="section-features">Existing CC Features to Try</h2>
487376
487369
  <div class="claude-md-section">
487377
487370
  <h3>Suggested CLAUDE.md Additions</h3>
487378
- <p style="font-size: 12px; color: #64748b; margin-bottom: 12px;">Just copy this into Claude Code to add it to your CLAUDE.md.</p>
487371
+ <p style="font-size: 12px; color: #64748b; margin-bottom: 12px;">Just copy this into Cody to add it to your CLAUDE.md.</p>
487379
487372
  <div class="claude-md-actions">
487380
487373
  <button class="copy-all-btn" onclick="copyAllCheckedClaudeMd()">Copy All Checked</button>
487381
487374
  </div>
@@ -487392,7 +487385,7 @@ function generateHtmlReport(data, insights) {
487392
487385
  </div>
487393
487386
  ` : ""}
487394
487387
  ${suggestions.features_to_try && suggestions.features_to_try.length > 0 ? `
487395
- <p style="font-size: 13px; color: #64748b; margin-bottom: 12px;">Just copy this into Claude Code and it'll set it up for you.</p>
487388
+ <p style="font-size: 13px; color: #64748b; margin-bottom: 12px;">Just copy this into Cody and it'll set it up for you.</p>
487396
487389
  <div class="features-section">
487397
487390
  ${suggestions.features_to_try.map((feat) => `
487398
487391
  <div class="feature-card">
@@ -487414,8 +487407,8 @@ function generateHtmlReport(data, insights) {
487414
487407
  </div>
487415
487408
  ` : ""}
487416
487409
  ${suggestions.usage_patterns && suggestions.usage_patterns.length > 0 ? `
487417
- <h2 id="section-patterns">New Ways to Use Claude Code</h2>
487418
- <p style="font-size: 13px; color: #64748b; margin-bottom: 12px;">Just copy this into Claude Code and it'll walk you through it.</p>
487410
+ <h2 id="section-patterns">New Ways to Use Cody</h2>
487411
+ <p style="font-size: 13px; color: #64748b; margin-bottom: 12px;">Just copy this into Cody and it'll walk you through it.</p>
487419
487412
  <div class="patterns-section">
487420
487413
  ${suggestions.usage_patterns.map((pat) => `
487421
487414
  <div class="pattern-card">
@@ -487424,7 +487417,7 @@ function generateHtmlReport(data, insights) {
487424
487417
  ${pat.detail ? `<div class="pattern-detail">${escapeXmlAttr(pat.detail)}</div>` : ""}
487425
487418
  ${pat.copyable_prompt ? `
487426
487419
  <div class="copyable-prompt-section">
487427
- <div class="prompt-label">Paste into Claude Code:</div>
487420
+ <div class="prompt-label">Paste into Cody:</div>
487428
487421
  <div class="copyable-prompt-row">
487429
487422
  <code class="copyable-prompt">${escapeXmlAttr(pat.copyable_prompt)}</code>
487430
487423
  <button class="copy-btn" onclick="copyText(this)">Copy</button>
@@ -487446,7 +487439,7 @@ function generateHtmlReport(data, insights) {
487446
487439
  <div class="horizon-title">${escapeXmlAttr(opp.title || "")}</div>
487447
487440
  <div class="horizon-possible">${escapeXmlAttr(opp.whats_possible || "")}</div>
487448
487441
  ${opp.how_to_try ? `<div class="horizon-tip"><strong>Getting started:</strong> ${escapeXmlAttr(opp.how_to_try)}</div>` : ""}
487449
- ${opp.copyable_prompt ? `<div class="pattern-prompt"><div class="prompt-label">Paste into Claude Code:</div><code>${escapeXmlAttr(opp.copyable_prompt)}</code><button class="copy-btn" onclick="copyText(this)">Copy</button></div>` : ""}
487442
+ ${opp.copyable_prompt ? `<div class="pattern-prompt"><div class="prompt-label">Paste into Cody:</div><code>${escapeXmlAttr(opp.copyable_prompt)}</code><button class="copy-btn" onclick="copyText(this)">Copy</button></div>` : ""}
487450
487443
  </div>
487451
487444
  `).join("")}
487452
487445
  </div>
@@ -487715,13 +487708,13 @@ function generateHtmlReport(data, insights) {
487715
487708
  <html>
487716
487709
  <head>
487717
487710
  <meta charset="utf-8">
487718
- <title>Claude Code Insights</title>
487711
+ <title>Cody Insights</title>
487719
487712
  <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet">
487720
487713
  <style>${css}</style>
487721
487714
  </head>
487722
487715
  <body>
487723
487716
  <div class="container">
487724
- <h1>Claude Code Insights</h1>
487717
+ <h1>Cody Insights</h1>
487725
487718
  <p class="subtitle">${data.total_messages.toLocaleString()} messages across ${data.total_sessions} sessions${data.total_sessions_scanned && data.total_sessions_scanned > data.total_sessions ? ` (${data.total_sessions_scanned.toLocaleString()} total)` : ""} | ${data.date_range.start} to ${data.date_range.end}</p>
487726
487719
 
487727
487720
  ${atAGlanceHtml}
@@ -487785,7 +487778,7 @@ function generateHtmlReport(data, insights) {
487785
487778
  <div class="chart-title">Multi-Clauding (Parallel Sessions)</div>
487786
487779
  ${data.multi_clauding.overlap_events === 0 ? `
487787
487780
  <p style="font-size: 14px; color: #64748b; padding: 8px 0;">
487788
- No parallel session usage detected. You typically work with one Claude Code session at a time.
487781
+ No parallel session usage detected. You typically work with one Cody session at a time.
487789
487782
  </p>
487790
487783
  ` : `
487791
487784
  <div style="display: flex; gap: 24px; margin: 12px 0;">
@@ -487803,7 +487796,7 @@ function generateHtmlReport(data, insights) {
487803
487796
  </div>
487804
487797
  </div>
487805
487798
  <p style="font-size: 13px; color: #475569; margin-top: 12px;">
487806
- You run multiple Claude Code sessions simultaneously. Multi-clauding is detected when sessions
487799
+ You run multiple Cody sessions simultaneously. Multi-clauding is detected when sessions
487807
487800
  overlap in time, suggesting parallel workflows.
487808
487801
  </p>
487809
487802
  `}
@@ -488104,7 +488097,7 @@ function isValidSessionFacets(obj) {
488104
488097
  const o5 = obj;
488105
488098
  return typeof o5.underlying_goal === "string" && typeof o5.outcome === "string" && typeof o5.brief_summary === "string" && o5.goal_categories !== null && typeof o5.goal_categories === "object" && o5.user_satisfaction_counts !== null && typeof o5.user_satisfaction_counts === "object" && o5.friction_counts !== null && typeof o5.friction_counts === "object";
488106
488099
  }
488107
- var EXTENSION_TO_LANGUAGE, LABEL_MAP, FACET_EXTRACTION_PROMPT = `Analyze this Claude Code session and extract structured facets.
488100
+ var EXTENSION_TO_LANGUAGE, LABEL_MAP, FACET_EXTRACTION_PROMPT = `Analyze this Cody session and extract structured facets.
488108
488101
 
488109
488102
  CRITICAL GUIDELINES:
488110
488103
 
@@ -488130,7 +488123,7 @@ CRITICAL GUIDELINES:
488130
488123
  4. If very short or just warmup, use warmup_minimal for goal_category
488131
488124
 
488132
488125
  SESSION:
488133
- `, SUMMARIZE_CHUNK_PROMPT = `Summarize this portion of a Claude Code session transcript. Focus on:
488126
+ `, SUMMARIZE_CHUNK_PROMPT = `Summarize this portion of a Cody session transcript. Focus on:
488134
488127
  1. What the user asked for
488135
488128
  2. What Claude did (tools used, files modified)
488136
488129
  3. Any friction or issues
@@ -488231,12 +488224,12 @@ var init_insights = __esm(() => {
488231
488224
  INSIGHT_SECTIONS = [
488232
488225
  {
488233
488226
  name: "project_areas",
488234
- prompt: `Analyze this Claude Code usage data and identify project areas.
488227
+ prompt: `Analyze this Cody usage data and identify project areas.
488235
488228
 
488236
488229
  RESPOND WITH ONLY A VALID JSON OBJECT:
488237
488230
  {
488238
488231
  "areas": [
488239
- {"name": "Area name", "session_count": N, "description": "2-3 sentences about what was worked on and how Claude Code was used."}
488232
+ {"name": "Area name", "session_count": N, "description": "2-3 sentences about what was worked on and how Cody was used."}
488240
488233
  ]
488241
488234
  }
488242
488235
 
@@ -488245,18 +488238,18 @@ Include 4-5 areas. Skip internal CC operations.`,
488245
488238
  },
488246
488239
  {
488247
488240
  name: "interaction_style",
488248
- prompt: `Analyze this Claude Code usage data and describe the user's interaction style.
488241
+ prompt: `Analyze this Cody usage data and describe the user's interaction style.
488249
488242
 
488250
488243
  RESPOND WITH ONLY A VALID JSON OBJECT:
488251
488244
  {
488252
- "narrative": "2-3 paragraphs analyzing HOW the user interacts with Claude Code. Use second person 'you'. Describe patterns: iterate quickly vs detailed upfront specs? Interrupt often or let Claude run? Include specific examples. Use **bold** for key insights.",
488245
+ "narrative": "2-3 paragraphs analyzing HOW the user interacts with Cody. Use second person 'you'. Describe patterns: iterate quickly vs detailed upfront specs? Interrupt often or let Claude run? Include specific examples. Use **bold** for key insights.",
488253
488246
  "key_pattern": "One sentence summary of most distinctive interaction style"
488254
488247
  }`,
488255
488248
  maxTokens: 8192
488256
488249
  },
488257
488250
  {
488258
488251
  name: "what_works",
488259
- prompt: `Analyze this Claude Code usage data and identify what's working well for this user. Use second person ("you").
488252
+ prompt: `Analyze this Cody usage data and identify what's working well for this user. Use second person ("you").
488260
488253
 
488261
488254
  RESPOND WITH ONLY A VALID JSON OBJECT:
488262
488255
  {
@@ -488271,7 +488264,7 @@ Include 3 impressive workflows.`,
488271
488264
  },
488272
488265
  {
488273
488266
  name: "friction_analysis",
488274
- prompt: `Analyze this Claude Code usage data and identify friction points for this user. Use second person ("you").
488267
+ prompt: `Analyze this Cody usage data and identify friction points for this user. Use second person ("you").
488275
488268
 
488276
488269
  RESPOND WITH ONLY A VALID JSON OBJECT:
488277
488270
  {
@@ -488286,7 +488279,7 @@ Include 3 friction categories with 2 examples each.`,
488286
488279
  },
488287
488280
  {
488288
488281
  name: "suggestions",
488289
- prompt: `Analyze this Claude Code usage data and suggest improvements.
488282
+ prompt: `Analyze this Cody usage data and suggest improvements.
488290
488283
 
488291
488284
  ## CC FEATURES REFERENCE (pick from these for features_to_try):
488292
488285
  1. **MCP Servers**: Connect Claude to external tools, databases, and APIs via Model Context Protocol.
@@ -488329,7 +488322,7 @@ IMPORTANT for features_to_try: Pick 2-3 from the CC FEATURES REFERENCE above. In
488329
488322
  },
488330
488323
  {
488331
488324
  name: "on_the_horizon",
488332
- prompt: `Analyze this Claude Code usage data and identify future opportunities.
488325
+ prompt: `Analyze this Cody usage data and identify future opportunities.
488333
488326
 
488334
488327
  RESPOND WITH ONLY A VALID JSON OBJECT:
488335
488328
  {
@@ -488345,7 +488338,7 @@ Include 3 opportunities. Think BIG - autonomous workflows, parallel agents, iter
488345
488338
  ...[],
488346
488339
  {
488347
488340
  name: "fun_ending",
488348
- prompt: `Analyze this Claude Code usage data and find a memorable moment.
488341
+ prompt: `Analyze this Cody usage data and find a memorable moment.
488349
488342
 
488350
488343
  RESPOND WITH ONLY A VALID JSON OBJECT:
488351
488344
  {
@@ -488375,7 +488368,7 @@ Find something genuinely interesting or amusing from the session summaries.`,
488375
488368
  usageReport = {
488376
488369
  type: "prompt",
488377
488370
  name: "insights",
488378
- description: "Generate a report analyzing your Claude Code sessions",
488371
+ description: "Generate a report analyzing your Cody sessions",
488379
488372
  contentLength: 0,
488380
488373
  progressMessage: "analyzing your sessions",
488381
488374
  source: "builtin",
@@ -488407,7 +488400,7 @@ ${atAGlance.whats_hindering ? `**What's hindering you:** ${atAGlance.whats_hinde
488407
488400
  ${atAGlance.quick_wins ? `**Quick wins to try:** ${atAGlance.quick_wins} See _Features to Try_.` : ""}
488408
488401
 
488409
488402
  ${atAGlance.ambitious_workflows ? `**Ambitious workflows:** ${atAGlance.ambitious_workflows} See _On the Horizon_.` : ""}` : "_No insights generated_";
488410
- const header = `# Claude Code Insights
488403
+ const header = `# Cody Insights
488411
488404
 
488412
488405
  ${stats2}
488413
488406
  ${data.date_range.start} to ${data.date_range.end}
@@ -488419,7 +488412,7 @@ Your full shareable insights report is ready: ${reportUrl}${uploadHint}`;
488419
488412
  return [
488420
488413
  {
488421
488414
  type: "text",
488422
- text: `The user just ran /insights to generate a usage report analyzing their Claude Code sessions.
488415
+ text: `The user just ran /insights to generate a usage report analyzing their Cody sessions.
488423
488416
 
488424
488417
  Here is the full insights data:
488425
488418
  ${jsonStringify(insights, null, 2)}
@@ -493783,7 +493776,7 @@ async function execPromptHook(hook, hookName, hookEvent, jsonInput, signal, tool
493783
493776
  const response7 = await queryModelWithoutStreaming({
493784
493777
  messages: messagesToQuery,
493785
493778
  systemPrompt: asSystemPrompt([
493786
- `You are evaluating a hook in Claude Code.
493779
+ `You are evaluating a hook in Cody.
493787
493780
 
493788
493781
  Your response must be a JSON object matching one of the following schemas:
493789
493782
  1. If the condition is met, return: {"ok": true}
@@ -493949,7 +493942,7 @@ async function execAgentHook(hook, hookName, hookEvent, jsonInput, signal, toolU
493949
493942
  structuredOutputTool
493950
493943
  ];
493951
493944
  const systemPrompt = asSystemPrompt([
493952
- `You are verifying a stop condition in Claude Code. Your task is to verify that the agent completed the given plan. The conversation transcript is available at: ${transcriptPath}
493945
+ `You are verifying a stop condition in Cody. Your task is to verify that the agent completed the given plan. The conversation transcript is available at: ${transcriptPath}
493953
493946
  You can read this file to analyze the conversation history if needed.
493954
493947
 
493955
493948
  Use the available tools to inspect the codebase and verify the condition.
@@ -498191,7 +498184,7 @@ function getSimpleDoingTasksSection() {
498191
498184
  ...[]
498192
498185
  ];
498193
498186
  const userHelpSubitems = [
498194
- `/help: Get help with using Claude Code`,
498187
+ `/help: Get help with using Cody`,
498195
498188
  `To give feedback, users should ${"report at https://github.com/AINative-Studio/core/issues"}`
498196
498189
  ];
498197
498190
  const items = [
@@ -498315,7 +498308,7 @@ function getSimpleToneAndStyleSection() {
498315
498308
  async function getSystemPrompt(tools, model, additionalWorkingDirectories, mcpClients) {
498316
498309
  if (isEnvTruthy(process.env.CLAUDE_CODE_SIMPLE)) {
498317
498310
  return [
498318
- `You are Claude Code, Anthropic's official CLI for Claude.
498311
+ `You are Cody, AINative Studio's AI-powered coding assistant.
498319
498312
 
498320
498313
  CWD: ${getCwd()}
498321
498314
  Date: ${getSessionStartDate()}`
@@ -498423,7 +498416,7 @@ async function computeSimpleEnvInfo(modelId, additionalWorkingDirectories) {
498423
498416
  knowledgeCutoffMessage,
498424
498417
  `The most recent Claude model family is Claude 4.5/4.6. Model IDs \u2014 Opus 4.6: '${CLAUDE_4_5_OR_4_6_MODEL_IDS.opus}', Sonnet 4.6: '${CLAUDE_4_5_OR_4_6_MODEL_IDS.sonnet}', Haiku 4.5: '${CLAUDE_4_5_OR_4_6_MODEL_IDS.haiku}'. When building AI applications, default to the latest and most capable Claude models.`,
498425
498418
  `Cody CLI is available as a CLI in the terminal, desktop app (Mac/Windows), web app (ainative.studio/code), and IDE extensions (VS Code, JetBrains).`,
498426
- `Fast mode for Claude Code uses the same ${FRONTIER_MODEL_NAME} model with faster output. It does NOT switch to a different model. It can be toggled with /fast.`
498419
+ `Fast mode for Cody uses the same ${FRONTIER_MODEL_NAME} model with faster output. It does NOT switch to a different model. It can be toggled with /fast.`
498427
498420
  ].filter((item) => item !== null);
498428
498421
  return [
498429
498422
  `# Environment`,
@@ -498510,7 +498503,7 @@ function getFunctionResultClearingSection(model) {
498510
498503
 
498511
498504
  Old tool results will be automatically cleared from context to free up space. The ${config9.keepRecent} most recent results are always kept.`;
498512
498505
  }
498513
- var getCachedMCConfigForFRC = null, DISCOVER_SKILLS_TOOL_NAME = null, SYSTEM_PROMPT_DYNAMIC_BOUNDARY = "__SYSTEM_PROMPT_DYNAMIC_BOUNDARY__", FRONTIER_MODEL_NAME = "Claude Opus 4.6", CLAUDE_4_5_OR_4_6_MODEL_IDS, DEFAULT_AGENT_PROMPT = `You are an agent for Claude Code, Anthropic's official CLI for Claude. Given the user's message, you should use the tools available to complete the task. Complete the task fully\u2014don't gold-plate, but don't leave it half-done. When you complete the task, respond with a concise report covering what was done and any key findings \u2014 the caller will relay this to the user, so it only needs the essentials.`, SUMMARIZE_TOOL_RESULTS_SECTION = `When working with tool results, write down any important information you might need later in your response, as the original tool result may be cleared later.`;
498506
+ var getCachedMCConfigForFRC = null, DISCOVER_SKILLS_TOOL_NAME = null, SYSTEM_PROMPT_DYNAMIC_BOUNDARY = "__SYSTEM_PROMPT_DYNAMIC_BOUNDARY__", FRONTIER_MODEL_NAME = "Claude Opus 4.6", CLAUDE_4_5_OR_4_6_MODEL_IDS, DEFAULT_AGENT_PROMPT = `You are an agent for Cody, Anthropic's official CLI for Claude. Given the user's message, you should use the tools available to complete the task. Complete the task fully\u2014don't gold-plate, but don't leave it half-done. When you complete the task, respond with a concise report covering what was done and any key findings \u2014 the caller will relay this to the user, so it only needs the essentials.`, SUMMARIZE_TOOL_RESULTS_SECTION = `When working with tool results, write down any important information you might need later in your response, as the original tool result may be cleared later.`;
498514
498507
  var init_prompts4 = __esm(() => {
498515
498508
  init_env();
498516
498509
  init_git();
@@ -504718,7 +504711,7 @@ function CostThresholdDialog(t0) {
504718
504711
  let t4;
504719
504712
  if ($3[4] !== onDone || $3[5] !== t32) {
504720
504713
  t4 = /* @__PURE__ */ jsx_dev_runtime364.jsxDEV(Dialog, {
504721
- title: "You've spent $5 on the Anthropic API this session.",
504714
+ title: "You've spent $5 on the AINative API this session.",
504722
504715
  onCancel: onDone,
504723
504716
  children: [
504724
504717
  t1,
@@ -511270,7 +511263,7 @@ function useDiffInIDE({
511270
511263
  const isUnmounted = import_react210.useRef(false);
511271
511264
  const [hasError, setHasError] = import_react210.useState(false);
511272
511265
  const sha = import_react210.useMemo(() => randomUUID35().slice(0, 6), []);
511273
- const tabName = import_react210.useMemo(() => `\u273B [Claude Code] ${basename42(filePath)} (${sha}) \u29C9`, [filePath, sha]);
511266
+ const tabName = import_react210.useMemo(() => `\u273B [Cody] ${basename42(filePath)} (${sha}) \u29C9`, [filePath, sha]);
511274
511267
  const shouldShowDiffInIDE = hasAccessToIDEExtensionDiffFeature(toolUseContext.options.mcpClients) && getGlobalConfig().diffTool === "auto" && !filePath.endsWith(".ipynb");
511275
511268
  const ideName = getConnectedIdeName(toolUseContext.options.mcpClients) ?? "IDE";
511276
511269
  async function showDiff() {
@@ -514212,7 +514205,7 @@ function buildPlanApprovalOptions({
514212
514205
  });
514213
514206
  if (showUltraplan) {
514214
514207
  options.push({
514215
- label: "No, refine with Ultraplan on Claude Code on the web",
514208
+ label: "No, refine with Ultraplan on Cody on the web",
514216
514209
  value: "ultraplan"
514217
514210
  });
514218
514211
  }
@@ -517481,14 +517474,14 @@ function permissionComponentForTool(tool) {
517481
517474
  function getNotificationMessage(toolUseConfirm) {
517482
517475
  const toolName = toolUseConfirm.tool.userFacingName(toolUseConfirm.input);
517483
517476
  if (toolUseConfirm.tool === ExitPlanModeV2Tool) {
517484
- return "Claude Code needs your approval for the plan";
517477
+ return "Cody needs your approval for the plan";
517485
517478
  }
517486
517479
  if (toolUseConfirm.tool === EnterPlanModeTool) {
517487
- return "Claude Code wants to enter plan mode";
517480
+ return "Cody wants to enter plan mode";
517488
517481
  }
517489
517482
  if (false) {}
517490
517483
  if (!toolName || toolName.trim() === "") {
517491
- return "Claude Code needs your attention";
517484
+ return "Cody needs your attention";
517492
517485
  }
517493
517486
  return `Claude needs your permission to use ${toolName}`;
517494
517487
  }
@@ -518056,7 +518049,7 @@ function ElicitationFormDialog({
518056
518049
  const currentFieldIsText = currentField !== undefined && isTextField(currentField.schema) && !isEnumSchema(currentField.schema);
518057
518050
  const isEditingTextField = currentFieldIsText && !focusedButton;
518058
518051
  useRegisterOverlay("elicitation");
518059
- useNotifyAfterTimeout("Claude Code needs your input", "elicitation_dialog");
518052
+ useNotifyAfterTimeout("Cody needs your input", "elicitation_dialog");
518060
518053
  const syncTextInput = import_react220.useCallback((fieldIndex) => {
518061
518054
  if (fieldIndex === undefined) {
518062
518055
  setTextInputValue("");
@@ -518907,7 +518900,7 @@ function ElicitationURLDialog({
518907
518900
  const phaseRef = import_react220.useRef("prompt");
518908
518901
  const [focusedButton, setFocusedButton] = import_react220.useState("accept");
518909
518902
  const showCancel = waitingState?.showCancel ?? false;
518910
- useNotifyAfterTimeout("Claude Code needs your input", "elicitation_url_dialog");
518903
+ useNotifyAfterTimeout("Cody needs your input", "elicitation_url_dialog");
518911
518904
  useRegisterOverlay("elicitation-url");
518912
518905
  phaseRef.current = phase;
518913
518906
  const onWaitingDismissRef = import_react220.useRef(onWaitingDismiss);
@@ -540024,7 +540017,7 @@ function TranscriptSharePrompt(t0) {
540024
540017
  }, undefined, true, undefined, this),
540025
540018
  /* @__PURE__ */ jsx_dev_runtime446.jsxDEV(ThemedText, {
540026
540019
  bold: true,
540027
- children: "Can Anthropic look at your session transcript to help us improve Claude Code?"
540020
+ children: "Can Anthropic look at your session transcript to help us improve Cody?"
540028
540021
  }, undefined, false, undefined, this)
540029
540022
  ]
540030
540023
  }, undefined, true, undefined, this);
@@ -540967,7 +540960,7 @@ function DesktopUpsellStartup(t0) {
540967
540960
  let t32;
540968
540961
  if ($3[5] === Symbol.for("react.memo_cache_sentinel")) {
540969
540962
  t32 = {
540970
- label: "Open in Claude Code Desktop",
540963
+ label: "Open in Cody Desktop",
540971
540964
  value: "try"
540972
540965
  };
540973
540966
  $3[5] = t32;
@@ -541000,7 +540993,7 @@ function DesktopUpsellStartup(t0) {
541000
540993
  t6 = /* @__PURE__ */ jsx_dev_runtime450.jsxDEV(ThemedBox_default, {
541001
540994
  marginBottom: 1,
541002
540995
  children: /* @__PURE__ */ jsx_dev_runtime450.jsxDEV(ThemedText, {
541003
- children: "Same Claude Code with visual diffs, live app preview, parallel sessions, and more."
540996
+ children: "Same Cody with visual diffs, live app preview, parallel sessions, and more."
541004
540997
  }, undefined, false, undefined, this)
541005
540998
  }, undefined, false, undefined, this);
541006
540999
  $3[8] = t6;
@@ -541018,7 +541011,7 @@ function DesktopUpsellStartup(t0) {
541018
541011
  let t8;
541019
541012
  if ($3[11] !== handleSelect || $3[12] !== t7) {
541020
541013
  t8 = /* @__PURE__ */ jsx_dev_runtime450.jsxDEV(PermissionDialog, {
541021
- title: "Try Claude Code Desktop",
541014
+ title: "Try Cody Desktop",
541022
541015
  children: /* @__PURE__ */ jsx_dev_runtime450.jsxDEV(ThemedBox_default, {
541023
541016
  flexDirection: "column",
541024
541017
  paddingX: 2,
@@ -541386,7 +541379,7 @@ var init_tipRegistry = __esm(() => {
541386
541379
  },
541387
541380
  {
541388
541381
  id: "paste-images-mac",
541389
- content: async () => "Paste images into Claude Code using control+v (not cmd+v!)",
541382
+ content: async () => "Paste images into Cody using control+v (not cmd+v!)",
541390
541383
  cooldownSessions: 10,
541391
541384
  isRelevant: async () => getPlatform() === "macos"
541392
541385
  },
@@ -541455,7 +541448,7 @@ var init_tipRegistry = __esm(() => {
541455
541448
  },
541456
541449
  {
541457
541450
  id: "desktop-app",
541458
- content: async () => "Run Claude Code locally or remotely using the Claude desktop app: clau.de/desktop",
541451
+ content: async () => "Run Cody locally or remotely using the Claude desktop app: clau.de/desktop",
541459
541452
  cooldownSessions: 15,
541460
541453
  isRelevant: async () => getPlatform() !== "linux"
541461
541454
  },
@@ -541463,7 +541456,7 @@ var init_tipRegistry = __esm(() => {
541463
541456
  id: "desktop-shortcut",
541464
541457
  content: async (ctx) => {
541465
541458
  const blue2 = color("suggestion", ctx.theme);
541466
- return `Continue your session in Claude Code Desktop with ${blue2("/desktop")}`;
541459
+ return `Continue your session in Cody Desktop with ${blue2("/desktop")}`;
541467
541460
  },
541468
541461
  cooldownSessions: 15,
541469
541462
  isRelevant: async () => {
@@ -541480,7 +541473,7 @@ var init_tipRegistry = __esm(() => {
541480
541473
  },
541481
541474
  {
541482
541475
  id: "mobile-app",
541483
- content: async () => "/mobile to use Claude Code from the Claude app on your phone",
541476
+ content: async () => "/mobile to use Cody from the Claude app on your phone",
541484
541477
  cooldownSessions: 15,
541485
541478
  isRelevant: async () => true
541486
541479
  },
@@ -541583,7 +541576,7 @@ ${blue2(`/plugin install vercel@${OFFICIAL_MARKETPLACE_NAME}`)}`;
541583
541576
  content: async (ctx) => {
541584
541577
  const claude = color("claude", ctx.theme);
541585
541578
  const reward = getCachedReferrerReward();
541586
- return reward ? `Share Claude Code and earn ${claude(formatCreditAmount(reward))} of extra usage \xB7 ${claude("/passes")}` : `You have free guest passes to share \xB7 ${claude("/passes")}`;
541579
+ return reward ? `Share Cody and earn ${claude(formatCreditAmount(reward))} of extra usage \xB7 ${claude("/passes")}` : `You have free guest passes to share \xB7 ${claude("/passes")}`;
541587
541580
  },
541588
541581
  cooldownSessions: 3,
541589
541582
  isRelevant: async () => {
@@ -545023,7 +545016,7 @@ async function _temp291() {
545023
545016
  priority: "high"
545024
545017
  };
545025
545018
  }
545026
- var NPM_DEPRECATION_MESSAGE = "Claude Code has switched from npm to native installer. Run `claude install` or see https://docs.anthropic.com/en/docs/claude-code/getting-started for more options.";
545019
+ var NPM_DEPRECATION_MESSAGE = "Cody has switched from npm to native installer. Run `claude install` or see https://docs.anthropic.com/en/docs/claude-code/getting-started for more options.";
545027
545020
  var init_useNpmDeprecationNotification = __esm(() => {
545028
545021
  init_doctorDiagnostic();
545029
545022
  init_envUtils();
@@ -545293,7 +545286,7 @@ async function _temp295() {
545293
545286
  children: [
545294
545287
  "Use your existing Claude ",
545295
545288
  subscriptionType,
545296
- " plan with Claude Code",
545289
+ " plan with Cody",
545297
545290
  /* @__PURE__ */ jsx_dev_runtime463.jsxDEV(ThemedText, {
545298
545291
  color: "text",
545299
545292
  dimColor: true,
@@ -547069,7 +547062,7 @@ function REPL({
547069
547062
  const [haikuTitle, setHaikuTitle] = import_react318.useState();
547070
547063
  const haikuTitleAttemptedRef = import_react318.useRef((initialMessages?.length ?? 0) > 0);
547071
547064
  const agentTitle = mainThreadAgentDefinition?.agentType;
547072
- const terminalTitle = sessionTitle ?? agentTitle ?? haikuTitle ?? "Claude Code";
547065
+ const terminalTitle = sessionTitle ?? agentTitle ?? haikuTitle ?? "Cody";
547073
547066
  const isWaitingForApproval = toolUseConfirmQueue.length > 0 || promptQueue.length > 0 || pendingWorkerRequest || pendingSandboxRequest;
547074
547067
  const isShowingLocalJSXCommand = toolJSX?.isLocalJSXCommand === true && toolJSX?.jsx != null;
547075
547068
  const titleIsAnimating = isLoading && !isWaitingForApproval && !isShowingLocalJSXCommand;
@@ -548951,8 +548944,8 @@ ${fileList}`);
548951
548944
  import_react318.useEffect(() => {
548952
548945
  const handleSuspend = () => {
548953
548946
  process.stdout.write(`
548954
- Claude Code has been suspended. Run \`fg\` to bring Claude Code back.
548955
- Note: ctrl + z now suspends Claude Code, ctrl + _ undoes input.
548947
+ Cody has been suspended. Run \`fg\` to bring Cody back.
548948
+ Note: ctrl + z now suspends Cody, ctrl + _ undoes input.
548956
548949
  `);
548957
548950
  };
548958
548951
  const handleResume = () => {
@@ -550883,7 +550876,7 @@ function PreflightStep(t0) {
550883
550876
  children: [
550884
550877
  /* @__PURE__ */ jsx_dev_runtime473.jsxDEV(ThemedText, {
550885
550878
  color: "error",
550886
- children: "Unable to connect to Anthropic services"
550879
+ children: "Unable to connect to AINative services"
550887
550880
  }, undefined, false, undefined, this),
550888
550881
  /* @__PURE__ */ jsx_dev_runtime473.jsxDEV(ThemedText, {
550889
550882
  color: "error",
@@ -550910,7 +550903,7 @@ function PreflightStep(t0) {
550910
550903
  }, undefined, false, undefined, this),
550911
550904
  /* @__PURE__ */ jsx_dev_runtime473.jsxDEV(ThemedText, {
550912
550905
  children: [
550913
- "Note: Claude Code might not be available in your country. Check supported countries at",
550906
+ "Note: Cody might not be available in your country. Check supported countries at",
550914
550907
  " ",
550915
550908
  /* @__PURE__ */ jsx_dev_runtime473.jsxDEV(ThemedText, {
550916
550909
  color: "suggestion",
@@ -552411,7 +552404,7 @@ function Onboarding({
552411
552404
  children: [
552412
552405
  /* @__PURE__ */ jsx_dev_runtime478.jsxDEV(ThemedText, {
552413
552406
  bold: true,
552414
- children: "Use Claude Code's terminal setup?"
552407
+ children: "Use Cody's terminal setup?"
552415
552408
  }, undefined, false, undefined, this),
552416
552409
  /* @__PURE__ */ jsx_dev_runtime478.jsxDEV(ThemedBox_default, {
552417
552410
  flexDirection: "column",
@@ -552900,7 +552893,7 @@ function TrustDialog(t0) {
552900
552893
  }, undefined, true, undefined, this);
552901
552894
  t18 = /* @__PURE__ */ jsx_dev_runtime479.jsxDEV(ThemedText, {
552902
552895
  children: [
552903
- "Claude Code",
552896
+ "Cody",
552904
552897
  "'",
552905
552898
  "ll be able to read, edit, and execute files here."
552906
552899
  ]
@@ -553094,7 +553087,7 @@ function BypassPermissionsModeDialog(t0) {
553094
553087
  children: [
553095
553088
  /* @__PURE__ */ jsx_dev_runtime480.jsxDEV(ThemedText, {
553096
553089
  children: [
553097
- "In Bypass Permissions mode, Claude Code will not ask for your approval before running potentially dangerous commands.",
553090
+ "In Bypass Permissions mode, Cody will not ask for your approval before running potentially dangerous commands.",
553098
553091
  /* @__PURE__ */ jsx_dev_runtime480.jsxDEV(Newline, {}, undefined, false, undefined, this),
553099
553092
  "This mode should only be used in a sandboxed container/VM that has restricted internet access and can easily be restored if damaged."
553100
553093
  ]
@@ -553127,7 +553120,7 @@ function BypassPermissionsModeDialog(t0) {
553127
553120
  let t5;
553128
553121
  if ($3[5] !== onChange) {
553129
553122
  t5 = /* @__PURE__ */ jsx_dev_runtime480.jsxDEV(Dialog, {
553130
- title: "WARNING: Claude Code running in Bypass Permissions mode",
553123
+ title: "WARNING: Cody running in Bypass Permissions mode",
553131
553124
  color: "error",
553132
553125
  onCancel: handleEscape,
553133
553126
  children: [
@@ -553226,7 +553219,7 @@ function ClaudeInChromeOnboarding(t0) {
553226
553219
  if ($3[6] !== t4) {
553227
553220
  t5 = /* @__PURE__ */ jsx_dev_runtime481.jsxDEV(ThemedText, {
553228
553221
  children: [
553229
- "Claude in Chrome works with the Chrome extension to let you control your browser directly from Claude Code. You can navigate websites, fill forms, capture screenshots, record GIFs, and debug with console logs and network requests.",
553222
+ "Claude in Chrome works with the Chrome extension to let you control your browser directly from Cody. You can navigate websites, fill forms, capture screenshots, record GIFs, and debug with console logs and network requests.",
553230
553223
  t4
553231
553224
  ]
553232
553225
  }, undefined, true, undefined, this);
@@ -553857,13 +553850,13 @@ function ResumeTask({
553857
553850
  /* @__PURE__ */ jsx_dev_runtime484.jsxDEV(Spinner, {}, undefined, false, undefined, this),
553858
553851
  /* @__PURE__ */ jsx_dev_runtime484.jsxDEV(ThemedText, {
553859
553852
  bold: true,
553860
- children: "Loading Claude Code sessions\u2026"
553853
+ children: "Loading Cody sessions\u2026"
553861
553854
  }, undefined, false, undefined, this)
553862
553855
  ]
553863
553856
  }, undefined, true, undefined, this),
553864
553857
  /* @__PURE__ */ jsx_dev_runtime484.jsxDEV(ThemedText, {
553865
553858
  dimColor: true,
553866
- children: retrying ? "Retrying\u2026" : "Fetching your Claude Code sessions\u2026"
553859
+ children: retrying ? "Retrying\u2026" : "Fetching your Cody sessions\u2026"
553867
553860
  }, undefined, false, undefined, this)
553868
553861
  ]
553869
553862
  }, undefined, true, undefined, this);
@@ -553876,7 +553869,7 @@ function ResumeTask({
553876
553869
  /* @__PURE__ */ jsx_dev_runtime484.jsxDEV(ThemedText, {
553877
553870
  bold: true,
553878
553871
  color: "error",
553879
- children: "Error loading Claude Code sessions"
553872
+ children: "Error loading Cody sessions"
553880
553873
  }, undefined, false, undefined, this),
553881
553874
  renderErrorSpecificGuidance(loadErrorType),
553882
553875
  /* @__PURE__ */ jsx_dev_runtime484.jsxDEV(ThemedText, {
@@ -553907,7 +553900,7 @@ function ResumeTask({
553907
553900
  /* @__PURE__ */ jsx_dev_runtime484.jsxDEV(ThemedText, {
553908
553901
  bold: true,
553909
553902
  children: [
553910
- "No Claude Code sessions found",
553903
+ "No Cody sessions found",
553911
553904
  currentRepo && /* @__PURE__ */ jsx_dev_runtime484.jsxDEV(ThemedText, {
553912
553905
  children: [
553913
553906
  " for ",
@@ -554106,7 +554099,7 @@ function renderErrorSpecificGuidance(errorType) {
554106
554099
  flexDirection: "row",
554107
554100
  children: /* @__PURE__ */ jsx_dev_runtime484.jsxDEV(ThemedText, {
554108
554101
  dimColor: true,
554109
- children: "Sorry, Claude Code encountered an error"
554102
+ children: "Sorry, Cody encountered an error"
554110
554103
  }, undefined, false, undefined, this)
554111
554104
  }, undefined, false, undefined, this);
554112
554105
  }
@@ -554426,7 +554419,7 @@ function TeleportRepoMismatchDialog(t0) {
554426
554419
  }, undefined, false, undefined, this),
554427
554420
  /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
554428
554421
  children: [
554429
- "Open Claude Code in ",
554422
+ "Open Cody in ",
554430
554423
  /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
554431
554424
  bold: true,
554432
554425
  children: targetRepo
@@ -555339,7 +555332,7 @@ Tell the user that debug logging is now active at \`${debugLogPath}\`, ask them
555339
555332
  `;
555340
555333
  const prompt = `# Debug Skill
555341
555334
 
555342
- Help the user debug an issue they're encountering in this current Claude Code session.
555335
+ Help the user debug an issue they're encountering in this current Cody session.
555343
555336
  ${justEnabledSection}
555344
555337
  ## Session Debug Log
555345
555338
 
@@ -555364,7 +555357,7 @@ Remember that settings are in:
555364
555357
 
555365
555358
  1. Review the user's issue description
555366
555359
  2. The last ${DEFAULT_DEBUG_LINES_READ} lines show the debug file format. Look for [ERROR] and [WARN] entries, stack traces, and failure patterns across the file
555367
- 3. Consider launching the ${CLAUDE_CODE_GUIDE_AGENT_TYPE} subagent to understand the relevant Claude Code features
555360
+ 3. Consider launching the ${CLAUDE_CODE_GUIDE_AGENT_TYPE} subagent to understand the relevant Cody features
555368
555361
  4. Explain what you found in plain language
555369
555362
  5. Suggest concrete fixes or next steps
555370
555363
  `;
@@ -556439,7 +556432,7 @@ function registerStuckSkill() {
556439
556432
  }
556440
556433
  registerBundledSkill({
556441
556434
  name: "stuck",
556442
- description: "[ANT-ONLY] Investigate frozen/stuck/slow Claude Code sessions on this machine and post a diagnostic report to #claude-code-feedback.",
556435
+ description: "[ANT-ONLY] Investigate frozen/stuck/slow Cody sessions on this machine and post a diagnostic report to #claude-code-feedback.",
556443
556436
  userInvocable: true,
556444
556437
  async getPromptForCommand(args) {
556445
556438
  let prompt = STUCK_PROMPT;
@@ -556454,13 +556447,13 @@ ${args}
556454
556447
  }
556455
556448
  });
556456
556449
  }
556457
- var STUCK_PROMPT = `# /stuck \u2014 diagnose frozen/slow Claude Code sessions
556450
+ var STUCK_PROMPT = `# /stuck \u2014 diagnose frozen/slow Cody sessions
556458
556451
 
556459
- The user thinks another Claude Code session on this machine is frozen, stuck, or very slow. Investigate and post a report to #claude-code-feedback.
556452
+ The user thinks another Cody session on this machine is frozen, stuck, or very slow. Investigate and post a report to #claude-code-feedback.
556460
556453
 
556461
556454
  ## What to look for
556462
556455
 
556463
- Scan for other Claude Code processes (excluding the current one \u2014 PID is in \`process.pid\` but for shell commands just exclude the PID you see running this prompt). Process names are typically \`claude\` (installed) or \`cli\` (native dev build).
556456
+ Scan for other Cody processes (excluding the current one \u2014 PID is in \`process.pid\` but for shell commands just exclude the PID you see running this prompt). Process names are typically \`claude\` (installed) or \`cli\` (native dev build).
556464
556457
 
556465
556458
  Signs of a stuck session:
556466
556459
  - **High CPU (\u226590%) sustained** \u2014 likely an infinite loop. Sample twice, 1-2s apart, to confirm it's not a transient spike.
@@ -556472,7 +556465,7 @@ Signs of a stuck session:
556472
556465
 
556473
556466
  ## Investigation steps
556474
556467
 
556475
- 1. **List all Claude Code processes** (macOS/Linux):
556468
+ 1. **List all Cody processes** (macOS/Linux):
556476
556469
  \`\`\`
556477
556470
  ps -axo pid=,pcpu=,rss=,etime=,state=,comm=,command= | grep -E '(claude|cli)' | grep -v grep
556478
556471
  \`\`\`
@@ -556496,7 +556489,7 @@ If you did find a stuck/slow session, post to **#claude-code-feedback** (channel
556496
556489
 
556497
556490
  **Use a two-message structure** to keep the channel scannable:
556498
556491
 
556499
- 1. **Top-level message** \u2014 one short line: hostname, Claude Code version, and a terse symptom (e.g. "session PID 12345 pegged at 100% CPU for 10min" or "git subprocess hung in D state"). No code blocks, no details.
556492
+ 1. **Top-level message** \u2014 one short line: hostname, Cody version, and a terse symptom (e.g. "session PID 12345 pegged at 100% CPU for 10min" or "git subprocess hung in D state"). No code blocks, no details.
556500
556493
  2. **Thread reply** \u2014 the full diagnostic dump. Pass the top-level message's \`ts\` as \`thread_ts\`. Include:
556501
556494
  - PID, CPU%, RSS, state, uptime, command line, child processes
556502
556495
  - Your diagnosis of what's likely wrong
@@ -556520,7 +556513,7 @@ function generateSettingsSchema() {
556520
556513
  function registerUpdateConfigSkill() {
556521
556514
  registerBundledSkill({
556522
556515
  name: "update-config",
556523
- description: 'Use this skill to configure the Claude Code harness via settings.json. Automated behaviors ("from now on when X", "each time X", "whenever X", "before/after X") require hooks configured in settings.json - the harness executes these, not Claude, so memory/preferences cannot fulfill them. Also use for: permissions ("allow X", "add permission", "move permission to"), env vars ("set X=Y"), hook troubleshooting, or any changes to settings.json/settings.local.json files. Examples: "allow npm commands", "add bq permission to global settings", "move permission to user settings", "set DEBUG=true", "when claude stops show X". For simple settings like theme/model, use Config tool.',
556516
+ description: 'Use this skill to configure the Cody harness via settings.json. Automated behaviors ("from now on when X", "each time X", "whenever X", "before/after X") require hooks configured in settings.json - the harness executes these, not Claude, so memory/preferences cannot fulfill them. Also use for: permissions ("allow X", "add permission", "move permission to"), env vars ("set X=Y"), hook troubleshooting, or any changes to settings.json/settings.local.json files. Examples: "allow npm commands", "add bq permission to global settings", "move permission to user settings", "set DEBUG=true", "when claude stops show X". For simple settings like theme/model, use Config tool.',
556524
556517
  allowedTools: ["Read"],
556525
556518
  userInvocable: true,
556526
556519
  async getPromptForCommand(args) {
@@ -556649,7 +556642,7 @@ Plugin syntax: \`plugin-name@source\` where source is \`claude-code-marketplace\
556649
556642
  - \`syntaxHighlightingDisabled\`: Disable diff highlighting
556650
556643
  `, HOOKS_DOCS = `## Hooks Configuration
556651
556644
 
556652
- Hooks run commands at specific points in Claude Code's lifecycle.
556645
+ Hooks run commands at specific points in Cody's lifecycle.
556653
556646
 
556654
556647
  ### Hook Structure
556655
556648
  \`\`\`json
@@ -556848,7 +556841,7 @@ var init_updateConfig = __esm(() => {
556848
556841
  init_bundledSkills();
556849
556842
  UPDATE_CONFIG_PROMPT = `# Update Config Skill
556850
556843
 
556851
- Modify Claude Code configuration by updating settings.json files.
556844
+ Modify Cody configuration by updating settings.json files.
556852
556845
 
556853
556846
  ## When Hooks Are Required (Not Memory)
556854
556847
 
@@ -557148,7 +557141,7 @@ function cliOk(msg) {
557148
557141
 
557149
557142
  // src/commands/mcp/addCommand.ts
557150
557143
  function registerMcpAddCommand(mcp2) {
557151
- mcp2.command("add <name> <commandOrUrl> [args...]").description(`Add an MCP server to Claude Code.
557144
+ mcp2.command("add <name> <commandOrUrl> [args...]").description(`Add an MCP server to Cody.
557152
557145
 
557153
557146
  ` + `Examples:
557154
557147
  ` + ` # Add HTTP server:
@@ -557296,7 +557289,7 @@ var init_addCommand = __esm(() => {
557296
557289
  // src/commands/mcp/xaaIdpCommand.ts
557297
557290
  function registerMcpXaaIdpCommand(mcp2) {
557298
557291
  const xaaIdp = mcp2.command("xaa").description("Manage the XAA (SEP-990) IdP connection");
557299
- xaaIdp.command("setup").description("Configure the IdP connection (one-time setup for all XAA-enabled servers)").requiredOption("--issuer <url>", "IdP issuer URL (OIDC discovery)").requiredOption("--client-id <id>", "Claude Code's client_id at the IdP").option("--client-secret", "Read IdP client secret from MCP_XAA_IDP_CLIENT_SECRET env var").option("--callback-port <port>", "Fixed loopback callback port (only if IdP does not honor RFC 8252 port-any matching)").action((options) => {
557292
+ xaaIdp.command("setup").description("Configure the IdP connection (one-time setup for all XAA-enabled servers)").requiredOption("--issuer <url>", "IdP issuer URL (OIDC discovery)").requiredOption("--client-id <id>", "Cody's client_id at the IdP").option("--client-secret", "Read IdP client secret from MCP_XAA_IDP_CLIENT_SECRET env var").option("--callback-port <port>", "Fixed loopback callback port (only if IdP does not honor RFC 8252 port-any matching)").action((options) => {
557300
557293
  let issuerUrl;
557301
557294
  try {
557302
557295
  issuerUrl = new URL(options.issuer);
@@ -558180,7 +558173,7 @@ async function setup(cwd2, permissionMode, allowDangerouslySkipPermissions, work
558180
558173
  logForDiagnosticsNoPII("info", "setup_started");
558181
558174
  const nodeVersion = process.version.match(/^v(\d+)\./)?.[1];
558182
558175
  if (!nodeVersion || parseInt(nodeVersion) < 18) {
558183
- console.error(source_default.bold.red("Error: Claude Code requires Node.js version 18 or higher."));
558176
+ console.error(source_default.bold.red("Error: Cody requires Node.js version 18 or higher."));
558184
558177
  process.exit(1);
558185
558178
  }
558186
558179
  if (customSessionId) {
@@ -568417,7 +568410,7 @@ async function mcpResetChoicesHandler() {
568417
568410
  enableAllProjectMcpServers: false
568418
568411
  }));
568419
568412
  cliOk(`All project-scoped (.mcp.json) server approvals and rejections have been reset.
568420
- You will be prompted for approval next time you start Claude Code.`);
568413
+ You will be prompted for approval next time you start Cody.`);
568421
568414
  }
568422
568415
  var jsx_dev_runtime491;
568423
568416
  var init_mcp5 = __esm(() => {
@@ -569142,11 +569135,11 @@ function Install({
569142
569135
  }, [force, target]);
569143
569136
  import_react334.useEffect(() => {
569144
569137
  if (state4.type === "success") {
569145
- setTimeout(onDone, 2000, "Claude Code installation completed successfully", {
569138
+ setTimeout(onDone, 2000, "Cody installation completed successfully", {
569146
569139
  display: "system"
569147
569140
  });
569148
569141
  } else if (state4.type === "error") {
569149
- setTimeout(onDone, 3000, "Claude Code installation failed", {
569142
+ setTimeout(onDone, 3000, "Cody installation failed", {
569150
569143
  display: "system"
569151
569144
  });
569152
569145
  }
@@ -569166,7 +569159,7 @@ function Install({
569166
569159
  state4.type === "installing" && /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedText, {
569167
569160
  color: "claude",
569168
569161
  children: [
569169
- "Installing Claude Code native build ",
569162
+ "Installing Cody native build ",
569170
569163
  state4.version,
569171
569164
  "..."
569172
569165
  ]
@@ -569191,7 +569184,7 @@ function Install({
569191
569184
  /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedText, {
569192
569185
  color: "success",
569193
569186
  bold: true,
569194
- children: "Claude Code successfully installed!"
569187
+ children: "Cody successfully installed!"
569195
569188
  }, undefined, false, undefined, this)
569196
569189
  ]
569197
569190
  }, undefined, true, undefined, this),
@@ -569302,7 +569295,7 @@ var init_install = __esm(() => {
569302
569295
  install = {
569303
569296
  type: "local-jsx",
569304
569297
  name: "install",
569305
- description: "Install Claude Code native build",
569298
+ description: "Install Cody native build",
569306
569299
  argumentHint: "[options]",
569307
569300
  async call(onDone, _context, args) {
569308
569301
  const force = args.includes("--force");