Python 88.3%
TypeScript 7.6%
Shell 4.1%
1# OpenAI tools — index (built-in, function calling, MCP, containers, skills)23**Status:** DOCUMENTED + LIVE_VERIFIED (12 of 16 tool types called live on 2026-09-18 with `gpt-5.4-nano` / `gpt-5.4-mini`; `computer_use_preview` ACCOUNT_RESTRICTED, `local_shell` FAILED_VERIFICATION/LEGACY, `programmatic_tool_calling`, `computer`, `web_search_preview*`, `web_search_2025_08_26` DOCUMENTED only).4**Sources:** https://developers.openai.com/api/docs/guides/tools · https://developers.openai.com/api/docs/guides/function-calling · https://developers.openai.com/api/reference/resources/responses/methods/create · openapi-master.yaml (`Tool` union) · model pages `## Supported tools` · https://developers.openai.com/api/docs/pricing#built-in-tools5**Last verified:** 2026-09-18 · machine-readable: `generated/fragments/tools/openai-tools.json`, `parameters/openai-tools.json`, `streaming-events/openai-tools.json`, `endpoints/openai-containers-skills.json`67## Exact `type` strings (OpenAPI `Tool` union, 16 members) and live status89| `type` | Category | Doc | Live 2026-09-18 |10|---|---|---|---|11| `function` | client | [function-calling](function-calling.md) | LIVE_VERIFIED (nano; forced, round trip, stream, strict 400) |12| `custom` | client | [custom-tools](custom-tools.md) | LIVE_VERIFIED (regex grammar) |13| `namespace` | client | [function-calling](function-calling.md#namespaces) | LIVE_VERIFIED (nano) |14| `tool_search` | hosted | [tool-search](tool-search.md) | LIVE_VERIFIED (gpt-5.4-mini) |15| `programmatic_tool_calling` | hosted | [tool-loop](../../openai/tool-loop.md#programmatic-tool-calling) | DOCUMENTED |16| `web_search` / `web_search_2025_08_26` | hosted | [web-search](web-search.md) | LIVE_VERIFIED / DOCUMENTED |17| `web_search_preview` / `web_search_preview_2025_03_11` | hosted, LEGACY | [web-search](web-search.md) | DOCUMENTED |18| `file_search` | hosted | [file-search](file-search.md) | LIVE_VERIFIED |19| `code_interpreter` | hosted | [code-interpreter](code-interpreter.md) | LIVE_VERIFIED (+ containers API) |20| `computer_use_preview` | client, PREVIEW | [computer-use](computer-use.md) | ACCOUNT_RESTRICTED (404 model_not_found) |21| `computer` | client | [computer-use](computer-use.md) | DOCUMENTED |22| `image_generation` | hosted | [image-generation](image-generation.md) | LIVE_VERIFIED error path only |23| `mcp` | mcp | [mcp-and-connectors](mcp-and-connectors.md) | LIVE_VERIFIED (DeepWiki, approvals) |24| `shell` | hosted / client | [shell](shell.md) | LIVE_VERIFIED (local + hosted with skill) |25| `local_shell` | client, LEGACY | [shell](shell.md#local_shell-legacy) | FAILED_VERIFICATION: 400 “no longer supported” on nano |26| `apply_patch` | client | [apply-patch](apply-patch.md) | LIVE_VERIFIED |27| *(not a tool)* `skill_reference` / `inline` skills | hosted attachment | [skills](skills.md), [Skills API](../../openai/skills-api.md) | LIVE_VERIFIED |2829## Tool × Endpoint matrix3031| Tool | POST /v1/responses | POST /v1/chat/completions | Realtime / Live | Agents API | Assistants (legacy) |32|---|---|---|---|---|---|33| function | yes | yes (`{type:function, function:{…}}`) | yes (`session.tools`) | yes | yes |34| custom | yes | yes (`{type:custom, custom:{…}}`) | no | no | no |35| namespace, tool_search, programmatic_tool_calling | yes | no | no | tool_search / PTC yes | no |36| web_search | yes | only via search models (`gpt-5-search-api`, `web_search_options`) | Live: `{type: web_search}` | yes | no |37| file_search | yes | no | no | no | yes |38| code_interpreter | yes | no | no | sandbox | yes |39| computer / computer_use_preview | yes | no | no | no | no |40| image_generation | yes | no | no | no | no |41| mcp | yes | no | yes (Realtime MCP) | yes (MCP connections) | no |42| shell / apply_patch / local_shell | yes | no | no | shell in sandbox | no |4344## Tool × Model matrix (from the `## Supported tools` section of each model page, 2026-09-18)4546Keys as written on the model pages. Note: gpt-5.6-*, gpt-6-astra and gpt-daybreak-* pages omit `function_calling` although function calling is documented for them (GPT-6 Astra requires Responses for tool calling); `computer-use-preview` and `codex-mini-latest` pages have no section.4748| Model | function / custom / namespace | web_search(_preview) | file_search | code_interpreter | image_generation | mcp | shell (hosted) | apply_patch | skills | computer / computer_use_preview | tool_search |49|---|---|---|---|---|---|---|---|---|---|---|---|50| `chat-latest` | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | | | | |51| `gpt-4.1-mini` | ✓ | ✓ | ✓ | ✓ | | ✓ | | | | | |52| `gpt-4.1-nano` | ✓ | | ✓ | ✓ | ✓ | ✓ | | | | | |53| `gpt-4.1` | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | | | | |54| `gpt-4o-mini-audio-preview` | | ✓ | ✓ | ✓ | | ✓ | | | | | |55| `gpt-4o-mini` | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | | | | |56| `gpt-4o` | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | | | | |57| `gpt-5-chat-latest` | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | | | | |58| `gpt-5-codex` | ✓ | ✓ | | | | | | | | | |59| `gpt-5-mini` | ✓ | ✓ | ✓ | ✓ | | ✓ | | | | | |60| `gpt-5-nano` | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | | | | |61| `gpt-5-pro` | ✓ | ✓ | ✓ | | ✓ | ✓ | | | | | |62| `gpt-5.1-chat-latest` | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | | | | |63| `gpt-5.1-codex-max` | ✓ | ✓ | | | | | | | | | |64| `gpt-5.1-codex-mini` | ✓ | ✓ | | | | | | | | | |65| `gpt-5.1-codex` | ✓ | ✓ | | | | | | | | | |66| `gpt-5.1` | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | ✓ | | | |67| `gpt-5.2-chat-latest` | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | | | | |68| `gpt-5.2-codex` | ✓ | ✓ | | | | | ✓ | | ✓ | | |69| `gpt-5.2-pro` | ✓ | ✓ | ✓ | | ✓ | ✓ | | | | | |70| `gpt-5.2` | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | |71| `gpt-5.3-chat-latest` | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | | | | |72| `gpt-5.3-codex` | ✓ | ✓ | | | | | ✓ | | ✓ | | |73| `gpt-5.4-mini` | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |74| `gpt-5.4-nano` | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | |75| `gpt-5.4-pro` | ✓ | ✓ | ✓ | | ✓ | ✓ | | ✓ | | ✓ | ✓ |76| `gpt-5.4` | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |77| `gpt-5.5-pro` | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | | | |78| `gpt-5.5` | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |79| `gpt-5.6-cyber` | | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |80| `gpt-5.6-luna` | | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |81| `gpt-5.6-sol` | | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |82| `gpt-5.6-terra` | | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |83| `gpt-5` | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | | | | |84| `gpt-6-astra` | | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |85| `gpt-audio-mini` | ✓ | | | | | | | | | | |86| `gpt-daybreak-blue-latest` | | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |87| `gpt-daybreak-red-latest` | | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |88| `gpt-oss-120b` | ✓ | ✓ | | ✓ | | ✓ | | | | | |89| `gpt-oss-20b` | ✓ | ✓ | | ✓ | | ✓ | | | | | |90| `o1-mini` | | | ✓ | ✓ | | ✓ | | | | | |91| `o1-pro` | ✓ | | ✓ | | | ✓ | | | | | |92| `o1` | ✓ | | ✓ | | | ✓ | | | | | |93| `o3-deep-research` | | ✓ | | ✓ | | ✓ | | | | | |94| `o3-mini` | ✓ | | ✓ | ✓ | ✓ | ✓ | | | | | |95| `o3-pro` | ✓ | ✓ | ✓ | | ✓ | ✓ | | | | | |96| `o3` | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | | | | |97| `o4-mini-deep-research` | | ✓ | | ✓ | | ✓ | | | | | |98| `o4-mini` | ✓ | ✓ | ✓ | ✓ | | ✓ | | | | | |99100## Pricing pointers (owned by the pricing fragment; cited here)101102| Tool | Price | Source |103|---|---|---|104| Web search (`web_search`, all models; image web search) | $10.00 / 1k calls + search content tokens at model rates | pricing#built-in-tools |105| Web search preview | $10 / 1k (reasoning models) · $25 / 1k with free content tokens (non-reasoning) | pricing#built-in-tools |106| Containers (hosted shell, code interpreter) | 1 GB $0.03 · 4 GB $0.12 · 16 GB $0.48 · 64 GB $1.92 per 20-minute session per container | pricing#built-in-tools |107| File search | $2.50 / 1k calls; storage $0.10 / GB / day (1 GB free) | pricing#built-in-tools |108| MCP, function, custom, apply_patch, shell (local), tool_search | tokens only | pricing |109| image_generation | image-model token pricing | pricing#image-generation |110111## `include[]` values that belong to tools112113`file_search_call.results`, `web_search_call.results`, `web_search_call.action.sources`, `code_interpreter_call.outputs`, `computer_call_output.output.image_url` (plus non-tool: `message.input_image.image_url`, `reasoning.encrypted_content`, `message.output_text.logprobs`).114115## Live run summary (2026-09-18)116117~45 tool-related requests, est. total ≈ $0.35 (web search 6 × $0.01, containers 7 sessions × $0.03, file search 5 × $0.0025, tokens < $0.03). All raw responses in `tmp-live/tools/` (gitignored); log `reports/live-requests.jsonl`.118119See also: [containers](../../openai/containers.md) · [Skills API](../../openai/skills-api.md) · [tool loop patterns](../../openai/tool-loop.md).120