Send a prompt to a Codex thread
send_to_codex_threadSend a follow-up prompt into an existing Codex thread to continue the same unfinished task, preserving its history, working directory, and model.
Instructions
Send a prompt as a new user turn inside an existing Codex thread and wait for Codex to answer. Use only for the same unfinished task, including follow-up fixes, clarifications, or results; independent new work belongs in a new conversation when authorized. The thread keeps its full history, cwd and model. Use list_codex_threads first if you do not know the threadId. Desktop-owned tasks must use Desktop native delivery; an open task is a valid destination. If legacy delivery reports an active writer, inspect codex_bridge_status and repair the native relay/configuration. Do not close the task, create a replacement, or ask the user to copy the message manually.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| cwd | No | Expected destination directory; Desktop always checks the verified sender's project and cannot change the task's workspace | |
| name | No | Optional title to show for this Codex session | |
| model | No | Override the model for this turn | |
| effort | No | Override reasoning effort (default whatever ~/.codex/config.toml says) | |
| prompt | Yes | The message to send to Codex as a new user turn. 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 | |
| threadId | Yes | Codex thread id (UUID) - get it from list_codex_threads | |
| openInApp | No | Open the thread in Codex Desktop on Windows or macOS so a human can watch it live | |
| timeoutSec | No | How long to observe the task (Desktop caps the entire call at 40s; the task continues and its threadId is returned) | |
| releaseAfterTurn | No | Unsubscribe this thread after a terminal turn; open Desktop only after its unload is confirmed |