All agent CLIs
Codex CLI in NeuroSquad

Codex CLI,on a canvas of its own

Run as many Codex sessions as you need, each in its own card with a real terminal. NeuroSquad knows when each one is working, waiting for your approval or finished, hands it browsers, terminals and notes by arrow, and picks up every conversation where it left off.

Official sitedevelopers.openai.com/codex/cli
  • The real codex CLI, your own login
  • Nothing written to ~/.codex
  • Free, for Windows 10 and 11
Lifecycle hooks

It knows when Codex is done — and when it’s asking

A quiet terminal can mean “finished” or “waiting for your approval”. NeuroSquad doesn’t guess: every Codex card reports its own turns through Codex’s lifecycle hooks.

UserPromptSubmithook
Working

You press Enter. The card’s icon spins and the Squad status card counts it as working. Subagents Codex starts don’t move the card’s status.

PermissionRequesthook
Needs you

Codex stops at its approval prompt. The card pulses, a sound plays once, and the toast leads with what it wants to run — Bash — rm -rf dist. A question from request_user_input counts too.

Stophook
Finished

The turn is over — not just quiet. The next queued prompt goes out, the journal gets the answer, and a toast says it’s done. Esc mid-turn ends it through the Interrupt hook.

A failed turn still ends

Codex runs no hook after an error. While a turn is open, its own “■ …” error line closes it, so a card never hangs on “working”.

Approvals by a reviewer aren’t pings

If you route approvals to Codex’s automatic reviewer, nobody is asked — so the card doesn’t call you either.

Trusted, not bypassed

The hooks are passed with their trust hashes, so there is no review screen at startup — and your repo’s own untrusted hooks stay untrusted.

Watch it work

Three things you’ll do every day

Replicas of the app, played step by step. When Codex asks for approval, the answer is yours.

Codex fixes a failing test, stops at its approval prompt before deleting a folder, and finishes — the journal writes itself.

Everything it gets

Everything Codex CLI can do in NeuroSquad

