Resource accounting
Use this reference to interpret the values in status -r, status -u, and
status -q.
For commands to start with, see Monitor usage and set limits.
Memory and process counts
Section titled “Memory and process counts”On Linux with cgroup-v2 accounting, memory is the total currently charged to the workspace’s execution group. It includes more than application heap memory, such as charged file cache. This differs from adding the memory shown for individual processes.
When that accounting is unavailable, CoCo uses process-tree measurements and labels memory as RSS. RSS counts resident pages for each process, including shared pages; summing it can count those pages more than once. Treat this fallback as an observation, especially for processes that detach from their parents.
PROCS counts processes. The --tasks-max limit counts both processes
and threads, so its number is not directly comparable to PROCS.
CPU is recent usage expressed in whole-core percentages: approximately 100% means one logical core is fully used, and 200% means two. The first observation may have no interval measurement yet.
--cpu-max 2 caps total usage at two logical cores. --cpu-weight
sets relative priority under CPU contention. See the
limit options for accepted values.
Token totals and context
Section titled “Token totals and context”status -u reports cumulative tokens for the Codex conversation. An explicit
workspace adds input, cached-input, output, and reasoning-output breakdowns.
Treat subset fields as breakdowns, not additional counts to add to the total.
Context usage shows the latest reported count against the model’s context window. The cumulative token total and current context occupancy answer different questions; shortening context does not mean earlier work was free.
These are Codex’s reported conversation values. When you reuse context, do not interpret them as an independently measured cost of work performed only in the new workspace.
CoCo saves the latest token report. Following status with -fu watches
updates; it does not provide a history of every turn. After a restart the saved
report is marked last seen until another report arrives. Reading these values
does not start an inactive workspace.
Cost is available only when Codex supplies a per-conversation estimate. CoCo shows USD when available and otherwise credits. Estimates can lag token updates. An unavailable estimate is shown as a dash, never as zero.
Use the estimate for observation, not as an invoice or enforced spending budget. CoCo’s resource limits control local computation.
Account quota
Section titled “Account quota”status -q reports the remaining limits supplied by Codex for the active
account. A line such as 5h 84% left · weekly 61% left describes account-wide
windows, not one workspace or repository.
Window names come from the duration Codex reports. Other accounts may expose daily, monthly, annual, or model-specific limits. If Codex says ordinary usage is blocked, CoCo shows that state even when a reset time is available.
Quota is kept only briefly for display and is never saved as workspace history. Direct API-key and custom-provider authentication cannot supply this account view; CoCo shows it as unavailable without affecting workspace status.
JSON and follow output
Section titled “JSON and follow output”Use coco status <workspace> --json for full resource details, including
measurement source, task count, cumulative CPU, and controller events where
available. These are current observations, not persisted resource history.
coco status <workspace> --usage --json adds a nested usage object with token
breakdowns, observation and freshness fields, and an estimate or an
unavailable reason.
coco status <workspace> --quota --json adds one top-level accountQuota
object. Available results include every returned limit bucket, native used
percentages, window durations in minutes, Unix reset timestamps, and the
observation time. Unavailable results include a bounded reason and check time.
Collection JSON also contains this object only once, outside the workspace
array.
Status follow replaces the terminal view in place. Redirected output appends
changed views. Its --follow and --json flags are mutually exclusive;
signal follow supports JSON pages.