ccdeck

Codex CLI dashboard: every Codex session live

Checked on against ccdeck 3.81.3 and the sources below

Short answer

Run npx ccdeck: it reads the rollout file Codex CLI writes for each session, and shows every session’s tool calls, tokens and estimated cost, and your Codex quota, on one page on your machine, beside your Claude Code sessions.

ccdeck, for every Codex session at once

ccdeck is a free, open-source dashboard for Codex CLI and Claude Code that runs on your machine. For Codex it installs nothing, no hook and no trust prompt. It reads the rollout file Codex writes for each session under ~/.codex/sessions, or under $CODEX_HOME/sessions when you set CODEX_HOME, and looks for new lines every 1.5 seconds.

npx ccdeck --ref=codex-cli-dashboard

With Claude Code installed too, both kinds of session share the page, and the model chip on each card tells them apart. To show Codex only, without the Claude Code hook or claude-swap:

npx ccdeck --no-claude --ref=codex-cli-dashboard

Accounts (A, then Codex) holds several Codex logins, as Codex accounts does on a deck with Codex alone: add one with Codex’s sign-in, see each one’s usage, set the default for new sessions, or let Auto-switch move to one with room. A conversation already running moves too only on Codex 0.166.0 or newer, if opened after Enable terminal selection or in a Codex app on its shared server.

What it misses. It cannot show a Codex approval prompt, because the rollout file records none. A running card whose approval policy can ask says approvals not visible instead, and you answer in the terminal; Codex’s own tui.notifications setting can alert you on approval-requested. The list of sessions waiting on you is Claude Code only. A subagent thread Codex starts gets a card of its own, joined to its parent, only when its rollout names that parent; in Codex, /subagents switches between them. A session idle when ccdeck starts appears when it next writes; one mid-turn comes back marked restored, without its earlier tool calls.

What a Codex card shows

Each session’s card reads LIVE while a turn runs and DONE when it ends. On it:

For the whole of one session, open the Usage panel and click its row under By session. Session usage, read with ccusage, estimates its cost with its tokens and the models it used, and Estimate using compares that estimate with Standard, Fast or Flex pricing, without changing Codex or your billing.

Quota left, by window

Press U for the Usage panel. With Codex signed in through codex login and a ChatGPT account, its Codex quota section has one bar for each limit OpenAI reports for your default Codex account, named by its length, such as “5-hour window” or “7-day window”. Each bar shows how much is used, when it resets, and whether you are on, over or under pace. After a week ends, a line under the bars says how full your last weeks ended.

More about how the quota is read

ccdeck asks OpenAI for your quota about once a minute while its page is open, and about every two minutes with no page open while one of its quota notifications is on. Until you add or switch a Codex account in ccdeck, it signs the request with your own Codex login, which it reads from auth.json in the Codex folder, and to keep that login working it refreshes the token there the way the CLI does, writing back only the new tokens and the time of the refresh. After that, or if Codex keeps your login in the system keychain or keyring, it asks your Codex CLI instead, which reads the standard limits only and may renew the login itself. With an API key there is no quota to show. The cost and quota guide covers the rest of the panel.

codex agents, Codex’s own dashboard

Codex CLI 0.149.0 added “an interactive codex agents dashboard for searching, starting, opening, renaming, and stopping tasks, with configurable shortcuts”, and codex queue “for sending messages to existing local or remote sessions”. Both act on your sessions. ccdeck starts no session and never prompts one, except to move it to another Codex account: it may pause a reply under way, then send one Continue.

What it misses. It belongs to Codex, so your Claude Code sessions are not in it.

/status and /usage, inside a session

In a Codex session, /status shows “the active model, approval policy, writable roots, and current token usage”, and Codex’s reference suggests it to confirm the “remaining context capacity”. /usage shows your account’s token activity, daily, weekly or cumulative. /statusline can keep rate limits, context stats and token counters in Codex’s footer while you work.

What it misses. Each answers in the terminal you type it in, and /status describes that one session, so with several sessions you ask each in turn.

Step by step

Sources

Read on . What ccdeck does is checked against ccdeck 3.81.3, and what another tool does against its own documentation.