Skip to main content
Glama

List background jobs (free)

codex_job_list
Read-only

List background Codex jobs for a workspace, newest first, to recover job IDs lost during interruptions. Review each job's status, outcome, and expiry for quick triage.

Instructions

List the background jobs known for this workspace, newest first.

Free — no model call. Use to recover job_ids lost across context compaction or interruption. Returns each job's id, kind, status, start time, result_available, result_ok (a done job's outcome — true/false/null; see codex_job_status), and expiry, so a stored failure is triageable without fetching each result.

Returns every retained job by default; pass limit (1-1000) or status to narrow. They narrow independently — omitting limit returns every job matching status, not every job. Only an explicit limit truncates: when more jobs match, the response sets truncated: true with a truncation_hint — the extra rows are dropped, not paged, so omit limit to get them all rather than looking for a cursor.

Read a job's result promptly — a finished record can silently drop off. This list is not permanent storage: terminal records expire after the TTL (default 24h), and a per-workspace soft cap (default 50, clamped 1-1000) evicts the oldest terminal records as new jobs start, so a finished job can disappear even before its expires_at. Running jobs are never evicted, so a busy workspace can hold more than the cap — and more than limit's 1000 ceiling. Includes sync-originated records (any sync consult/review/delegate call); the cap/TTL eviction covers both.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum jobs to return, newest first (1-1000). Omit (or pass null) to return every retained job that matches — the default; it caps nothing, and does not override `status`. Only an explicit limit truncates: then the response sets truncated=true and the extra rows are dropped.
statusNoReturn only jobs in this lifecycle state ('running', 'done', 'failed', 'cancelled', 'timeout'); omit for all states.
workspace_rootNoAbsolute path to the target repo root — pass it (or an MCP root) to target the intended repo; otherwise the call falls back to the server's own cwd and sets meta.workspace_warning.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
okYes
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Even with readOnlyHint=true, the description goes far beyond annotations. It details truncation semantics (truncated:true, truncation_hint, rows dropped not paged), TTL expiry (default 24h), per-workspace soft cap with eviction, that running jobs are never evicted, and that sync-originated records are included. These operational traits are critical for correct agent behavior and are entirely additional to the annotation's read-only signal.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is lengthy but dense with operational caveats that are genuinely useful. It is front-loaded with the core purpose and 'Free — no model call,' then flows into return fields, limit/status semantics, and eviction policy. Every sentence provides value; the length is justified by the tool's subtle list behavior. Slightly long, but not padded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers purpose, use case, return fields, truncation behavior, TTL, soft cap, eviction, running-job protection, and sync-originated records. The output schema exists to handle return structure, so the description need not list fields. This is a complete picture for an agent deciding whether and how to invoke the tool, including all lifecycle gotchas.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already covers all 3 parameters (100% coverage). The description reinforces the limit/status behavior, particularly that they narrow independently and that omitting limit does not cap results. It also adds 'omitted rows are dropped, not paged' which goes beyond the schema. However, workspace_root is only explained in the schema, and the description overlaps with the schema's own limit description. Given the high schema coverage, the description adds meaningful but not essential semantic detail.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: 'List the background jobs known for this workspace, newest first.' It specifies the verb (list), resource (background jobs), and scope (workspace). It also distinguishes itself from sibling tools by noting it returns job metadata (id, kind, status, expiry) and even references codex_job_status for result_ok semantics. This is a precise, non-tautological purpose statement.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives an explicit use case: 'Use to recover job_ids lost across context compaction or interruption.' It also warns that the list is not permanent storage, telling agents to read results promptly. However, it does not explicitly state when not to use this tool (e.g., for fetching a single job's result), though the reference to codex_job_status provides a pointer. The guidance is clear but lacks explicit exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/briandconnelly/codex-in-claude'

If you have feedback or need assistance with the MCP directory API, please join our Discord server