Menu / Teammate tools

Reference

Teammate tools

Besides Codex's built-in shell, file and web search tools, every teammate has the 41 dynamic tools below. They are defined in apps/worker/src/tools/definitions.ts and handled in apps/worker/src/tools/handlers.ts.

How tools are served

  • Every thread gets every tool, so a teammate behaves the same in any chat.
  • The worker validates arguments against each tool's JSON schema, and returns readable errors the model can act on.
  • Each call becomes a timeline item, recorded by the handler with more detail than Codex's generic item.
  • Before every call, the handler checks that the teammate's memory hasn't changed since the run started. If it has, the turn is interrupted.
  • Tool definitions and the developer instructions are versioned together with TOOLS_VERSION (currently 13). Changing either requires a bump, which starts fresh threads.

Arguments marked with ? are optional. Helpers are swarm helper runs, which can't use the tools marked "no".

Desktop

Every desktop tool acts on the teammate's own screen (or a helper's own screen), takes the screen's lease, and returns a JPEG screenshot taken after the action. Coordinates are in pixels on the 1280x800 screen. They all fail with user_has_control while you hold the screen.

ToolArgumentsDoesHelpers
desktop_screenshotLooks at the screenyes
desktop_clickx, y, button?, clicks?Clicks at a point (left, right or middle, up to a triple click)yes
desktop_movex, yMoves the pointer, for hover menusyes
desktop_dragfromX, fromY, toX, toYDrags with the left buttonyes
desktop_scrollx, y, direction, amount?Scrolls over a pointyes
desktop_typetextTypes into whatever has keyboard focusyes
desktop_keykeysPresses keys or shortcuts, like ctrl+l or Tab Tab Enteryes
desktop_open_urlurlOpens a URL in a new browser tab, starting the browser if neededyes
desktop_waitsecondsWaits for the screen to settleyes
browser_read_pageselector?Returns the front page's address, title, visible text and up to 300 links, as outside datayes

Working with you

ToolArgumentsDoesHelpers
notify_usertitle, messageSends you a notificationno
request_approvalaction, detailsAsks you to approve a consequential action, and waits up to 10 minutesno
request_takeoverreasonAsks you to take over the screen for a password, code or CAPTCHA, and waits up to 10 minutesno
propose_instructionsinstructions, reasonSuggests a rewrite of its own instructions for you to acceptno

Automations

ToolArgumentsDoesHelpers
schedule_tasktitle, prompt, cron?, at?, timezone?, quiet?Creates a cron routine or a one-time reminderno
watch_pagetitle, url, prompt, every_minutes?, look_for?Watches a page for changes, or for text to appearno
create_webhooktitle, promptCreates a webhook URLno
list_automationsLists its schedules, watches and webhooks with idsyes
update_automationid, enabled?, title?, prompt?, cron?, at?, timezone?, url?, interval_minutes?, look_for?, quiet?Pauses, resumes or changes one of its ownno
cancel_automationidDeletes one of its ownno

Teamwork

ToolArgumentsDoesHelpers
ask_teammatebot, questionAsks another teammate; the answer comes back as a new runno
handoff_to_botbot, messageIn a group chat, passes a request to another teammateno
list_tasksReads the task boardyes
add_tasktitle, notes?, owner?, due?, start?Adds a task, and optionally starts its owner on itno
update_taskid, status?, title?, notes?, owner?, due?Moves, reassigns or edits a taskno
start_swarmtitle, tasks (2 to 6 of { title, instructions })Splits a job across parallel helpersno

Memory and history

ToolArgumentsDoesHelpers
remember_memorycontent, kind?, shared?, key?, expires_at?Saves a fact or preference, as a candidate unless your message asked for ityes
remember_about_userfactSaves a shared fact about youyes
recall_memoryqueryFinds relevant shared and own memories, with ids and revisionsyes
update_memoryid, expected_revision, contentCorrects a memory, failing on a stale revisionyes
forget_memoryid, expected_revisionForgets a memoryyes
search_historyquerySearches past conversations it was part of, newest firstyes

Skills

ToolArgumentsDoesHelpers
save_skillname, description, instructions, for_everyone?Saves a reusable procedure, invoked later with /nameno

Vault and payments

ToolArgumentsDoesHelpers
vault_listLists the logins and cards it may use, and its budgetyes
vault_fillitem_id, fieldTypes one field into the focused input, without seeing ityes
start_purchasecard_id, amount, merchant, descriptionChecks the budget, and approves or asks youno
finish_purchasepurchase_id, paid, note?Records whether the purchase went throughyes

Email

ToolArgumentsDoesHelpers
send_emailto, subject, body, reply_to?Sends from its own address, through the outbox unless it is on Full autono
list_emailsLists recent emails in and out, with idsyes

Codex's built-in tools

Codex also gives every teammate:

  • a shell, running as the bot user in its workspace, with streamed output;
  • file edits as patches;
  • web search;
  • plans, which show as a checklist in the timeline;
  • MCP tools from the teammate's connections.

For teammates on "Ask before every command", the shell and file edits need your approval through Codex's own approval requests.