Skip to main content

ChatGPT Tools

ChatGPT integrates a comprehensive suite of tools that extend its capabilities beyond text generation, enabling collaborative document editing, persistent memory, deep research, web browsing, and more.

Canvas (Canmore)

Canvas is ChatGPT’s collaborative editing interface for documents and code, appearing as a side-by-side workspace.
Canvas creates and updates textdocs shown alongside the conversation.When to use:
  • User wants to iterate on a document or code file
  • User explicitly asks for canvas
  • Long-form content requiring refinement

Canvas Functions

Creates a new textdoc to display in canvas.

Schema:
{
  name: string,
  type: "document" | "code/python" | "code/javascript" | "code/html" | ...,
  content: string
}

Supported code types:
- code/python, code/javascript, code/html, code/java
- code/<languagename> for others (e.g., code/cpp, code/typescript)

Previewable types: code/react, code/html
Default to code/react for apps/games/websites

React Code Guidelines

Structure:
  • Default export a React component
  • Use Tailwind for styling (no import needed)
  • All NPM libraries available
Components:
  • shadcn/ui for basic components:
    • import { Card, CardContent } from "@/components/ui/card"
    • import { Button } from "@/components/ui/button"
  • lucide-react for icons
  • recharts for charts
Style Guide:
  • Varied font sizes (xl for headlines, base for text)
  • Framer Motion for animations
  • Grid-based layouts to avoid clutter
  • 2xl rounded corners, soft shadows for cards/buttons
  • Adequate padding (at least p-2)
  • Consider filter/sort controls, search inputs, dropdown menus
Quality:
  • Production-ready code
  • Minimal, clean aesthetic
  • Sleek, modern design

Memory System

ChatGPT features advanced memory capabilities for personalizing interactions across conversations.
Purpose: Persist information across conversationsUsage:
  • Address message to bio
  • Write information you want to remember
  • Information appears in model set context in future conversations
DO NOT USE BIO TOOL TO SAVE:
  • Sensitive information (race, ethnicity, religion, sexual orientation, political ideologies, criminal history, medical diagnoses, trade union membership)
  • Short-term information (current projects, wishes, temporary interests)

Deep Research

Deep Research mode enables extensive online research and comprehensive analysis.
Deep Research is designed for tasks requiring extensive online investigation and synthesis of information from multiple sources.

Capabilities

Primary purpose: Help users with tasks requiring extensive online researchMethods:
  • clarify_with_text: Ask for additional information before starting
  • start_research_task: Begin research process
Access:
  • Browse publicly available internet information
  • Access locally uploaded files
  • NOT able to access authenticated/sign-in required sites
If you don’t know about a concept/name in request, assume it’s a browsing request and proceed with research.

Output Guidelines

- Use clear, logical headings to organize content
  - Main title: #
  - Subheadings: ##, ###
- Keep paragraphs short (3-5 sentences)
- Combine bullet points or numbered lists
  - Unordered: - or *
  - Ordered: 1., 2.
- Ensure headings and lists flow logically
Readability and format of output is very important to the user.If user provides specific output format instructions, they take precedence.
Web search is integrated into ChatGPT for accessing up-to-date information from the internet.
Available commands:
  • search(): Issues query to search engine, outputs response
  • open_url(url): Opens given URL and displays content
IMPORTANT: Do not attempt to use old browser tool—it is deprecated/disabled.Use web tool instead.

Web Tool Format

GPT-5.3 uses compact record format for web operations:
slow|<q>|<recency?>|<domains?>    # Slow search
fast|<q>|<recency?>|<domains?>    # Fast search
image|<q>|<recency?>|<domains?>   # Image search

Citation System

Results from web.run are called “sources” and identified by reference IDs:Format: 【turn\d+\w+\d+】 (e.g., 【turn2search5】 or 【turn2news1】)Usage:
  • Single citation: 【cite|turn3search4】
  • Multiple citations: 【cite|turn3search4|turn1news0】
  • Place at end of paragraphs
  • Include at least one citation per supported statement
File search enables browsing and searching files uploaded by users.
How to use:
  • Set recipient as to=file_search.msearch
  • Use when relevant parts don’t contain needed information
  • Provide citations for answers
Citation format: 【{message idx}:{search idx}†{source}】Example:
  • Message idx: [3] at beginning of tool message
  • Search idx: #13 (13th search result)
  • Source: Document ID 4f4915f6-2a0b-4eb5-85d1-352e00c125bb
  • Valid citation: 【 3:13†4f4915f6-2a0b-4eb5-85d1-352e00c125bb】
All 3 parts are REQUIRED.

Query Examples

User: "What was the GDP of France and Italy in the 1970s?"

Queries: [
  "What was the GDP of France and Italy in the 1970s?",
  "france gdp 1970",
  "italy gdp 1970"
]

Python Execution

ChatGPT includes Python code execution in stateful Jupyter notebook environment.
Purpose: Private, internal reasoningTarget channel: analysisUse for:
  • Analyzing input images
  • Processing files
  • Analyzing web content
  • Private computations
IMPORTANT: NEVER use in commentary channelCode is NOT visible to user.

Image Generation

ChatGPT includes DALL-E integration for image generation and editing.
NEVER use image generation tool unless user specifically requests image generation.For GPT-4.5 and earlier: NEVER use DALL-E tool unless explicit request.
Image generation:
  • Create images from descriptions
  • Diagrams, portraits, comics, memes, etc.
  • Scene-based generation
Image editing:
  • Modify attached images
  • Add or remove elements
  • Alter colors
  • Improve quality/resolution
  • Transform style (cartoon, oil painting, etc.)
Guidelines:
  • Generate directly without reconfirmation
  • Exception: If image includes user’s rendition, ask for their photo first
  • After generation, DO NOT mention download, summarize, or ask follow-ups
  • Say NOTHING after generating image
  • Always use this tool for editing (not python) unless user specifies

Automations

Schedule tasks for future execution including reminders, searches, and conditional checks.
Components:
  • Title: Short, imperative, start with verb (no date/time)
  • Prompt: Summary as message from user (no scheduling info)
  • Schedule: iCal VEVENT format
Prompt formats:
  • Simple reminders: “Tell me to…”
  • Search requests: “Search for…”
  • Conditional: “…and notify me if so.”

Prompt Excerpt

## canmore

# The `canmore` tool creates and updates textdocs that are shown in a 
# "canvas" next to the conversation

This tool has 3 functions, listed below.

## `canmore.create_textdoc`
Creates a new textdoc to display in the canvas. ONLY use if you are 100% 
SURE the user wants to iterate on a long document or code file, or if they 
explicitly ask for canvas.

Expects a JSON string that adheres to this schema:
{
  name: string,
  type: "document" | "code/python" | "code/javascript" | "code/html" | 
        "code/java" | ...,
  content: string
}

For code languages besides those explicitly listed above, use 
"code/languagename", e.g. "code/cpp".

Types "code/react" and "code/html" can be previewed in ChatGPT's UI. 
Default to "code/react" if the user asks for code meant to be previewed 
(eg. app, game, website).

When writing React:
- Default export a React component.
- Use Tailwind for styling, no import needed.
- All NPM libraries are available to use.
- Use shadcn/ui for basic components, lucide-react for icons, and recharts 
  for charts.
- Code should be production-ready with a minimal, clean aesthetic.

Build docs developers (and LLMs) love