-
Notifications
You must be signed in to change notification settings - Fork 4k
Codex agent toolbelt does not appear on Linux because Node.js script process shows as 'node' not 'codex' #9870
Copy link
Copy link
Open
Labels
area:agentAgent workflows, conversations, prompts, cloud mode, and AI-specific UI.Agent workflows, conversations, prompts, cloud mode, and AI-specific UI.area:shell-terminalTerminal input/output, shell integration, prompt behavior, and block rendering.Terminal input/output, shell integration, prompt behavior, and block rendering.bugSomething isn't working.Something isn't working.duplicateThis issue or pull request already exists.This issue or pull request already exists.os:linuxLinux-specific behavior, regressions, or requests.Linux-specific behavior, regressions, or requests.repro:highThe report includes enough evidence that the issue appears highly reproducible.The report includes enough evidence that the issue appears highly reproducible.triagedIssue has received an initial automated triage pass.Issue has received an initial automated triage pass.
Metadata
Metadata
Assignees
Labels
area:agentAgent workflows, conversations, prompts, cloud mode, and AI-specific UI.Agent workflows, conversations, prompts, cloud mode, and AI-specific UI.area:shell-terminalTerminal input/output, shell integration, prompt behavior, and block rendering.Terminal input/output, shell integration, prompt behavior, and block rendering.bugSomething isn't working.Something isn't working.duplicateThis issue or pull request already exists.This issue or pull request already exists.os:linuxLinux-specific behavior, regressions, or requests.Linux-specific behavior, regressions, or requests.repro:highThe report includes enough evidence that the issue appears highly reproducible.The report includes enough evidence that the issue appears highly reproducible.triagedIssue has received an initial automated triage pass.Issue has received an initial automated triage pass.
Summary
On Linux, the Codex CLI agent toolbelt never appears when running
codexinside a Warp terminal. The root cause is thatcodexis a Node.js shebang script (#!/usr/bin/env node), so the OS process name (/proc/PID/comm) is alwaysnode, notcodex. Warp's agent detection matches againstcomm/argv[0], which resolves tonodefor any Node.js script — so the toolbelt is never triggered.Problem
Warp detects CLI agents by observing the foreground process name in the terminal session. On Linux,
/proc/PID/commis initialised from the basename of the executable (i.e.node), not fromargv[0]or the symlink name used to invoke the script. Becausecodexis installed as:...and
codex.jshas the shebang#!/usr/bin/env node, the foreground process that Warp observes is:/proc/PID/comm=nodeargv[0]=nodeargv[1]=/usr/local/bin/codexWarp never sees a process named
codex, so the toolbelt does not activate. The issue does not reproduce on macOS where process naming for shebang scripts behaves differently.Additionally,
codex.jsdoes not callprocess.title = 'codex'anywhere in its source, which is the Node.js mechanism that callsprctl(PR_SET_NAME, ...)on Linux and would update/proc/PID/commtocodexat runtime.Expected behavior
The Codex agent toolbelt should appear at the bottom of the Warp pane when
codexis launched inside a Warp terminal on Linux, matching the behaviour on macOS.Actual behavior
The toolbelt never appears. All other settings are correctly configured:
agents.third_party.should_render_cli_agent_toolbar = trueagents.third_party.cli_agent_toolbar_enabled_commands.codex = "Codex"TERM_PROGRAM=WarpTerminal,WARP_CLI_AGENT_PROTOCOL_VERSION=1are set in the shell environmentSourcedRcFileForWarp) is present in~/.bashrcReproduction steps
npm install -g @openai/codex.codexin the foreground.To confirm the process name issue independently:
Artifacts
None attached.
Warp version
0.2026.04.27.15.33.preview.02(Warp Preview, installed via apt fromreleases.warp.dev/linux/deb preview/main)Operating system
Ubuntu Linux, kernel
7.0.0-14-generic, x86_64. Wayland (GNOME Shell). Node.js shebang scripts present this process-naming behaviour on all Linux distributions.Possible source references
/proc/PID/commorargv[0]to identify the foreground process. Extending the match to also checkargv[1](the script path) whenargv[0]isnode(or another JS/Python runtime) would cover this case.cli_agent_toolbar_enabled_commandssetting insettings.tomlmapscodex = "Codex", suggesting the detection key is the literal stringcodex— which will never match/proc/PID/commfor a Node.js script on Linux.process.title = 'codex'to/usr/local/lib/node_modules/@openai/codex/bin/codex.jscauses Node.js to callprctl(PR_SET_NAME, 'codex')on Linux, updating/proc/PID/commtocodexand unblocking detection. The correct fix is either in Warp's detection logic or upstream in the Codex CLI package.