Codex is integrated as fully as Claude Code — through its own hooks and session flags. Here is all of it, with a docs page for each, and the few things Codex itself doesn’t allow.

  • 01

    Knows its state

    Codex’s own hooks report every turn, so nothing is guessed.

  • Finished and waiting are different

    Each card gets Codex’s lifecycle hooks: UserPromptSubmit marks it working, PermissionRequest — waiting on you, Stop and Interrupt — finished.

    Docs: Finished and waiting are different
  • A notification that says what it needs

    The toast leads with what Codex wants: Bash — rm -rf dist, the files an apply_patch touches, or the MCP tool. One per agent; a waiting one stays until you answer; a click flies to the card.

    Docs: A notification that says what it needs
  • Picks up where it left off

    Every hook reports the card’s session, so the next launch is codex resume <id> in the card’s own folder. A session whose file is gone starts fresh by itself; “Restart session” gives a clean one.

    Docs: Picks up where it left off
  • The Squad status card

    Every AI agent of the workspace on one card — waiting on you, working, finished, idle — with the model from Codex’s own session log (or your config.toml) and the live time of its turn.

    Docs: The Squad status card
  • Custom cards can follow it

    Cards built with the Card SDK see the same statuses and turn events, and read Codex’s last answer from its session file.

    Docs: Custom cards can follow it
  • 02

    Works through the canvas

    An arrow from the card is a set of tools. Draw it, and Codex can use what is at the other end.

  • Arrows are tools

    An arrow to a browser, terminal, note or another agent gives Codex browser_*, terminal_*, note_* or agent_* over NeuroSquad’s MCP server, approved without a prompt — the arrow is the consent. Each call lights up its arrow.

    Docs: Arrows are tools
  • It can add cards itself

    canvas_spawn_card lets it open a terminal, a browser, a note or a helper agent — Codex or any other CLI — next to itself, already joined by an arrow.

    Docs: It can add cards itself
  • Canvas mode

    Codex starts with features.shell_tool=false and web_search=disabled: its own shell and web search aren’t offered at all, so even dangerous mode can’t bring them back. Commands run in terminal cards you can watch.

    Docs: Canvas mode
  • MCP servers from the registry

    Install a server from the official MCP Registry once, then give it to an agent with an arrow. Codex asks before every call to it, and its secrets never leave NeuroSquad.

    Docs: MCP servers from the registry
  • Skills from skills.sh

    An arrow to a skill card gives Codex skill_load with each skill and when to use it. A new skill arrow reaches a running Codex after a card restart.

    Docs: Skills from skills.sh
  • 03

    Built for long runs

    Long sessions run into full contexts and usage limits. Both are handled on the card.

  • Context meter and Compact

    A small ring in the header shows how full the context is — the last request’s tokens against the model’s window, both from Codex’s own log. Compact sends /compact.

    Docs: Context meter and Compact
  • Continues after a usage limit

    When Codex says “You’ve hit your usage limit … try again at 3:00 PM”, the card counts down to that time and sends “continue” then. Off per card if you prefer.

    Docs: Continues after a usage limit
  • Prompt queue

    Line up the next messages: each goes out when the turn is finished — with the hooks, “finished” is exact. Daily prompts too.

    Docs: Prompt queue
  • Hand off to a fresh agent

    When a session is full, start a new agent beside it — Codex or any other CLI — with a summary of the work typed in, ready for you to send.

    Docs: Hand off to a fresh agent
  • Journal

    Each finished answer is added to a connected note, read from Codex’s session file: a running log of what the agent did.

    Docs: Journal
  • 04

    Works in a team

    Several Codex agents — or a mix of CLIs — on one project without stepping on each other.

  • Isolated worktrees

    Give an agent its own git worktree, so parallel agents never edit the same files. The folder-trust setting follows the worktree, so Codex opens straight to the prompt.

    Docs: Isolated worktrees
  • Add a reviewer

    One click starts an agent on a different CLI in the same worktree, with an arrow from the author and a prompt to review without editing anything. Codex is also the first choice when another CLI needs a reviewer.

    Docs: Add a reviewer
  • Dangerous mode, per card

    For a run you trust, a card can start Codex with --dangerously-bypass-approvals-and-sandbox. It’s a per-card switch, off by default.

    Docs: Dangerous mode, per card
  • Roles

    Reviewer, tester, researcher, architect, writer or your own: the role is typed in as a first prompt you can see and edit, and never re-sent behind your back.

    Docs: Roles
  • AGENTS.md, natively

    Codex reads AGENTS.md itself. Edit it once, and NeuroSquad mirrors it for the other CLIs on the project.

    Docs: AGENTS.md, natively
  • 05

    Cost, control and access

    What it spends, what it may spend, which model it runs on, and how you reach it.

  • Exact usage and cost

    Tokens and cost by card, workspace and model, read from Codex’s own session logs — a subagent’s requests fold into the session that started it. Whole tokens, exact costs.

    Docs: Exact usage and cost
  • Budget brake

    A limit per workspace. Past it, each Codex card gets Escape — the turn stops, the session is kept — and automatic prompts stop. Raise the limit and it’s lifted.

    Docs: Budget brake
  • OpenRouter models

    Run a card on an OpenRouter model instead of your OpenAI login. The key goes only into that card’s environment, and the session stays resumable even when the key is gone.

    Docs: OpenRouter models
  • Dictation into the prompt

    Hold a hotkey and speak. Speech is recognised on your machine and typed into the active agent’s prompt.

    Docs: Dictation into the prompt
  • From your phone

    Scan a QR code and the whole canvas opens in the phone’s browser: read Codex’s terminal, see what it asks, send the next prompt.

    Docs: From your phone
  • 06

    What Codex doesn’t allow

    Where Codex itself has no way to do what Claude Code does, and what NeuroSquad does instead. Checked in Codex’s source.

  • No session id chosen up front

    Codex generates its own thread ids and has no flag to start with one you pick. So the card learns its id from the first hook and resumes by it — a card that never ran a turn simply starts fresh.

    Docs: No session id chosen up front
  • New skill and MCP arrows need a restart

    Codex lists a server’s tools once and ignores later changes. NeuroSquad offers every built-in tool from the start and lets the arrows decide at call time — but an arrow to a skill or MCP-server card reaches Codex on its next start.

    Docs: New skill and MCP arrows need a restart
  • Ctrl+C would quit it

    On an idle Codex, Ctrl+C exits the program. So the budget brake presses Escape instead, which interrupts the turn and leaves Codex running.

    Docs: Ctrl+C would quit it
  • No attribution via the built-in provider

    If you point Codex’s built-in openai provider at OpenRouter yourself, Codex takes no extra headers for it. Your own custom providers for OpenRouter do get them.

    Docs: No attribution via the built-in provider
  • “Answered” is read from Enter

    No Codex hook reports that you answered an approval, so the card goes back to working when you press Enter. Answer with the y shortcut and it stays “needs you” until the turn ends.

    Docs: “Answered” is read from Enter
