| 16613 | `)),process.exit(1)}}function MsY(q){try{let K=Th7(q);bi8(K),DW()}catch(K){if(K instanceof Error)H6(K);process.stderr.write($8.red(`Error processing --setting-sources: ${d6(K)} |
| 16614 | `)),process.exit(1)}}function XsY(){U4("eagerLoadSettings_start");let q=pA7("--settings");if(q)JsY(q);let K=pA7("--setting-sources");if(K!==void 0)MsY(K);U4("eagerLoadSettings_end")}function PsY(q){if(process.env.CLAUDE_CODE_ENTRYPOINT)return;let K=process.argv.slice(2),_=K.indexOf("mcp");if(_!==-1&&K[_+1]==="serve"){process.env.CLAUDE_CODE_ENTRYPOINT="mcp";return}if(i6(process.env.CLAUDE_CODE_ACTION)){process.env.CLAUDE_CODE_ENTRYPOINT="claude-code-github-action";return}process.env.CLAUDE_CODE_ENTRYPOINT=q?"sdk-cli":"cli"}async function WsY(){U4("main_function_start"),process.env.NoDefaultCurrentDirectoryInExePath="1",etK(),process.on("exit",()=>{GsY()}),process.on("SIGINT",()=>{if(process.argv.includes("-p")||process.argv.includes("--print"))return;process.exit(0)}),U4("main_warning_handler_initialized");{let w=process.argv.indexOf("--handle-uri");if(w!==-1&&process.argv[w+1]){let{enableConfigs:j}=await Promise.resolve().then(() => (V1(),G16));j();let H=process.argv[w+1],{handleDeepLinkUri:J}=await Promise.resolve().then(() => (UA7(),FA7)),M=await J(H);process.exit(M)}if(process.platform==="darwin"&&process.env.__CFBundleIdentifier==="com.anthropic.claude-code-url-handler"){let{enableConfigs:j}=await Promise.resolve().then(() => (V1(),G16));j();let{handleUrlSchemeLaunch:H}=await Promise.resolve().then(() => (UA7(),FA7)),J=await H();process.exit(J??1)}}let q=process.argv.slice(2),K=q.includes("-p")||q.includes("--print"),_=q.includes("--init-only"),z=q.some((w)=>w.startsWith("--sdk-url")),Y=K||_||z||!process.stdout.isTTY;if(Y)L16();Pi8(!Y),PsY(Y);let A=(()=>{if(i6(process.env.GITHUB_ACTIONS))return"github-action";if(process.env.CLAUDE_CODE_ENTRYPOINT==="sdk-ts")return"sdk-typescript";if(process.env.CLAUDE_CODE_ENTRYPOINT==="sdk-py")return"sdk-python";if(process.env.CLAUDE_CODE_ENTRYPOINT==="sdk-cli")return"sdk-cli";if(process.env.CLAUDE_CODE_ENTRYPOINT==="claude-vscode")return"claude-vscode";if(process.env.CLAUDE_CODE_ENTRYPOINT==="local-agent")return"local-agent";if(process.env.CLAUDE_CODE_ENTRYPOINT==="claude-desktop")return"claude-desktop";let w=process.env.CLAUDE_CODE_SESSION_ACCESS_TOKEN||process.env.CLAUDE_CODE_WEBSOCKET_AUTH_FILE_DESCRIPTOR;if(process.env.CLAUDE_CODE_ENTRYPOINT==="remote"||w)return"remote";return"cli"})();Wi8(A);let O=process.env.CLAUDE_CODE_QUESTION_PREVIEW_FORMAT;if(O==="markdown"||O==="html")O38(O);else if(!A.startsWith("sdk-")&&A!=="claude-desktop"&&A!=="local-agent"&&A!=="remote")O38("markdown");if(process.env.CLAUDE_CODE_ENVIRONMENT_KIND==="bridge")Zi8("remote-control");U4("main_client_type_determined"),XsY(),U4("main_before_run"),await fsY(),U4("main_after_run")}async function DsY(q,K){if(!process.stdin.isTTY&&!process.argv.includes("mcp")){if(K==="stream-json")return process.stdin;process.stdin.setEncoding("utf8");let _="",z=($)=>{_+=$};process.stdin.on("data",z);let Y=await Do8(process.stdin,3000);if(process.stdin.off("data",z),Y)process.stderr.write(`Warning: no stdin data received in 3s, proceeding without it. If piping from a slow command, redirect stdin explicitly: < /dev/null to skip, or wait longer. |
| 16615 | `);return[q,_].filter(Boolean).join(` |
| 16616 | `)}return q}async function fsY(){U4("run_function_start");function q(){let j=(H)=>H.long?.replace(/^--/,"")??H.short?.replace(/^-/,"")??"";return Object.assign({sortSubcommands:!0,sortOptions:!0},{compareOptions:(H,J)=>j(H).localeCompare(j(J))})}let K=new zUK().configureHelp(q()).enablePositionalOptions();if(U4("run_commander_initialized"),K.hook("preAction",async(j)=>{if(U4("preAction_start"),await Promise.all([hS7(),ICq()]),U4("preAction_after_mdm"),await NUK(),U4("preAction_after_init"),!i6(process.env.CLAUDE_CODE_DISABLE_TERMINAL_TITLE))process.title="claude";let{initSinks:H}=await Promise.resolve().then(() => (oq8(),lQ8));H(),U4("preAction_after_sinks");let J=j.getOptionValue("pluginDir");if(Array.isArray(J)&&J.length>0&&J.every((M)=>typeof M==="string"))xi8(J),Yk("preAction: --plugin-dir inline plugins");jsY(),U4("preAction_after_migrations"),AI4(),QF1(),U4("preAction_after_remote_settings"),U4("preAction_after_settings_sync")}),K.name("claude").description("Claude Code - starts an interactive session by default, use -p/--print for non-interactive output").argument("[prompt]","Your prompt",String).helpOption("-h, --help","Display help for command").option("-d, --debug [filter]",'Enable debug mode with optional category filtering (e.g., "api,hooks" or "!1p,!file")',(j)=>{return!0}).addOption(new G3("-d2e, --debug-to-stderr","Enable debug mode (to stderr)").argParser(Boolean).hideHelp()).option("--debug-file <path>","Write debug logs to a specific file path (implicitly enables debug mode)",()=>!0).option("--verbose","Override verbose mode setting from config",()=>!0).option("-p, --print","Print response and exit (useful for pipes). Note: The workspace trust dialog is skipped when Claude is run with the -p mode. Only use this flag in directories you trust.",()=>!0).option("--bare","Minimal mode: skip hooks, LSP, plugin sync, attribution, auto-memory, background prefetches, keychain reads, and CLAUDE.md auto-discovery. Sets CLAUDE_CODE_SIMPLE=1. Anthropic auth is strictly ANTHROPIC_API_KEY or apiKeyHelper via --settings (OAuth and keychain are never read). 3P providers (Bedrock/Vertex/Foundry) use their own credentials. Skills still resolve via /skill-name. Explicitly provide context via: --system-prompt[-file], --append-system-prompt[-file], --add-dir (CLAUDE.md dirs), --mcp-config, --settings, --agents, --plugin-dir.",()=>!0).addOption(new G3("--init","Run Setup hooks with init trigger, then continue").hideHelp()).addOption(new G3("--init-only","Run Setup and SessionStart:startup hooks, then exit").hideHelp()).addOption(new G3("--maintenance","Run Setup hooks with maintenance trigger, then continue").hideHelp()).addOption(new G3("--output-format <format>",'Output format (only works with --print): "text" (default), "json" (single result), or "stream-json" (realtime streaming)').choices(["text","json","stream-json"])).addOption(new G3("--json-schema <schema>",'JSON Schema for structured output validation. Example: {"type":"object","properties":{"name":{"type":"string"}},"required":["name"]}').argParser(String)).option("--include-hook-events","Include all hook lifecycle events in the output stream (only works with --output-format=stream-json)",()=>!0).option("--include-partial-messages","Include partial message chunks as they arrive (only works with --print and --output-format=stream-json)",()=>!0).addOption(new G3("--input-format <format>",'Input format (only works with --print): "text" (default), or "stream-json" (realtime streaming input)').choices(["text","stream-json"])).option("--mcp-debug","[DEPRECATED. Use --debug instead] Enable MCP debug mode (shows MCP server errors)",()=>!0).option("--dangerously-skip-permissions","Bypass all permission checks. Recommended only for sandboxes with no internet access.",()=>!0).option("--allow-dangerously-skip-permissions","Enable bypassing all permission checks as an option, without it being enabled by default. Recommended only for sandboxes with no internet access.",()=>!0).addOption(new G3("--thinking <mode>","Thinking mode: enabled (equivalent to adaptive), disabled").choices(["enabled","adaptive","disabled"]).hideHelp()).addOption(new G3("--max-thinking-tokens <tokens>","[DEPRECATED. Use --thinking instead for newer models] Maximum number of thinking tokens (only works with --print)").argParser(Number).hideHelp()).addOption(new G3("--max-turns <turns>","Maximum number of agentic turns in non-interactive mode. This will early exit the conversation after the specified number of turns. (only works with --print)").argParser(Number).hideHelp()).addOption(new G3("--max-budget-usd <amount>","Maximum dollar amount to spend on API calls (only works with --print)").argParser((j)=>{let H=Number(j);if(isNaN(H)||H<=0)throw Error("--max-budget-usd must be a positive number greater than 0");return H})).addOption(new G3("--task-budget <tokens>","API-side task budget in tokens (output_config.task_budget)").argParser((j)=>{let H=Number(j);if(isNaN(H)||H<=0||!Number.isInteger(H))throw Error("--task-budget must be a positive integer");return H}).hideHelp()).option("--replay-user-messages","Re-emit user messages from stdin back on stdout for acknowledgment (only works with --input-format=stream-json and --output-format=stream-json)",()=>!0).addOption(new G3("--enable-auth-status","Enable auth status messages in SDK mode").default(!1).hideHelp()).option("--allowedTools, --allowed-tools <tools...>",'Comma or space-separated list of tool names to allow (e.g. "Bash(git:*) Edit")').option("--tools <tools...>",'Specify the list of available tools from the built-in set. Use "" to disable all tools, "default" to use all tools, or specify tool names (e.g. "Bash,Edit,Read").').option("--disallowedTools, --disallowed-tools <tools...>",'Comma or space-separated list of tool names to deny (e.g. "Bash(git:*) Edit")').option("--mcp-config <configs...>","Load MCP servers from JSON files or strings (space-separated)").addOption(new G3("--permission-prompt-tool <tool>","MCP tool to use for permission prompts (only works with --print)").argParser(String).hideHelp()).addOption(new G3("--system-prompt <prompt>","System prompt to use for the session").argParser(String)).addOption(new G3("--system-prompt-file <file>","Read system prompt from a file").argParser(String).hideHelp()).addOption(new G3("--append-system-prompt <prompt>","Append a system prompt to the default system prompt").argParser(String)).addOption(new G3("--append-system-prompt-file <file>","Read system prompt from a file and append to the default system prompt").argParser(String).hideHelp()).addOption(new G3("--permission-mode <mode>","Permission mode to use for the session").argParser(String).choices(pZ)).option("-c, --continue","Continue the most recent conversation in the current directory",()=>!0).option("-r, --resume [value]","Resume a conversation by session ID, or open interactive picker with optional search term",(j)=>j||!0).option("--fork-session","When resuming, create a new session ID instead of reusing the original (use with --resume or --continue)",()=>!0).addOption(new G3("--prefill <text>","Pre-fill the prompt input with text without submitting it").hideHelp()).addOption(new G3("--deep-link-origin","Signal that this session was launched from a deep link").hideHelp()).addOption(new G3("--deep-link-repo <slug>","Repo slug the deep link ?repo= parameter resolved to the current cwd").hideHelp()).addOption(new G3("--deep-link-last-fetch <ms>","FETCH_HEAD mtime in epoch ms, precomputed by the deep link trampoline").argParser((j)=>{let H=Number(j);return Number.isFinite(H)?H:void 0}).hideHelp()).option("--from-pr [value]","Resume a session linked to a PR by PR number/URL, or open interactive picker with optional search term",(j)=>j||!0).option("--no-session-persistence","Disable session persistence - sessions will not be saved to disk and cannot be resumed (only works with --print)").addOption(new G3("--resume-session-at <message id>","When resuming, only messages up to and including the assistant message with <message.id> (use with --resume in print mode)").argParser(String).hideHelp()).addOption(new G3("--rewind-files <user-message-id>","Restore files to state at the specified user message and exit (requires --resume)").hideHelp()).option("--model <model>","Model for the current session. Provide an alias for the latest model (e.g. 'sonnet' or 'opus') or a model's full name (e.g. 'claude-sonnet-4-6').").addOption(new G3("--effort <level>","Effort level for the current session (low, medium, high, max)").argParser((j)=>{let H=j.toLowerCase(),J=["low","medium","high","max"];if(!J.includes(H))throw new _UK(`It must be one of: ${J.join(", ")}`);return H})).option("--agent <agent>","Agent for the current session. Overrides the 'agent' setting.").option("--betas <betas...>","Beta headers to include in API requests (API key users only)").option("--fallback-model <model>","Enable automatic fallback to specified model when default model is overloaded (only works with --print)").addOption(new G3("--workload <tag>","Workload tag for billing-header attribution (cc_workload). Process-scoped; set by SDK daemon callers that spawn subprocesses for cron work. (only works with --print)").hideHelp()).option("--settings <file-or-json>","Path to a settings JSON file or a JSON string to load additional settings from").option("--add-dir <directories...>","Additional directories to allow tool access to").option("--ide","Automatically connect to IDE on startup if exactly one valid IDE is available",()=>!0).option("--strict-mcp-config","Only use MCP servers from --mcp-config, ignoring all other MCP configurations",()=>!0).option("--session-id <uuid>","Use a specific session ID for the conversation (must be a valid UUID)").option("-n, --name <name>","Set a display name for this session (shown in /resume and terminal title)").option("--agents <json>",`JSON object defining custom agents (e.g. '{"reviewer": {"description": "Reviews code", "prompt": "You are a code reviewer"}}')`).option("--setting-sources <sources>","Comma-separated list of setting sources to load (user, project, local).").option("--plugin-dir <path>","Load plugins from a directory for this session only (repeatable: --plugin-dir A --plugin-dir B)",(j,H)=>[...H,j],[]).option("--disable-slash-commands","Disable all skills",()=>!0).option("--chrome","Enable Claude in Chrome integration").option("--no-chrome","Disable Claude in Chrome integration").option("--file <specs...>","File resources to download at startup. Format: file_id:relative_path (e.g., --file file_abc:doc.txt file_def:img.png)").action(async(j,H)=>{if(U4("action_handler_start"),H.bare)process.env.CLAUDE_CODE_SIMPLE="1";if(j==="code")d("tengu_code_prompt_ignored",{}),console.warn($8.yellow("Tip: You can launch Claude Code with just `claude`")),j=void 0;if(j&&typeof j==="string"&&!/\s/.test(j)&&j.length>0)d("tengu_single_word_prompt",{length:j.length});let J=!1,M,{debug:X=!1,debugToStderr:P=!1,dangerouslySkipPermissions:W,allowDangerouslySkipPermissions:D=!1,tools:f=[],allowedTools:G=[],disallowedTools:Z=[],mcpConfig:T=[],permissionMode:v,addDir:V=[],fallbackModel:E,betas:S=[],ide:R=!1,sessionId:x,includeHookEvents:I,includePartialMessages:B}=H;if(H.prefill)QN1(H.prefill);let p,C=H.agents,g=H.agent,F=H.outputFormat,U=H.inputFormat,c=H.verbose??j8().verbose,K6=H.print,t=H.init??!1,q6=H.initOnly??!1,e=H.maintenance??!1,i=H.disableSlashCommands||!1,$6=!1,M6=$6?typeof $6==="string"?$6:ln1:void 0,j6=bR6()?H.worktree:void 0,G6=typeof j6==="string"?j6:void 0,w6=j6!==void 0,o;if(G6){let J1=xQ8(G6);if(J1!==null)o=J1,G6=void 0}let s=bR6()&&H.tmux===!0;if(s){if(!w6)process.stderr.write($8.red(`Error: --tmux requires --worktree |
| 16617 | `)),process.exit(1);if(Z1()==="windows")process.stderr.write($8.red(`Error: --tmux is not supported on Windows |
| 16618 | `)),process.exit(1);if(!await D_7())process.stderr.write($8.red(`Error: tmux is not installed. |
| 16619 | ${f_7()} |
| 16620 | `)),process.exit(1)}let a;if(nq()){let J1=TsY(H);a=J1;let g7=J1.agentId||J1.agentName||J1.teamName,z4=J1.agentId&&J1.agentName&&J1.teamName;if(g7&&!z4)process.stderr.write($8.red(`Error: --agent-id, --agent-name, and --team-name must all be provided together |
| 16621 | `)),process.exit(1);if(J1.agentId&&J1.agentName&&J1.teamName)Sq5().setDynamicTeamContext?.({agentId:J1.agentId,agentName:J1.agentName,teamName:J1.teamName,color:J1.agentColor,planModeRequired:J1.planModeRequired??!1,parentSessionId:J1.parentSessionId});if(J1.teammateMode)_sY().setCliTeammateModeOverride?.(J1.teammateMode)}let n=H.sdkUrl??void 0,l=B||i6(process.env.CLAUDE_CODE_INCLUDE_PARTIAL_MESSAGES);if(I||i6(process.env.CLAUDE_CODE_REMOTE))$fK(!0);if(n){if(!U)U="stream-json";if(!F)F="stream-json";if(H.verbose===void 0)c=!0;if(!H.print)K6=!0}let A6=H.teleport??null,J6=H.remote,X6=J6===!0?"":J6??null,f6=H.remoteControl??H.rc,N6=!1,Z6=typeof f6==="string"&&f6.length>0?f6:void 0;if(x){if((H.continue||H.resume)&&!H.forkSession)process.stderr.write($8.red(`Error: --session-id can only be used with --continue or --resume if --fork-session is also specified. |
| 16622 | `)),process.exit(1);if(!n){let J1=BL(x);if(!J1)process.stderr.write($8.red(`Error: Invalid session ID. Must be a valid UUID. |
| 16623 | `)),process.exit(1);if(Ks6(J1))process.stderr.write($8.red(`Error: Session ID ${J1} is already in use. |
| 16624 | `)),process.exit(1)}}let V6=H.file;if(V6&&V6.length>0){let J1=WD();if(!J1)process.stderr.write($8.red(`Error: Session token required for file downloads. CLAUDE_CODE_SESSION_ACCESS_TOKEN must be set. |
| 16625 | `)),process.exit(1);let g7=process.env.CLAUDE_CODE_REMOTE_SESSION_ID||N8(),z4=_3K(V6);if(z4.length>0){let G4={baseUrl:process.env.ANTHROPIC_BASE_URL||u7().BASE_API_URL,oauthToken:J1,sessionId:g7};p=q3K(z4,G4)}}let y6=i7();if(E&&H.model&&E===H.model)process.stderr.write($8.red(`Error: Fallback model cannot be the same as the main model. Please specify a different model for --fallback-model. |
| 16626 | `)),process.exit(1);let T6=H.systemPrompt;if(H.systemPromptFile){if(H.systemPrompt)process.stderr.write($8.red(`Error: Cannot use both --system-prompt and --system-prompt-file. Please use only one. |
| 16627 | `)),process.exit(1);try{let J1=vK8(H.systemPromptFile);T6=tA7(J1,"utf8")}catch(J1){if(s1(J1)==="ENOENT")process.stderr.write($8.red(`Error: System prompt file not found: ${vK8(H.systemPromptFile)} |
| 16628 | `)),process.exit(1);process.stderr.write($8.red(`Error reading system prompt file: ${d6(J1)} |
| 16629 | `)),process.exit(1)}}let n6=H.appendSystemPrompt;if(H.appendSystemPromptFile){if(H.appendSystemPrompt)process.stderr.write($8.red(`Error: Cannot use both --append-system-prompt and --append-system-prompt-file. Please use only one. |
| 16630 | `)),process.exit(1);try{let J1=vK8(H.appendSystemPromptFile);n6=tA7(J1,"utf8")}catch(J1){if(s1(J1)==="ENOENT")process.stderr.write($8.red(`Error: Append system prompt file not found: ${vK8(H.appendSystemPromptFile)} |
| 16631 | `)),process.exit(1);process.stderr.write($8.red(`Error reading append system prompt file: ${d6(J1)} |
| 16632 | `)),process.exit(1)}}if(nq()&&a?.agentId&&a?.agentName&&a?.teamName){let J1=KsY().TEAMMATE_SYSTEM_PROMPT_ADDENDUM;n6=n6?`${n6} |
| 16633 | |
| 16634 | ${J1}`:J1}let{mode:o6,notification:I6}=v77({permissionModeCli:v,dangerouslySkipPermissions:W});if(ui8(o6==="bypassPermissions"),H.enableAutoMode||v==="auto"||o6==="auto"||!v&&E77())YsY?.setAutoModeFlagCli(!0);let C6={};if(T&&T.length>0){let J1=T.map((G4)=>G4.trim()).filter((G4)=>G4.length>0),g7={},z4=[];for(let G4 of J1){let Tq=null,ZK=[],W9=m5(G4);if(W9){let VK=za6({configObject:W9,filePath:"command line",expandVars:!0,scope:"dynamic"});if(VK.config)Tq=VK.config.mcpServers;else ZK=VK.errors}else{let VK=vK8(G4),r7=jN6({filePath:VK,expandVars:!0,scope:"dynamic"});if(r7.config)Tq=r7.config.mcpServers;else ZK=r7.errors}if(ZK.length>0)z4.push(...ZK);else if(Tq)g7={...g7,...Tq}}if(z4.length>0){let G4=z4.map((Tq)=>`${Tq.path?Tq.path+": ":""}${Tq.message}`).join(` |
| 16635 | `);N(`--mcp-config validation failed (${z4.length} errors): ${G4}`,{level:"error"}),process.stderr.write(`Error: Invalid MCP configuration: |
| 16636 | ${G4} |
| 16637 | `),process.exit(1)}if(Object.keys(g7).length>0){let G4=Object.entries(g7).filter(([,r7])=>r7.type!=="sdk").map(([r7])=>r7),Tq=null;if(G4.some(yw6))Tq=`Invalid MCP configuration: "${yN}" is a reserved MCP name.`;else{let{isComputerUseMCPServer:r7,COMPUTER_USE_MCP_SERVER_NAME:RK}=await Promise.resolve().then(() => (wi(),dG6));if(G4.some(r7))Tq=`Invalid MCP configuration: "${RK}" is a reserved MCP name.`}if(Tq)process.stderr.write(`Error: ${Tq} |
| 16638 | `),process.exit(1);let ZK=NU(g7,(r7)=>({...r7,scope:"dynamic"})),{allowed:W9,blocked:VK}=bq6(ZK);if(VK.length>0)process.stderr.write(`Warning: MCP ${A7(VK.length,"server")} blocked by enterprise policy: ${VK.join(", ")} |
| 16639 | `);C6={...C6,...W9}}}let l6=H;Ii8(l6.chrome);let S6=UU8(l6.chrome)&&d7(),E6=!S6&&xS6();if(S6){let J1=Z1();try{d("tengu_claude_in_chrome_setup",{platform:J1});let{mcpConfig:g7,allowedTools:z4,systemPrompt:G4}=i37();if(C6={...C6,...g7},G.push(...z4),G4)n6=n6?`${G4} |
| 16640 | |
| 16641 | ${n6}`:G4}catch(g7){d("tengu_claude_in_chrome_setup_failed",{platform:J1}),N(`[Claude in Chrome] Error: ${g7}`),H6(g7),console.error("Error: Failed to run with Claude in Chrome."),process.exit(1)}}else if(E6)try{let{mcpConfig:J1}=i37();C6={...C6,...J1};let g7=_fK;n6=n6?`${n6} |
| 16642 | |
| 16643 | ${g7}`:g7}catch(J1){N(`[Claude in Chrome] Error (auto-enable): ${J1}`)}let R6=H.strictMcpConfig||!1;if(uq6()){if(R6)process.stderr.write($8.red("You cannot use --strict-mcp-config when an enterprise MCP config is present")),process.exit(1);if(C6&&!vR4(C6))process.stderr.write($8.red("You cannot dynamically configure MCP servers when an enterprise MCP config is present")),process.exit(1)}if(Z1()==="macos"&&!i7())try{let{getChicagoEnabled:J1}=await Promise.resolve().then(() => (IN6(),xC4));if(J1()){let{setupComputerUseMCP:g7}=await Promise.resolve().then(() => (J75(),H75)),{mcpConfig:z4,allowedTools:G4}=g7();C6={...C6,...z4},G.push(...G4)}}catch(J1){N(`[Computer Use MCP] Setup failed: ${d6(J1)}`)}qx6(V);let h6;{let J1=(ZK,W9)=>{let VK=[],r7=[];for(let RK of ZK)if(RK.startsWith("plugin:")){let T3=RK.slice(7),X5=T3.indexOf("@");if(X5<=0||X5===T3.length-1)r7.push(RK);else VK.push({kind:"plugin",name:T3.slice(0,X5),marketplace:T3.slice(X5+1)})}else if(RK.startsWith("server:")&&RK.length>7)VK.push({kind:"server",name:RK.slice(7)});else r7.push(RK);if(r7.length>0)process.stderr.write($8.red(`${W9} entries must be tagged: ${r7.join(", ")} |
| 16644 | `+` plugin:<name>@<marketplace> — plugin-provided channel (allowlist enforced) |
| 16645 | `+` server:<name> — manually configured MCP server |
| 16646 | `)),process.exit(1);return VK},g7=H,z4=g7.channels,G4=g7.dangerouslyLoadDevelopmentChannels,Tq=[];if(z4&&z4.length>0)Tq=J1(z4,"--channels"),kc(Tq);if(!y6){if(G4&&G4.length>0)h6=J1(G4,"--dangerously-load-development-channels")}if(Tq.length>0||(h6?.length??0)>0){let ZK=(W9)=>{let VK=W9.flatMap((r7)=>r7.kind==="plugin"?[`${r7.name}@${r7.marketplace}`]:[]);return VK.length>0?VK.sort().join(","):void 0};d("tengu_mcp_channel_flags",{channels_count:Tq.length,dev_count:h6?.length??0,plugins:ZK(Tq),dev_plugins:ZK(h6??[])})}}if(f.length>0){let{BRIEF_TOOL_NAME:J1,LEGACY_BRIEF_TOOL_NAME:g7}=(YI(),Eq(Pl)),{isBriefEntitled:z4}=(dQ(),Eq(IK6)),G4=_C(f);if((G4.includes(J1)||G4.includes(g7))&&z4())tp(!0)}let x6=await k77({allowedToolsCli:G,disallowedToolsCli:Z,baseToolsCli:f,permissionMode:o6,allowDangerouslySkipPermissions:D,addDirs:V}),b6=x6.toolPermissionContext,{warnings:Q6,dangerousPermissions:Y6,overlyBroadBashPermissions:_6}=x6;if(Y6.length>0)b6=Dp(b6);Q6.forEach((J1)=>{console.error(J1)}),we4();let F6=y6&&!R6&&!uq6()&&!f9()?Ew6().then((J1)=>{let{allowed:g7,blocked:z4}=bq6(J1);if(z4.length>0)process.stderr.write(`Warning: claude.ai MCP ${A7(z4.length,"server")} blocked by enterprise policy: ${z4.join(", ")} |
| 16647 | `);return g7}):Promise.resolve({});N("[STARTUP] Loading MCP configs...");let W6=Date.now(),v6,m6=(R6||f9()?Promise.resolve({servers:{}}):Rw6(C6)).then((J1)=>{return v6=Date.now()-W6,J1});if(U&&U!=="text"&&U!=="stream-json")console.error(`Error: Invalid input format "${U}".`),process.exit(1);if(U==="stream-json"&&F!=="stream-json")console.error("Error: --input-format=stream-json requires output-format=stream-json."),process.exit(1);if(n){if(U!=="stream-json"||F!=="stream-json")console.error("Error: --sdk-url requires both --input-format=stream-json and --output-format=stream-json."),process.exit(1)}if(H.replayUserMessages){if(U!=="stream-json"||F!=="stream-json")console.error("Error: --replay-user-messages requires both --input-format=stream-json and --output-format=stream-json."),process.exit(1)}if(l){if(!y6||F!=="stream-json")bc("Error: --include-partial-messages requires --print and --output-format=stream-json."),process.exit(1)}if(H.sessionPersistence===!1&&!y6)bc("Error: --no-session-persistence can only be used with --print mode."),process.exit(1);let H8=await DsY(j||"",U??"text");U4("action_after_input_prompt"),hl8(H);let M8=gD(b6);U4("action_tools_loaded");let X1;if(my4({isNonInteractiveSession:y6})&&H.jsonSchema)X1=r8(H.jsonSchema);if(X1){let J1=FN8(X1);if("tool"in J1)M8=[...M8,J1.tool],d("tengu_structured_output_enabled",{schema_property_count:Object.keys(X1.properties||{}).length,has_required_fields:Boolean(X1.required)});else d("tengu_structured_output_failure",{error:"Invalid JSON schema"})}U4("action_before_setup"),N("[STARTUP] Running setup()...");let j1=Date.now(),{setup:h1}=await Promise.resolve().then(() => (Gl8(),Zl8)),T7=void 0,X7=Z8();if(process.env.CLAUDE_CODE_ENTRYPOINT!=="local-agent")W65(),G15();let Y1=h1(X7,o6,D,w6,G6,s,x?BL(x):void 0,o,T7),Y7=w6?null:u0(X7),P7=w6?null:VC(X7);Y7?.catch(()=>{}),P7?.catch(()=>{}),await Y1,N(`[STARTUP] setup() completed in ${Date.now()-j1}ms`),U4("action_after_setup");let L1=!!H.replayUserMessages;if(i7())xd(),tw(),bO(),zJ8();let B7=H.name?.trim();if(B7)c97(B7);let B1=H.model||process.env.ANTHROPIC_MODEL,j7=H.model==="default"?If():H.model,eq=E==="default"?If():E,AK=w6?Z8():X7;N("[STARTUP] Loading commands and agents...");let X9=Date.now(),[F3,xz]=await Promise.all([Y7??u0(AK),P7??VC(AK)]);N(`[STARTUP] Commands and agents loaded in ${Date.now()-X9}ms`),U4("action_commands_loaded");let S3=[];if(C)try{let J1=m5(C);if(J1)S3=oi6(J1,"flagSettings")}catch(J1){H6(J1)}let P9=[...xz.allAgents,...S3],E9={...xz,allAgents:P9,activeAgents:AN(P9)},u$=g??N7().agent,S4;if(u$){if(S4=E9.activeAgents.find((J1)=>J1.agentType===u$),!S4)N(`Warning: agent "${u$}" not found. Available agents: ${E9.activeAgents.map((J1)=>J1.agentType).join(", ")}. Using default behavior.`)}if(vc(S4?.agentType),S4)d("tengu_agent_flag",{agentType:I2(S4)?S4.agentType:"custom",...g&&{source:"cli"}});if(S4?.agentType)uq8(S4.agentType);if(y6&&S4&&!T6&&!I2(S4)){let J1=S4.getSystemPrompt();if(J1)T6=J1}if(S4?.initialPrompt){if(typeof H8==="string")H8=H8?`${S4.initialPrompt} |
| 16648 | |
| 16649 | ${H8}`:S4.initialPrompt;else if(!H8)H8=S4.initialPrompt}let Mz=j7;if(!Mz&&S4?.model&&S4.model!=="inherit")Mz=A5(S4.model);YP(Mz),$i8(jS()||null);let j2=hX6(),wA=A5(j2??If()),s_;if(UU()){let J1=tq6()?H.advisor:void 0;if(J1){if(N(`[AdvisorTool] --advisor ${J1}`),!nw6(wA))process.stderr.write($8.red(`Error: The model "${wA}" does not support the advisor tool. |
| 16650 | `)),process.exit(1);let g7=uf(A5(J1));if(!QN6(g7))process.stderr.write($8.red(`Error: The model "${J1}" cannot be used as an advisor. |
| 16651 | `)),process.exit(1)}if(s_=tq6()?J1??Gx4():J1,s_)N(`[AdvisorTool] Advisor model: ${s_}`)}if(nq()&&a?.agentId&&a?.agentName&&a?.teamName&&a?.agentType){let J1=E9.activeAgents.find((g7)=>g7.agentType===a.agentType);if(J1){let g7;if(J1.source==="built-in")N(`[teammate] Built-in agent ${a.agentType} - skipping custom prompt (not supported)`);else g7=J1.getSystemPrompt();if(J1.memory)d("tengu_agent_memory_loaded",{...!1,scope:J1.memory,source:"teammate"});if(g7){let z4=` |
| 16652 | # Custom Agent Instructions |
| 16653 | ${g7}`;n6=n6?`${n6} |
| 16654 | |
| 16655 | ${z4}`:z4}}else N(`[teammate] Custom agent ${a.agentType} not found in available agents`)}if(Sl8(H),!i7()&&!sy()&&N7().defaultView==="chat"){let{isBriefEntitled:J1}=(dQ(),Eq(IK6));if(J1())tp(!0)}let N5,qK,Xq;if(!y6){let J1=oeK(!1);qK=J1.getFpsMetrics,Xq=J1.stats;let{createRoot:g7}=await Promise.resolve().then(() => (s6(),Bl6));N5=await g7(J1.renderOptions),d("tengu_timer",{event:"startup",durationMs:Math.round(process.uptime()*1000)}),N("[STARTUP] Running showSetupScreens()...");let z4=Date.now(),G4=await reK(N5,o6,D,F3,S6,h6);if(N(`[STARTUP] showSetupScreens() completed in ${Date.now()-z4}ms`),f6!==void 0){let{getBridgeDisabledReason:ZK}=await Promise.resolve().then(() => (Jd(),nq7)),W9=await ZK();if(N6=W9===null,W9)process.stderr.write($8.yellow(`${W9} |
| 16656 | --rc flag ignored. |
| 16657 | `))}if(G4&&j?.trim().toLowerCase()==="/login")j="";if(G4)oL8(),zs6(),hG6(),U$6(),Promise.resolve().then(() => (rw6(),bx4)).then((ZK)=>{return ZK.clearTrustedDeviceToken(),ZK.enrollTrustedDevice()});let Tq=await qi();if(!Tq.valid)await od(N5,Tq.message)}if(process.exitCode!==void 0){N("Graceful shutdown initiated, skipping further initialization");return}if(za1(),!y6){let{errors:J1}=y_6(),g7=J1.filter((z4)=>!z4.mcpErrorMetadata);if(g7.length>0)await H65(N5,{settingsErrors:g7,onExit:()=>eK(1)})}let H2=g8("tengu_cicada_nap_ms",0),Y_=j8().startupPrefetchedAt??0;if(!(f9()||H2>0&&Date.now()-Y_<H2)){let J1=Y_>0?` last ran ${Math.round((Date.now()-Y_)/1000)}s ago`:"";if(N(`Starting background startup prefetches${J1}`),kN4().catch((g7)=>H6(g7)),otK(),oRK(),!g8("tengu_miraculo_the_bard",!1))gJ8();else mX1();if(H2>0)b8((g7)=>({...g7,startupPrefetchedAt:Date.now()}))}else N(`Skipping startup prefetches, last ran ${Math.round((Date.now()-Y_)/1000)}s ago`),mX1();if(!y6)miK();let{servers:t_}=await m6;N(`[STARTUP] MCP configs resolved in ${v6}ms (awaited at +${Date.now()-W6}ms)`);let a3={...t_,...C6},e5={},v_={};for(let[J1,g7]of Object.entries(a3)){let z4=g7;if(z4.type==="sdk")e5[J1]=z4;else v_[J1]=z4}U4("action_mcp_configs_loaded");let bw=y6?Promise.resolve({clients:[],tools:[],commands:[]}):Ua6(v_),FA=y6?Promise.resolve({clients:[],tools:[],commands:[]}):F6.then((J1)=>Object.keys(J1).length>0?Ua6(J1):{clients:[],tools:[],commands:[]}),UA=Promise.all([bw,FA]).then(([J1,g7])=>({clients:[...J1.clients,...g7.clients],tools:u2([...J1.tools,...g7.tools],"name"),commands:u2([...J1.commands,...g7.commands],"name")})),oO=q6||t||e||y6||H.continue||H.resume?null:xD("startup",{agentType:S4?.agentType,model:wA}),nY=[];UA.catch(()=>{});let e2=[],uK=[],e_=[],q3=j76(),j$=q3!==!1?{type:"adaptive"}:{type:"disabled"};if(H.thinking==="adaptive"||H.thinking==="enabled")q3=!0,j$={type:"adaptive"};else if(H.thinking==="disabled")q3=!1,j$={type:"disabled"};else{let J1=process.env.MAX_THINKING_TOKENS?parseInt(process.env.MAX_THINKING_TOKENS,10):H.maxThinkingTokens;if(J1!==void 0){if(J1>0)q3=!0,j$={type:"enabled",budgetTokens:J1};else if(J1===0)q3=!1,j$={type:"disabled"}}}if(c8("info","started",{version:{ISSUES_EXPLAINER:"report the issue at https://github.com/anthropics/claude-code/issues",PACKAGE_URL:"@anthropic-ai/claude-code",README_URL:"https://code.claude.com/docs/en/overview",VERSION:"2.1.88",FEEDBACK_CHANNEL:"https://github.com/anthropics/claude-code/issues",BUILD_TIME:"2026-03-30T21:59:52Z"}.VERSION,is_native_binary:jj()}),pq(async()=>{c8("info","exited")}),ZsY({hasInitialPrompt:Boolean(j),hasStdin:Boolean(H8),verbose:c,debug:X,debugToStderr:P,print:K6??!1,outputFormat:F??"text",inputFormat:U??"text",numAllowedTools:G.length,numDisallowedTools:Z.length,mcpClientCount:Object.keys(a3).length,worktreeEnabled:w6,skipWebFetchPreflight:N7().skipWebFetchPreflight,githubActionInputs:process.env.GITHUB_ACTION_INPUTS,dangerouslySkipPermissionsPassed:W??!1,permissionMode:o6,modeIsBypass:o6==="bypassPermissions",allowDangerouslySkipPermissionsPassed:D,systemPromptFlag:T6?H.systemPromptFile?"file":"flag":void 0,appendSystemPromptFlag:n6?H.appendSystemPromptFile?"file":"flag":void 0,thinkingConfig:j$,assistantActivationPath:void 0}),rgK(v_,b6),Lp8(null,"initialization"),$sY(),bMK().then((J1)=>{if(!J1)return;if(B7)cQ(B7);pm8().then((g7)=>{if(g7>=2)d("tengu_concurrent_sessions",{num_sessions:g7})})}),f9());else if(y6)await Q17(),U4("action_after_plugins_init"),R17().then(()=>cj6());else Q17().then(async()=>{U4("action_after_plugins_init"),await R17(),cj6()});let fK=q6||t?"init":e?"maintenance":null;if(q6){xd(),await yx8("init",{forceSyncExecution:!0}),await xD("startup",{forceSyncExecution:!0}),eK(0);return}if(y6){if(F==="stream-json"||F==="json")dJ7(!0);xd(),oQ8();let J1=H.continue||H.resume||A6||fK?void 0:xD("startup");J1?.catch(()=>{}),U4("before_validateForceLoginOrg");let g7=await qi();if(!g7.valid)process.stderr.write(g7.message+` |
| 16658 | `),process.exit(1);let z4=i?[]:F3.filter((OK)=>OK.type==="prompt"&&!OK.disableNonInteractive||OK.type==="local"&&OK.supportsNonInteractive),G4=$w6(),Tq={...G4,mcp:{...G4.mcp,clients:e2,commands:e_,tools:uK},toolPermissionContext:b6,effortValue:OC(H.effort)??XS1(),...BK()&&{fastMode:xX1(Mz??null)},...UU()&&s_&&{advisorModel:s_},...{}},ZK=c16(Tq,Ss);if(b6.mode==="bypassPermissions"||D)y77(b6);if(Be6(b6,ZK.getState().fastMode).then(({updateContext:OK})=>{ZK.setState((L9)=>{let x5=OK(L9.toolPermissionContext);if(x5===L9.toolPermissionContext)return L9;return{...L9,toolPermissionContext:x5}})}),H.sessionPersistence===!1)pi8(!0);Ai8(tSq(S));let W9=(OK,L9)=>{if(Object.keys(OK).length===0)return Promise.resolve();return ZK.setState((x5)=>({...x5,mcp:{...x5.mcp,clients:[...x5.mcp.clients,...Object.entries(OK).map(([iY,C3])=>({name:iY,type:"pending",config:C3}))]}})),mN6(({client:x5,tools:iY,commands:C3})=>{ZK.setState((y5)=>({...y5,mcp:{...y5.mcp,clients:y5.mcp.clients.some((v3)=>v3.name===x5.name)?y5.mcp.clients.map((v3)=>v3.name===x5.name?x5:v3):[...y5.mcp.clients,x5],tools:u2([...y5.mcp.tools,...iY],"name"),commands:u2([...y5.mcp.commands,...C3],"name")}}))},OK).catch((x5)=>N(`[MCP] ${L9} connect error: ${x5}`))};U4("before_connectMcp"),await W9(v_,"regular"),U4("after_connectMcp");let VK=5000,r7=F6.then((OK)=>{if(Object.keys(OK).length>0){let iY=new Set;for(let y5 of Object.values(OK)){let v3=Lw6(y5);if(v3)iY.add(v3)}let C3=new Set;for(let[y5,v3]of Object.entries(v_)){if(!y5.startsWith("plugin:"))continue;let _z=Lw6(v3);if(_z&&iY.has(_z))C3.add(y5)}if(C3.size>0){N(`[MCP] Lazy dedup: suppressing ${C3.size} plugin server(s) that duplicate claude.ai connectors: ${[...C3].join(", ")}`);for(let y5 of ZK.getState().mcp.clients){if(!C3.has(y5.name)||y5.type!=="connected")continue;y5.client.onclose=void 0,pG(y5.name,y5.config).catch(()=>{})}ZK.setState((y5)=>{let{clients:v3,tools:_z,commands:w3,resources:uz}=y5.mcp;v3=v3.filter((J$)=>!C3.has(J$.name)),_z=_z.filter((J$)=>!J$.mcpInfo||!C3.has(J$.mcpInfo.serverName));for(let J$ of C3)w3=JN6(w3,J$),uz=MN6(uz,J$);return{...y5,mcp:{...y5.mcp,clients:v3,tools:_z,commands:w3,resources:uz}}})}}let L9=Sm6(v_,(iY,C3)=>!C3.startsWith("plugin:")),{servers:x5}=Ya6(OK,L9);return W9(x5,"claudeai")}),RK,T3=await Promise.race([r7.then(()=>!1),new Promise((OK)=>{RK=setTimeout((L9)=>L9(!0),VK,OK)})]);if(RK)clearTimeout(RK);if(T3)N(`[MCP] claude.ai connectors not ready after ${VK}ms — proceeding; background connection continues`);if(U4("after_connectMcp_claudeai"),!f9())Xl8(),Promise.resolve().then(() => (V$7(),IrK)).then((OK)=>OK.startBackgroundHousekeeping());Cq5(),U4("before_print_import");let{runHeadless:X5}=await Promise.resolve().then(() => (zq5(),_q5));U4("after_print_import"),X5(H8,()=>ZK.getState(),ZK.setState,z4,M8,e5,E9.activeAgents,{continue:H.continue,resume:H.resume,verbose:c,outputFormat:F,jsonSchema:X1,permissionPromptToolName:H.permissionPromptTool,allowedTools:G,thinkingConfig:j$,maxTurns:H.maxTurns,maxBudgetUsd:H.maxBudgetUsd,taskBudget:H.taskBudget?{total:H.taskBudget}:void 0,systemPrompt:T6,appendSystemPrompt:n6,userSpecifiedModel:Mz,fallbackModel:eq,teleport:A6,sdkUrl:n,replayUserMessages:L1,includePartialMessages:l,forkSession:H.forkSession||!1,resumeSessionAt:H.resumeSessionAt||void 0,rewindFiles:H.rewindFiles,enableAuthStatus:H.enableAuthStatus,agent:g,workload:H.workload,setupTrigger:fK??void 0,sessionStartHooksPromise:J1});return}d("tengu_startup_manual_model_config",{cli_flag:H.model,env_var:process.env.ANTHROPIC_MODEL,settings_file:(N7()||{}).model,subscriptionType:yK(),agent:u$});let p$=oc8(wA),TY=[];if(I6)TY.push({key:"permission-mode-notification",text:I6,priority:"high"});if(p$)TY.push({key:"model-deprecation-warning",text:p$,color:"warning",priority:"high"});if(_6.length>0){let J1=cJ(_6.map((Tq)=>Tq.ruleDisplay)),g7=J1.join(", "),z4=cJ(_6.map((Tq)=>Tq.sourceDisplay)).join(", "),G4=J1.length;TY.push({key:"overly-broad-bash-notification",text:`${g7} allow ${A7(G4,"rule")} from ${z4} ${A7(G4,"was","were")} ignored — not available for Ants, please use auto-mode instead`,color:"warning",priority:"high"})}let qz={...b6,mode:nq()&&Sq5().isPlanModeRequired()?"plan":b6.mode},Kz=sy(),s3=N6||$F()||J,B$=!1,H$={settings:N7(),tasks:{},agentNameRegistry:new Map,verbose:c??j8().verbose??!1,mainLoopModel:j2,mainLoopModelForSession:null,isBriefOnly:Kz,expandedView:j8().showSpinnerTree?"teammates":j8().showExpandedTodos?"tasks":"none",showTeammateMessagePreview:nq()?!1:void 0,selectedIPAgentIndex:-1,coordinatorTaskIndex:-1,viewSelectionMode:"none",footerSelection:null,toolPermissionContext:qz,agent:S4?.agentType,agentDefinitions:E9,mcp:{clients:[],tools:[],commands:[],resources:{},pluginReconnectKey:0},plugins:{enabled:[],disabled:[],commands:[],errors:[],installationStatus:{marketplaces:[],plugins:[]},needsRefresh:!1},statusLineText:void 0,kairosEnabled:J,remoteSessionUrl:void 0,remoteConnectionStatus:"connecting",remoteBackgroundTaskCount:0,replBridgeEnabled:s3||B$,replBridgeExplicit:N6,replBridgeOutboundOnly:B$,replBridgeConnected:!1,replBridgeSessionActive:!1,replBridgeReconnecting:!1,replBridgeConnectUrl:void 0,replBridgeSessionUrl:void 0,replBridgeEnvironmentId:void 0,replBridgeSessionId:void 0,replBridgeError:void 0,replBridgeInitialName:Z6,showRemoteCallout:!1,notifications:{current:null,queue:TY},elicitation:{queue:[]},todos:{},remoteAgentTaskSuggestions:[],fileHistory:{snapshots:[],trackedFiles:new Set,snapshotSequence:0},attribution:yV6(),thinkingEnabled:q3,promptSuggestionEnabled:TN8(),sessionHooks:new Map,inbox:{messages:[]},promptSuggestion:{text:null,promptId:null,shownAt:0,acceptedAt:0,generationRequestId:null},speculation:Wq6,speculationSessionTimeSavedMs:0,skillImprovement:{suggestion:null},workerSandboxPermissions:{queue:[],selectedIndex:0},pendingWorkerRequest:null,pendingSandboxRequest:null,authVersion:0,initialMessage:H8?{message:U8({content:String(H8)})}:null,effortValue:OC(H.effort)??XS1(),activeOverlays:new Set,fastMode:xX1(wA),...UU()&&s_&&{advisorModel:s_},teamContext:trK?.()};if(H8)bh6(String(H8));let qj=uK;b8((J1)=>({...J1,numStartups:(J1.numStartups??0)+1})),setImmediate(()=>{wsY(),Cq5()});let DO=null,J2=DO?DO.then((J1)=>J1.createSessionTurnUploader()).catch(()=>null):null,Iz={debug:X||P,commands:[...F3,...e_],initialTools:qj,mcpClients:e2,autoConnectIdeFlag:R,mainThreadAgentDefinition:S4,disableSlashCommands:i,dynamicMcpConfig:C6,strictMcpConfig:R6,systemPrompt:T6,appendSystemPrompt:n6,taskListId:M6,thinkingConfig:j$,...J2&&{onTurnComplete:(J1)=>{J2.then((g7)=>g7?.(J1))}}},fO={modeApi:zsY,mainThreadAgentDefinition:S4,agentDefinitions:E9,currentCwd:AK,cliAgents:S3,initialState:H$};if(H.continue){let J1=!1;try{let g7=performance.now(),{clearSessionCaches:z4}=await Promise.resolve().then(() => (Dg8(),bq7));z4();let G4=await MK6(void 0,void 0);if(!G4)return d("tengu_continue",{success:!1}),await od(N5,"No conversation found to continue");let Tq=await g$7(G4,{forkSession:!!H.forkSession,includeAttribution:!0,transcriptPath:G4.fullPath},fO);if(Tq.restoredAgentDef)S4=Tq.restoredAgentDef;hl8(H),Sl8(H),d("tengu_continue",{success:!0,resume_duration_ms:Math.round(performance.now()-g7)}),J1=!0,await PK8(N5,{getFpsMetrics:qK,stats:Xq,initialState:Tq.initialState},{...Iz,mainThreadAgentDefinition:Tq.restoredAgentDef??S4,initialMessages:Tq.messages,initialFileHistorySnapshots:Tq.fileHistorySnapshots,initialContentReplacements:Tq.contentReplacements,initialAgentName:Tq.agentName,initialAgentColor:Tq.agentColor},fM6)}catch(g7){if(!J1)d("tengu_continue",{success:!1});H6(g7),process.exit(1)}}else if(H.resume||H.fromPr||A6||X6!==null){let{clearSessionCaches:J1}=await Promise.resolve().then(() => (Dg8(),bq7));J1();let g7=null,z4=void 0,G4=BL(H.resume),Tq=void 0,ZK=null,W9=void 0;if(H.fromPr){if(H.fromPr===!0)W9=!0;else if(typeof H.fromPr==="string")W9=H.fromPr}if(H.resume&&typeof H.resume==="string"&&!G4){let r7=H.resume.trim();if(r7){let RK=await kd(r7,{exact:!0});if(RK.length===1)ZK=RK[0],G4=SA(ZK)??null;else Tq=r7}}if(X6!==null||A6){if(await _s6(),!OO("allow_remote_sessions"))return await od(N5,"Error: Remote sessions are disabled by your organization's policy.",()=>xK(1))}if(X6!==null){let r7=X6.length>0,RK=g8("tengu_remote_backend",!1);if(!RK&&!r7)return await od(N5,`Error: --remote requires a description. |
| 16659 | Usage: claude --remote "your task description"`,()=>xK(1));d("tengu_remote_create_session",{has_initial_prompt:String(r7)});let T3=await oM(),X5=await Go1(N5,r7?X6:null,new AbortController().signal,T3||void 0);if(!X5)return d("tengu_remote_create_session_error",{error:"unable_to_create_session"}),await od(N5,"Error: Unable to create remote session",()=>xK(1));if(d("tengu_remote_create_session_success",{session_id:X5.id}),!RK)process.stdout.write(`Created remote session: ${X5.title} |
| 16660 | `),process.stdout.write(`View: ${MM(X5.id)}?m=0 |
| 16661 | `),process.stdout.write(`Resume with: claude --teleport ${X5.id} |
| 16662 | `),await xK(0),process.exit(0);li8(!0),Of(EX(X5.id));let OK;try{OK=await pH()}catch(uz){return H6(x1(uz)),await od(N5,`Error: ${d6(uz)||"Failed to authenticate"}`,()=>xK(1))}let{getClaudeAIOAuthTokens:L9}=await Promise.resolve().then(() => (G7(),_L)),x5=()=>L9()?.accessToken??OK.accessToken,iY=qrK(X5.id,x5,OK.orgUUID,r7),C3=`${MM(X5.id)}?m=0`,y5=fw(`/remote-control is active. Code in CLI or at ${C3}`,"info"),v3=r7?U8({content:X6}):null,_z={...H$,remoteSessionUrl:C3},w3=GBK(F3);await PK8(N5,{getFpsMetrics:qK,stats:Xq,initialState:_z},{debug:X||P,commands:w3,initialTools:[],initialMessages:v3?[y5,v3]:[y5],mcpClients:[],autoConnectIdeFlag:R,mainThreadAgentDefinition:S4,disableSlashCommands:i,remoteSessionConfig:iY,thinkingConfig:j$},fM6);return}else if(A6){if(A6===!0||A6===""){d("tengu_teleport_interactive_mode",{}),N("selectAndResumeTeleportTask: Starting teleport flow...");let r7=await J65(N5);if(!r7)await xK(0),process.exit(0);let{branchError:RK}=await G68(r7.branch);g7=Z68(r7.log,RK)}else if(typeof A6==="string"){d("tengu_teleport_resume_session",{mode:"direct"});try{let r7=await s46(A6),RK=await xx8(r7);if(RK.status==="mismatch"||RK.status==="not_in_repo"){let OK=RK.sessionRepo;if(OK){let L9=Al8(OK),x5=await Ol8(L9);if(x5.length>0){let iY=await M65(N5,{targetRepo:OK,initialPaths:x5});if(iY)process.chdir(iY),QO(iY),aR(iY);else await xK(0)}else throw new AP(`You must run claude --teleport ${A6} from a checkout of ${OK}.`,$8.red(`You must run claude --teleport ${A6} from a checkout of ${$8.bold(OK)}. |
| 16663 | `))}}else if(RK.status==="error")throw new AP(RK.errorMessage||"Failed to validate session",$8.red(`Error: ${RK.errorMessage||"Failed to validate session"} |
| 16664 | `));await Zo1();let{teleportWithProgress:T3}=await Promise.resolve().then(() => (wq5(),Oq5)),X5=await T3(N5,A6);eb6({sessionId:A6}),g7=X5.messages}catch(r7){if(r7 instanceof AP)process.stderr.write(r7.formattedMessage+` |
| 16665 | `);else H6(r7),process.stderr.write($8.red(`Error: ${d6(r7)} |
| 16666 | `));await xK(1)}}}if(G4){let r7=G4;try{let RK=performance.now(),T3=await MK6(ZK??r7,void 0);if(!T3)return d("tengu_session_resumed",{entrypoint:"cli_flag",success:!1}),await od(N5,`No conversation found with session ID: ${r7}`);let X5=ZK?.fullPath??T3.fullPath;if(z4=await g$7(T3,{forkSession:!!H.forkSession,sessionIdOverride:r7,transcriptPath:X5},fO),z4.restoredAgentDef)S4=z4.restoredAgentDef;d("tengu_session_resumed",{entrypoint:"cli_flag",success:!0,resume_duration_ms:Math.round(performance.now()-RK)})}catch(RK){d("tengu_session_resumed",{entrypoint:"cli_flag",success:!1}),H6(RK),await od(N5,`Failed to resume session ${r7}`)}}if(p)try{let r7=await p,RK=$7(r7,(T3)=>!T3.success);if(RK>0)process.stderr.write($8.yellow(`Warning: ${RK}/${r7.length} file(s) failed to download. |
| 16667 | `))}catch(r7){return await od(N5,`Error downloading files: ${d6(r7)}`)}let VK=z4??(Array.isArray(g7)?{messages:g7,fileHistorySnapshots:void 0,agentName:void 0,agentColor:void 0,restoredAgentDef:S4,initialState:H$,contentReplacements:void 0}:void 0);if(VK)hl8(H),Sl8(H),await PK8(N5,{getFpsMetrics:qK,stats:Xq,initialState:VK.initialState},{...Iz,mainThreadAgentDefinition:VK.restoredAgentDef??S4,initialMessages:VK.messages,initialFileHistorySnapshots:VK.fileHistorySnapshots,initialContentReplacements:VK.contentReplacements,initialAgentName:VK.agentName,initialAgentColor:VK.agentColor},fM6);else await X65(N5,{getFpsMetrics:qK,stats:Xq,initialState:H$},As(r1()),{...Iz,initialSearchQuery:Tq,forkSession:H.forkSession,filterByPr:W9})}else{let J1=oO&&nY.length===0?oO:void 0;U4("action_after_hooks"),hl8(H),Sl8(H);let g7=null;if(H.deepLinkOrigin)d("tengu_deep_link_opened",{has_prefill:Boolean(H.prefill),has_repo:Boolean(H.deepLinkRepo)}),g7=fw(V15({cwd:Z8(),prefillLength:H.prefill?.length,repo:H.deepLinkRepo,lastFetch:H.deepLinkLastFetch!==void 0?new Date(H.deepLinkLastFetch):void 0}),"warning");else if(H.prefill)g7=fw("Launched with a pre-filled prompt — review it before pressing Enter.","warning");let z4=g7?[g7,...nY]:nY.length>0?nY:void 0;await PK8(N5,{getFpsMetrics:qK,stats:Xq,initialState:H$},{...Iz,initialMessages:z4,pendingHookMessages:J1},fM6)}}).version(`${{ISSUES_EXPLAINER:"report the issue at https://github.com/anthropics/claude-code/issues",PACKAGE_URL:"@anthropic-ai/claude-code",README_URL:"https://code.claude.com/docs/en/overview",VERSION:"2.1.88",FEEDBACK_CHANNEL:"https://github.com/anthropics/claude-code/issues",BUILD_TIME:"2026-03-30T21:59:52Z"}.VERSION} (Claude Code)`,"-v, --version","Output the version number"),K.option("-w, --worktree [name]","Create a new git worktree for this session (optionally specify a name)"),K.option("--tmux","Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux."),tq6())K.addOption(new G3("--advisor <model>","Enable the server-side advisor tool with the specified model (alias or full ID).").hideHelp());K.addOption(new G3("--enable-auto-mode","Opt in to auto mode").hideHelp()),K.addOption(new G3("--brief","Enable SendUserMessage tool for agent-to-user communication")),K.addOption(new G3("--channels <servers...>","MCP servers whose channel notifications (inbound push) should register this session. Space-separated server names.").hideHelp()),K.addOption(new G3("--dangerously-load-development-channels <servers...>","Load channel servers not on the approved allowlist. For local channel development only. Shows a confirmation dialog at startup.").hideHelp()),K.addOption(new G3("--agent-id <id>","Teammate agent ID").hideHelp()),K.addOption(new G3("--agent-name <name>","Teammate display name").hideHelp()),K.addOption(new G3("--team-name <name>","Team name for swarm coordination").hideHelp()),K.addOption(new G3("--agent-color <color>","Teammate UI color").hideHelp()),K.addOption(new G3("--plan-mode-required","Require plan mode before implementation").hideHelp()),K.addOption(new G3("--parent-session-id <id>","Parent session ID for analytics correlation").hideHelp()),K.addOption(new G3("--teammate-mode <mode>",'How to spawn teammates: "tmux", "in-process", or "auto"').choices(["auto","tmux","in-process"]).hideHelp()),K.addOption(new G3("--agent-type <type>","Custom agent type for this teammate").hideHelp()),K.addOption(new G3("--sdk-url <url>","Use remote WebSocket endpoint for SDK I/O streaming (only with -p and stream-json format)").hideHelp()),K.addOption(new G3("--teleport [session]","Resume a teleport session, optionally specify session ID").hideHelp()),K.addOption(new G3("--remote [description]","Create a remote session with the given description").hideHelp()),K.addOption(new G3("--remote-control [name]","Start an interactive session with Remote Control enabled (optionally named)").argParser((j)=>j||!0).hideHelp()),K.addOption(new G3("--rc [name]","Alias for --remote-control").argParser((j)=>j||!0).hideHelp()),U4("run_main_options_built");let _=process.argv.includes("-p")||process.argv.includes("--print"),z=process.argv.some((j)=>j.startsWith("cc://")||j.startsWith("cc+unix://"));if(_&&!z)return U4("run_before_parse"),await K.parseAsync(process.argv),U4("run_after_parse"),K;let Y=K.command("mcp").description("Configure and manage MCP servers").configureHelp(q()).enablePositionalOptions();if(Y.command("serve").description("Start the Claude Code MCP server").option("-d, --debug","Enable debug mode",()=>!0).option("--verbose","Override verbose mode setting from config",()=>!0).action(async({debug:j,verbose:H})=>{let{mcpServeHandler:J}=await Promise.resolve().then(() => (O36(),A36));await J({debug:j,verbose:H})}),L15(Y),ir())h15(Y);Y.command("remove <name>").description("Remove an MCP server").option("-s, --scope <scope>","Configuration scope (local, user, or project) - if not specified, removes from whichever scope it exists in").action(async(j,H)=>{let{mcpRemoveHandler:J}=await Promise.resolve().then(() => (O36(),A36));await J(j,H)}),Y.command("list").description("List configured MCP servers. Note: The workspace trust dialog is skipped and stdio servers from .mcp.json are spawned for health checks. Only use this command in directories you trust.").action(async()=>{let{mcpListHandler:j}=await Promise.resolve().then(() => (O36(),A36));await j()}),Y.command("get <name>").description("Get details about an MCP server. Note: The workspace trust dialog is skipped and stdio servers from .mcp.json are spawned for health checks. Only use this command in directories you trust.").action(async(j)=>{let{mcpGetHandler:H}=await Promise.resolve().then(() => (O36(),A36));await H(j)}),Y.command("add-json <name> <json>").description("Add an MCP server (stdio or SSE) with a JSON string").option("-s, --scope <scope>","Configuration scope (local, user, or project)","local").option("--client-secret","Prompt for OAuth client secret (or set MCP_CLIENT_SECRET env var)").action(async(j,H,J)=>{let{mcpAddJsonHandler:M}=await Promise.resolve().then(() => (O36(),A36));await M(j,H,J)}),Y.command("add-from-claude-desktop").description("Import MCP servers from Claude Desktop (Mac and WSL only)").option("-s, --scope <scope>","Configuration scope (local, user, or project)","local").action(async(j)=>{let{mcpAddFromDesktopHandler:H}=await Promise.resolve().then(() => (O36(),A36));await H(j)}),Y.command("reset-project-choices").description("Reset all approved and rejected project-scoped (.mcp.json) servers within this project").action(async()=>{let{mcpResetChoicesHandler:j}=await Promise.resolve().then(() => (O36(),A36));await j()});let $=K.command("auth").description("Manage authentication").configureHelp(q());$.command("login").description("Sign in to your Anthropic account").option("--email <email>","Pre-populate email address on the login page").option("--sso","Force SSO login flow").option("--console","Use Anthropic Console (API usage billing) instead of Claude subscription").option("--claudeai","Use Claude subscription (default)").action(async({email:j,sso:H,console:J,claudeai:M})=>{let{authLogin:X}=await Promise.resolve().then(() => (iy6(),QS8));await X({email:j,sso:H,console:J,claudeai:M})}),$.command("status").description("Show authentication status").option("--json","Output as JSON (default)").option("--text","Output as human-readable text").action(async(j)=>{let{authStatus:H}=await Promise.resolve().then(() => (iy6(),QS8));await H(j)}),$.command("logout").description("Log out from your Anthropic account").action(async()=>{let{authLogout:j}=await Promise.resolve().then(() => (iy6(),QS8));await j()});let A=()=>new G3("--cowork","Use cowork_plugins directory").hideHelp(),O=K.command("plugin").alias("plugins").description("Manage Claude Code plugins").configureHelp(q());O.command("validate <path>").description("Validate a plugin or marketplace manifest").addOption(A()).action(async(j,H)=>{let{pluginValidateHandler:J}=await Promise.resolve().then(() => (Ax(),$x));await J(j,H)}),O.command("list").description("List installed plugins").option("--json","Output as JSON").option("--available","Include available plugins from marketplaces (requires --json)").addOption(A()).action(async(j)=>{let{pluginListHandler:H}=await Promise.resolve().then(() => (Ax(),$x));await H(j)});let w=O.command("marketplace").description("Manage Claude Code marketplaces").configureHelp(q());if(w.command("add <source>").description("Add a marketplace from a URL, path, or GitHub repo").addOption(A()).option("--sparse <paths...>","Limit checkout to specific directories via git sparse-checkout (for monorepos). Example: --sparse .claude-plugin plugins").option("--scope <scope>","Where to declare the marketplace: user (default), project, or local").action(async(j,H)=>{let{marketplaceAddHandler:J}=await Promise.resolve().then(() => (Ax(),$x));await J(j,H)}),w.command("list").description("List all configured marketplaces").option("--json","Output as JSON").addOption(A()).action(async(j)=>{let{marketplaceListHandler:H}=await Promise.resolve().then(() => (Ax(),$x));await H(j)}),w.command("remove <name>").alias("rm").description("Remove a configured marketplace").addOption(A()).action(async(j,H)=>{let{marketplaceRemoveHandler:J}=await Promise.resolve().then(() => (Ax(),$x));await J(j,H)}),w.command("update [name]").description("Update marketplace(s) from their source - updates all if no name specified").addOption(A()).action(async(j,H)=>{let{marketplaceUpdateHandler:J}=await Promise.resolve().then(() => (Ax(),$x));await J(j,H)}),O.command("install <plugin>").alias("i").description("Install a plugin from available marketplaces (use plugin@marketplace for specific marketplace)").option("-s, --scope <scope>","Installation scope: user, project, or local","user").addOption(A()).action(async(j,H)=>{let{pluginInstallHandler:J}=await Promise.resolve().then(() => (Ax(),$x));await J(j,H)}),O.command("uninstall <plugin>").alias("remove").alias("rm").description("Uninstall an installed plugin").option("-s, --scope <scope>","Uninstall from scope: user, project, or local","user").option("--keep-data","Preserve the plugin's persistent data directory (~/.claude/plugins/data/{id}/)").addOption(A()).action(async(j,H)=>{let{pluginUninstallHandler:J}=await Promise.resolve().then(() => (Ax(),$x));await J(j,H)}),O.command("enable <plugin>").description("Enable a disabled plugin").option("-s, --scope <scope>",`Installation scope: ${e0.join(", ")} (default: auto-detect)`).addOption(A()).action(async(j,H)=>{let{pluginEnableHandler:J}=await Promise.resolve().then(() => (Ax(),$x));await J(j,H)}),O.command("disable [plugin]").description("Disable an enabled plugin").option("-a, --all","Disable all enabled plugins").option("-s, --scope <scope>",`Installation scope: ${e0.join(", ")} (default: auto-detect)`).addOption(A()).action(async(j,H)=>{let{pluginDisableHandler:J}=await Promise.resolve().then(() => (Ax(),$x));await J(j,H)}),O.command("update <plugin>").description("Update a plugin to the latest version (restart required to apply)").option("-s, --scope <scope>",`Installation scope: ${rH6.join(", ")} (default: user)`).addOption(A()).action(async(j,H)=>{let{pluginUpdateHandler:J}=await Promise.resolve().then(() => (Ax(),$x));await J(j,H)}),K.command("setup-token").description("Set up a long-lived authentication token (requires Claude subscription)").action(async()=>{let[{setupTokenHandler:j},{createRoot:H}]=await Promise.all([Promise.resolve().then(() => (El8(),yl8)),Promise.resolve().then(() => (s6(),Bl6))]),J=await H(Jo(!1));await j(J)}),K.command("agents").description("List configured agents").option("--setting-sources <sources>","Comma-separated list of setting sources to load (user, project, local).").action(async()=>{let{agentsHandler:j}=await Promise.resolve().then(() => (Eq5(),yq5));await j(),process.exit(0)}),IB8()!=="disabled"){let j=K.command("auto-mode").description("Inspect auto mode classifier configuration");j.command("defaults").description("Print the default auto mode environment, allow, and deny rules as JSON").action(async()=>{let{autoModeDefaultsHandler:H}=await Promise.resolve().then(() => (Rl8(),Ll8));H(),process.exit(0)}),j.command("config").description("Print the effective auto mode config as JSON: your settings where set, defaults otherwise").action(async()=>{let{autoModeConfigHandler:H}=await Promise.resolve().then(() => (Rl8(),Ll8));H(),process.exit(0)}),j.command("critique").description("Get AI feedback on your custom auto mode rules").option("--model <model>","Override which model is used").action(async(H)=>{let{autoModeCritiqueHandler:J}=await Promise.resolve().then(() => (Rl8(),Ll8));await J(H),process.exit()})}return K.command("remote-control",{hidden:!0}).alias("rc").description("Connect your local environment for remote-control sessions via claude.ai/code").action(async()=>{let{bridgeMain:j}=await Promise.resolve().then(() => (U_7(),F_7));await j(process.argv.slice(3))}),K.command("doctor").description("Check the health of your Claude Code auto-updater. Note: The workspace trust dialog is skipped and stdio servers from .mcp.json are spawned for health checks. Only use this command in directories you trust.").action(async()=>{let[{doctorHandler:j},{createRoot:H}]=await Promise.all([Promise.resolve().then(() => (El8(),yl8)),Promise.resolve().then(() => (s6(),Bl6))]),J=await H(Jo(!1));await j(J)}),K.command("update").alias("upgrade").description("Check for updates and install if available").action(async()=>{let{update:j}=await Promise.resolve().then(() => (hq5(),Rq5));await j()}),K.command("install [target]").description("Install Claude Code native build. Use [target] to specify version (stable, latest, or specific version)").option("--force","Force installation even if already installed").action(async(j,H)=>{let{installHandler:J}=await Promise.resolve().then(() => (El8(),yl8));await J(j,H)}),U4("run_before_parse"),await K.parseAsync(process.argv),U4("run_after_parse"),U4("main_after_run"),zI6(),K}async function ZsY({hasInitialPrompt:q,hasStdin:K,verbose:_,debug:z,debugToStderr:Y,print:$,outputFormat:A,inputFormat:O,numAllowedTools:w,numDisallowedTools:j,mcpClientCount:H,worktreeEnabled:J,skipWebFetchPreflight:M,githubActionInputs:X,dangerouslySkipPermissionsPassed:P,permissionMode:W,modeIsBypass:D,allowDangerouslySkipPermissionsPassed:f,systemPromptFlag:G,appendSystemPromptFlag:Z,thinkingConfig:T,assistantActivationPath:v}){try{d("tengu_init",{entrypoint:"claude",hasInitialPrompt:q,hasStdin:K,verbose:_,debug:z,debugToStderr:Y,print:$,outputFormat:A,inputFormat:O,numAllowedTools:w,numDisallowedTools:j,mcpClientCount:H,worktree:J,skipWebFetchPreflight:M,...X&&{githubActionInputs:X},dangerouslySkipPermissionsPassed:P,permissionMode:W,modeIsBypass:D,inProtectedNamespace:Ik(),allowDangerouslySkipPermissionsPassed:f,thinkingType:T.type,...G&&{systemPromptFlag:G},...Z&&{appendSystemPromptFlag:Z},is_simple:f9()||void 0,is_coordinator:void 0,...v&&{assistantActivationPath:v},autoUpdatesChannel:N7().autoUpdatesChannel??"latest",...{}})}catch(V){H6(V)}}function hl8(q){}function Sl8(q){let K=q.brief,_=i6(process.env.CLAUDE_CODE_BRIEF);if(!K&&!_)return;let{isBriefEntitled:z}=(dQ(),Eq(IK6)),Y=z();if(Y)tp(!0);d("tengu_brief_mode_enabled",{enabled:Y,gated:!Y,source:_?"env":"flag"})}function GsY(){(process.stderr.isTTY?process.stderr:process.stdout.isTTY?process.stdout:void 0)?.write(Gu)}function TsY(q){if(typeof q!=="object"||q===null)return{};let K=q,_=K.teammateMode;return{agentId:typeof K.agentId==="string"?K.agentId:void 0,agentName:typeof K.agentName==="string"?K.agentName:void 0,teamName:typeof K.teamName==="string"?K.teamName:void 0,agentColor:typeof K.agentColor==="string"?K.agentColor:void 0,planModeRequired:typeof K.planModeRequired==="boolean"?K.planModeRequired:void 0,parentSessionId:typeof K.parentSessionId==="string"?K.parentSessionId:void 0,teammateMode:_==="auto"||_==="tmux"||_==="in-process"?_:void 0,agentType:typeof K.agentType==="string"?K.agentType:void 0}}var Sq5=()=>(AY(),Eq(SV1)),KsY=()=>Eq(x7K),_sY=()=>(s26(),Eq(Ri1)),zsY=null,YsY,sA7=11;var CA7=y(()=>{Cx();VK1();kv1();a_7();x3();po6();c71();Fu();H3();jN();Kz7();Ib();rtK();o1();atK();hx8();b56();yV1();ZD();aN6();GU();BD();eq6();i$();n48();G7();V1();cc6();q0();xf();q48();i1();vK();As6();nC();NF();Ec8();l8();L$7();qeK();H16();o1();k8();xc6();v8();yA();P65();p16();SA7();ZU();PD();bA7();T15();SP();Lo();WJ6();fP();qL6();mA7();m8();A$7();a78();E5();k97();vO();E8();$A7();aq();Yn();yW();fX();Jy();pX();F18();z88();aV();KC();JK6();_K();bA8();U1();Zc();gj();lE6();E15();Sx8();jm();R15();S15();S87();ON6();PD();f0();NJ();Oa6();i$7();fH6();cC();c9();xr();lQ();I7();_8();y8();e7();RA();y18();aT1();tN();a48();kO();v8();b15();I15();m15();p15();g15();U15();d15();l15();i15();o15();s15();H$7();e15();uQ();zw6();EV6();tS6();M0();HG();oY();WK8();bj();XS6();K$();VM();am();WL();f$6();d0();U4("main_tsx_entry");yS7();xCq();YsY=Eq(mK6);U4("main_tsx_imports_loaded");if(AsY())process.exit(1)});process.env.COREPACK_ENABLE_AUTO_PIN="0";if(process.env.CLAUDE_CODE_REMOTE==="true"){let q=process.env.NODE_OPTIONS||"";process.env.NODE_OPTIONS=q?`${q} --max-old-space-size=8192`:"--max-old-space-size=8192"}async function vsY(){let q=process.argv.slice(2);if(q.length===1&&(q[0]==="--version"||q[0]==="-v"||q[0]==="-V")){console.log(`${{ISSUES_EXPLAINER:"report the issue at https://github.com/anthropics/claude-code/issues",PACKAGE_URL:"@anthropic-ai/claude-code",README_URL:"https://code.claude.com/docs/en/overview",VERSION:"2.1.88",FEEDBACK_CHANNEL:"https://github.com/anthropics/claude-code/issues",BUILD_TIME:"2026-03-30T21:59:52Z"}.VERSION} (Claude Code)`);return}let{profileCheckpoint:K}=await Promise.resolve().then(() => (Cx(),jM7));if(K("cli_entry"),process.argv[2]==="--claude-in-chrome-mcp"){K("cli_claude_in_chrome_mcp_path");let{runClaudeInChromeMcpServer:$}=await Promise.resolve().then(() => (YF1(),zF1));await $();return}else if(process.argv[2]==="--chrome-native-host"){K("cli_chrome_native_host_path");let{runChromeNativeHost:$}=await Promise.resolve().then(() => (PFK(),XFK));await $();return}else if(process.argv[2]==="--computer-use-mcp"){K("cli_computer_use_mcp_path");let{runComputerUseMcpServer:$}=await Promise.resolve().then(() => (rg1(),ig1));await $();return}if(q[0]==="remote-control"||q[0]==="rc"||q[0]==="remote"||q[0]==="sync"||q[0]==="bridge"){K("cli_bridge_path");let{enableConfigs:$}=await Promise.resolve().then(() => (V1(),G16));$();let{getBridgeDisabledReason:A,checkBridgeMinVersion:O}=await Promise.resolve().then(() => (Jd(),nq7)),{BRIDGE_LOGIN_ERROR:w}=await Promise.resolve().then(() => rSK),{bridgeMain:j}=await Promise.resolve().then(() => (U_7(),F_7)),{exitWithError:H}=await Promise.resolve().then(() => fo8),{getClaudeAIOAuthTokens:J}=await Promise.resolve().then(() => (G7(),_L));if(!J()?.accessToken)H(w);let M=await A();if(M)H(`Error: ${M}`);let X=O();if(X)H(X);let{waitForPolicyLimitsToLoad:P,isPolicyAllowed:W}=await Promise.resolve().then(() => (ZD(),dF1));if(await P(),!W("allow_remote_control"))H("Error: Remote Control is disabled by your organization's policy.");await j(q.slice(1));return}if(!1)switch(q[0]){case"ps":case"logs":case"attach":case"kill":default:}if((q.includes("--tmux")||q.includes("--tmux=classic"))&&(q.includes("-w")||q.includes("--worktree")||q.some(($)=>$.startsWith("--worktree=")))){K("cli_tmux_worktree_fast_path");let{enableConfigs:$}=await Promise.resolve().then(() => (V1(),G16));$();let{isWorktreeModeEnabled:A}=await Promise.resolve().then(() => tJK);if(A()){let{execIntoTmuxWorktree:O}=await Promise.resolve().then(() => (d0(),pgK)),w=await O(q);if(w.handled)return;if(w.error){let{exitWithError:j}=await Promise.resolve().then(() => fo8);j(w.error)}}}if(q.length===1&&(q[0]==="--update"||q[0]==="--upgrade"))process.argv=[process.argv[0],process.argv[1],"update"];if(q.includes("--bare"))process.env.CLAUDE_CODE_SIMPLE="1";let{startCapturingEarlyInput:z}=await Promise.resolve().then(() => (cc6(),Zaq));z(),K("cli_before_main_import");let{main:Y}=await Promise.resolve().then(() => (CA7(),bq5));K("cli_after_main_import"),await Y(),K("cli_after_main_complete")}vsY(); |
| 16668 | |