Skip to main content
Glama

Start a new Codex thread

start_codex_thread
Destructive

Start a new Codex task when the user explicitly or through standing instructions authorizes a new conversation for independent work.

Instructions

Start a new Codex task when the user explicitly or through standing instructions authorizes a new conversation for independent work. In Desktop mode include the initial prompt and a fresh requestId to create and assign a visible task atomically; keep requestId unchanged on retries. Continue unfinished work with send_to_codex_thread and its original threadId. Use delegate_to_codex to also wait for its reply.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
cwdYesAbsolute working directory for the new Codex session
nameNoOptional title to show for the new Codex session
modelNoModel override, e.g. gpt-5.6-luna
promptNoInitial task; required with CODEX_BRIDGE_DESKTOP_TASKS=1, starts immediately. The prompt for the recipient agent, with an explicit From Codex or From Claude header naming the actual author, all agent-authored text in English including the header purpose, and the sections Goal, Context, Task, Scope, Constraints, Done when, Reply format (omit any that do not apply); text the user supplied is sent verbatim
requestIdNoDesktop creation identity: fresh UUID per independent task, same UUID on retries. Omit only for legacy title/prompt deduplication. Not supported in legacy app-server mode.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv1.22.2
    • changedInput schema / properties / prompt / description
      Previous value: -"Initial task; required with CODEX_BRIDGE_DESKTOP_TASKS=1, starts immediately. The prompt for the recipient agent, in English with the sections Goal, Context, Task, Scope, Constraints, Done when, Reply format (omit any that do not apply); text the user supplied is sent verbatim"New value: +"Initial task; required with CODEX_BRIDGE_DESKTOP_TASKS=1, starts immediately. The prompt for the recipient agent, with an explicit From Codex or From Claude header naming the actual author, all agent-authored text in English including the header purpose, and the sections Goal, Context, Task, Scope, Constraints, Done when, Reply format (omit any that do not apply); text the user supplied is sent verbatim"
  2. Changed1 schema field changedv1.19.3
    • addedInput schema / properties / requestId
      Added value: +{
      +  "description": "Desktop creation identity: fresh UUID per independent task, same UUID on retries. Omit only for legacy title/prompt deduplication. Not supported in legacy app-server mode.",
      +  "format": "uuid",
      +  "type": "string"
      +}
  3. Changed1 schema field changedv1.18.0
    • changedInput schema / properties / prompt / description
      Previous value: -"Initial task; required with CODEX_BRIDGE_DESKTOP_TASKS=1, starts immediately"New value: +"Initial task; required with CODEX_BRIDGE_DESKTOP_TASKS=1, starts immediately. The prompt for the recipient agent, in English with the sections Goal, Context, Task, Scope, Constraints, Done when, Reply format (omit any that do not apply); text the user supplied is sent verbatim"
  4. Changed1 schema field changed
    • addedInput schema / properties / prompt
      Added value: +{
      +  "description": "Initial task; required with CODEX_BRIDGE_DESKTOP_TASKS=1, starts immediately",
      +  "minLength": 1,
      +  "type": "string"
      +}
  5. First observedv1.11.2

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true, readOnlyHint=false, openWorldHint=true and idempotentHint=false, so the mutation/world-facing profile is covered structurally. The description adds real context beyond that: Desktop-mode atomic creation and assignment of a visible task, the prompt requirement implied by CODEX_BRIDGE_DESKTOP_TASKS=1, and retry semantics via a stable requestId. Minor tension with idempotentHint=false, since reusing requestId on retries is presented as safe, but this describes dedup identity rather than a true contradiction.

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?

Three dense sentences, front-loaded with the authorization condition and then routing; every clause carries decision-relevant information. It is slightly packed with mode-specific detail, but there is no filler.

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

Completeness4/5

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

For a 5-parameter, non-idempotent, open-world creation tool with no output schema, the description covers eligibility, mode differences, retry identity and sibling routing. It never says what the call yields (e.g., a new threadId needed by send_to_codex_thread), which is the one gap for an agent that must chain calls.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3; every parameter is already documented in the schema. The description reinforces the prompt/requestId relationship ('include the initial prompt and a fresh requestId ... keep requestId unchanged on retries') but adds no syntax, format, or constraint detail beyond what the schema already states.

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?

States a specific verb and resource — 'Start a new Codex task' — and immediately scopes it to authorized new conversations for independent work. It explicitly tells the agent how this differs from send_to_codex_thread (continuing existing work) and delegate_to_codex (waiting for a reply), so it is separable from siblings without opening their schemas.

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

Usage Guidelines5/5

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

Gives an explicit precondition (user authorization, explicit or standing) and names two alternatives with the conditions that select them: 'Continue unfinished work with send_to_codex_thread and its original threadId' and 'Use delegate_to_codex to also wait for its reply.' Nothing is left to inference.

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