At a glance

Who’s waiting, and what it cost

Two cards that answer the questions you ask most when several Codex sessions run at once.

The Squad status card

Every agent of the workspace with its status, model and turn time. The one waiting on you comes first, with what it wants to run. Tap a status to filter.

  • coupon-fixCodex CLIgpt-5.5Bash — rm -rf distNeeds you2:34
  • api-migrationCodex CLIgpt-5.5Move routes to the new clientWorking14:58
  • db-indexesCodex CLIgpt-5.4-miniAdd the missing indexesWorking6:42
  • docs-passCodex CLIgpt-5.4-miniUpdate the READMEFinished4 min. ago

Usage & cost

Read from Codex’s own session logs on your disk and matched to the card by the sessions its hooks reported. The rows always add up to the total.

AgentTokensCost
coupon-fix1,196,402$2.74
api-migration781,355$1.63
docs-pass238,610$0.09
Total2,216,367$4.46
Exact to the picodollar; rounded only on screen.Each row includes the subagents its session started.
Under the hood

The real Codex, plus a few session flags

Codex has no per-run settings file, but any setting can be given for one run with `-c`, over your `config.toml` and never written into it. This is everything NeuroSquad adds:

What NeuroSquad adds to the command
❯ codex
resume <the session its hooks reported>later launchesthe same conversation after a restart
-c mcp_servers.neurosquad.url=… -c mcp_servers.neurosquad.default_tools_approval_mode=approveevery launchNeuroSquad’s MCP server for this card, its tools pre-approved: the arrow you drew is the consent
-c mcp_servers.ns-connected.url=… -c mcp_servers.ns-connected.default_tools_approval_mode=promptevery launchMCP servers you installed: Codex asks before each call
-c hooks={<six lifecycle hooks>, state={<each one’s trusted_hash>}}every launchthe lifecycle hooks, with their trust records — no review screen, nothing bypassed
-c projects={"<the card’s folder>"={trust_level="trusted"}}every launchyou chose this folder already, so no trust screen
-c tui.terminal_title=["app-name","thread-title"]every launchthe thread’s name becomes the card’s title
-c features.shell_tool=false -c web_search=disabledcanvas modeits own shell and web search off; the canvas’s cards instead
--dangerously-bypass-approvals-and-sandboxdangerous modeskip approvals and the sandbox

Nothing written to ~/.codex

Everything is a -c flag for this run. The MCP token is passed in the environment, never in the arguments.

Your login, your plan

Codex runs with the ChatGPT sign-in or API key it already uses. Your NeuroSquad account is separate and never sees it.

The real codex.exe, directly

npm’s codex.cmd only starts a script that starts codex.exe — the card starts the exe itself, so stopping the card really stops Codex.

FAQ

Codex CLI in NeuroSquad, answered

Give Codex a canvas

Free for Windows 10 and 11. Your code, your login and your costs stay on your machine.