@@ -73,6 +73,7 @@ const PACKAGE_MANAGER_NAMES: Record<PackageManager, string> = {
7373const AGENT_NAMES : Record < string , string > = {
7474 "claude-code" : "Claude Code" ,
7575 cursor : "Cursor" ,
76+ codex : "Codex" ,
7677 opencode : "Opencode" ,
7778} ;
7879
@@ -258,7 +259,7 @@ const parseArgs = async (): Promise<CliArgs> => {
258259 . option ( "agent" , {
259260 alias : "a" ,
260261 type : "string" ,
261- choices : [ "claude-code" , "cursor" , "opencode" , "none" ] as const ,
262+ choices : [ "claude-code" , "cursor" , "opencode" , "codex" , " none"] as const ,
262263 description :
263264 "Agent integration to automatically forward selected elements to agent instead of copying to clipboard" ,
264265 } )
@@ -284,6 +285,10 @@ const parseArgs = async (): Promise<CliArgs> => {
284285 "$0 -a cursor -y" ,
285286 "Add Cursor agent integration non-interactively" ,
286287 )
288+ . example (
289+ "$0 -a codex -y" ,
290+ "Add Codex agent integration non-interactively" ,
291+ )
287292 . example ( "$0 -p pnpm -a claude-code" , "Use pnpm and add Claude Code agent" )
288293 . example (
289294 "$0 --skip-install" ,
@@ -293,6 +298,7 @@ const parseArgs = async (): Promise<CliArgs> => {
293298 `${ pc . bold ( "Agent Integrations:" ) } \n` +
294299 ` ${ pc . cyan ( "claude-code" ) } Connect React Grab to Claude Code\n` +
295300 ` ${ pc . cyan ( "cursor" ) } Connect React Grab to Cursor IDE\n` +
301+ ` ${ pc . cyan ( "codex" ) } Connect React Grab to Codex CLI\n` +
296302 ` ${ pc . cyan ( "opencode" ) } Connect React Grab to Opencode\n\n` +
297303 `${ pc . bold ( "Supported Frameworks:" ) } \n` +
298304 ` ${ pc . cyan ( "next" ) } Next.js (App Router & Pages Router)\n` +
@@ -496,6 +502,7 @@ const main = async () => {
496502 const availableAgents = [
497503 { name : "Claude Code" , value : "claude-code" as const } ,
498504 { name : "Cursor" , value : "cursor" as const } ,
505+ { name : "Codex" , value : "codex" as const } ,
499506 { name : "Opencode" , value : "opencode" as const } ,
500507 ] . filter ( ( agent ) => ! projectInfo . installedAgents . includes ( agent . value ) ) ;
501508
@@ -511,7 +518,7 @@ const main = async () => {
511518 } else {
512519 const wantAgentIntegration = await confirm ( {
513520 message :
514- "Do you want to add an agent integration (Claude Code, Cursor, or Opencode)?" ,
521+ "Do you want to add an agent integration (Claude Code, Cursor, Codex, or Opencode)?" ,
515522 default : false ,
516523 } ) ;
517524
0 commit comments