OpenAI tools — index (built-in, function calling, MCP, containers, skills)
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).
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-tools
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
Exact type strings (OpenAPI Tool union, 16 members) and live status
type |
Category | Doc | Live 2026-09-18 |
|---|---|---|---|
function |
client | function-calling | LIVE_VERIFIED (nano; forced, round trip, stream, strict 400) |
custom |
client | custom-tools | LIVE_VERIFIED (regex grammar) |
namespace |
client | function-calling | LIVE_VERIFIED (nano) |
tool_search |
hosted | tool-search | LIVE_VERIFIED (gpt-5.4-mini) |
programmatic_tool_calling |
hosted | tool-loop | DOCUMENTED |
web_search / web_search_2025_08_26 |
hosted | web-search | LIVE_VERIFIED / DOCUMENTED |
web_search_preview / web_search_preview_2025_03_11 |
hosted, LEGACY | web-search | DOCUMENTED |
file_search |
hosted | file-search | LIVE_VERIFIED |
code_interpreter |
hosted | code-interpreter | LIVE_VERIFIED (+ containers API) |
computer_use_preview |
client, PREVIEW | computer-use | ACCOUNT_RESTRICTED (404 model_not_found) |
computer |
client | computer-use | DOCUMENTED |
image_generation |
hosted | image-generation | LIVE_VERIFIED error path only |
mcp |
mcp | mcp-and-connectors | LIVE_VERIFIED (DeepWiki, approvals) |
shell |
hosted / client | shell | LIVE_VERIFIED (local + hosted with skill) |
local_shell |
client, LEGACY | shell | FAILED_VERIFICATION: 400 “no longer supported” on nano |
apply_patch |
client | apply-patch | LIVE_VERIFIED |
(not a tool) skill_reference / inline skills |
hosted attachment | skills, Skills API | LIVE_VERIFIED |
Tool × Endpoint matrix
| Tool | POST /v1/responses | POST /v1/chat/completions | Realtime / Live | Agents API | Assistants (legacy) |
|---|---|---|---|---|---|
| function | yes | yes ({type:function, function:{…}}) |
yes (session.tools) |
yes | yes |
| custom | yes | yes ({type:custom, custom:{…}}) |
no | no | no |
| namespace, tool_search, programmatic_tool_calling | yes | no | no | tool_search / PTC yes | no |
| web_search | yes | only via search models (gpt-5-search-api, web_search_options) |
Live: {type: web_search} |
yes | no |
| file_search | yes | no | no | no | yes |
| code_interpreter | yes | no | no | sandbox | yes |
| computer / computer_use_preview | yes | no | no | no | no |
| image_generation | yes | no | no | no | no |
| mcp | yes | no | yes (Realtime MCP) | yes (MCP connections) | no |
| shell / apply_patch / local_shell | yes | no | no | shell in sandbox | no |
Tool × Model matrix (from the ## Supported tools section of each model page, 2026-09-18)
Keys 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.
| 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 |
|---|---|---|---|---|---|---|---|---|---|---|---|
chat-latest |
✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||||
gpt-4.1-mini |
✓ | ✓ | ✓ | ✓ | ✓ | ||||||
gpt-4.1-nano |
✓ | ✓ | ✓ | ✓ | ✓ | ||||||
gpt-4.1 |
✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||||
gpt-4o-mini-audio-preview |
✓ | ✓ | ✓ | ✓ | |||||||
gpt-4o-mini |
✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||||
gpt-4o |
✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||||
gpt-5-chat-latest |
✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||||
gpt-5-codex |
✓ | ✓ | |||||||||
gpt-5-mini |
✓ | ✓ | ✓ | ✓ | ✓ | ||||||
gpt-5-nano |
✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||||
gpt-5-pro |
✓ | ✓ | ✓ | ✓ | ✓ | ||||||
gpt-5.1-chat-latest |
✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||||
gpt-5.1-codex-max |
✓ | ✓ | |||||||||
gpt-5.1-codex-mini |
✓ | ✓ | |||||||||
gpt-5.1-codex |
✓ | ✓ | |||||||||
gpt-5.1 |
✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||
gpt-5.2-chat-latest |
✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||||
gpt-5.2-codex |
✓ | ✓ | ✓ | ✓ | |||||||
gpt-5.2-pro |
✓ | ✓ | ✓ | ✓ | ✓ | ||||||
gpt-5.2 |
✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||
gpt-5.3-chat-latest |
✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||||
gpt-5.3-codex |
✓ | ✓ | ✓ | ✓ | |||||||
gpt-5.4-mini |
✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
gpt-5.4-nano |
✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||
gpt-5.4-pro |
✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||
gpt-5.4 |
✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
gpt-5.5-pro |
✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||
gpt-5.5 |
✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
gpt-5.6-cyber |
✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
gpt-5.6-luna |
✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
gpt-5.6-sol |
✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
gpt-5.6-terra |
✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
gpt-5 |
✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||||
gpt-6-astra |
✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
gpt-audio-mini |
✓ | ||||||||||
gpt-daybreak-blue-latest |
✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
gpt-daybreak-red-latest |
✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
gpt-oss-120b |
✓ | ✓ | ✓ | ✓ | |||||||
gpt-oss-20b |
✓ | ✓ | ✓ | ✓ | |||||||
o1-mini |
✓ | ✓ | ✓ | ||||||||
o1-pro |
✓ | ✓ | ✓ | ||||||||
o1 |
✓ | ✓ | ✓ | ||||||||
o3-deep-research |
✓ | ✓ | ✓ | ||||||||
o3-mini |
✓ | ✓ | ✓ | ✓ | ✓ | ||||||
o3-pro |
✓ | ✓ | ✓ | ✓ | ✓ | ||||||
o3 |
✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||||
o4-mini-deep-research |
✓ | ✓ | ✓ | ||||||||
o4-mini |
✓ | ✓ | ✓ | ✓ | ✓ |
Pricing pointers (owned by the pricing fragment; cited here)
| Tool | Price | Source |
|---|---|---|
Web search (web_search, all models; image web search) |
$10.00 / 1k calls + search content tokens at model rates | pricing#built-in-tools |
| Web search preview | $10 / 1k (reasoning models) · $25 / 1k with free content tokens (non-reasoning) | pricing#built-in-tools |
| 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 |
| File search | $2.50 / 1k calls; storage $0.10 / GB / day (1 GB free) | pricing#built-in-tools |
| MCP, function, custom, apply_patch, shell (local), tool_search | tokens only | pricing |
| image_generation | image-model token pricing | pricing#image-generation |
include[] values that belong to tools
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).
Live run summary (2026-09-18)
~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.
See also: containers · Skills API · tool loop patterns.