Skip to main content

ChatGPT Developer Guide

What is this about?

ChatGPT is not just a chat window. For developers, it is an ecosystem made of the ChatGPT surface, OpenAI Platform, Apps, Agents, Projects, GPTs, Skills, and Codex. This guide maps the pieces: what they are for, how to use them, when to extend them, and how they work together.

1. The mental model​

OpenAI has several layers. The most common mistake is calling everything "ChatGPT". For clean architecture decisions, separate these concepts:

LayerPurposeTypical usersExtension model
ChatGPTProductive chat work: research, writing, analysis, planning, agent useEnd users, teams, developersGPTs, Projects, Apps, Deep Research
OpenAI PlatformAPIs, models, tools, tracing, keys, billing, production systemsDevelopers, product teamsResponses API, Agents SDK, Tools, Evals
CodexCoding agent for repositories, IDE, terminal, desktop, and cloudDevelopersAGENTS.md, Skills, Plugins, MCP, Hooks, Subagents
Apps SDKBuild apps that run directly inside ChatGPTApp developers, SaaS teamsMCP server plus optional UI components
GPTsCustom ChatGPT experiences without running full app infrastructurePower users, teamsInstructions, Knowledge, Capabilities, Actions

Rule of thumb: ChatGPT is the work surface, the Platform is the API layer, Codex is the coding agent, Apps are product integrations, and GPTs are configured assistants.

2. Apps in ChatGPT​

Apps bring external tools and data into ChatGPT. Earlier "connectors" are now generally surfaced as Apps in the current product line. Some apps only provide search or data access, some render interactive UI in the chat, and others can perform actions in a connected service.

App capabilityWhat it is forExample
SearchFind content in connected services and use it as contextFiles, tickets, messages, CRM data
Deep researchMulti-source research with citations across connected appsMarket analysis across web, Drive, and Slack
SyncPre-index content so answers become faster and betterWorkspace knowledge, document stores
Write actionsChange something in an external systemPost a comment, create a meeting, update a file
Interactive UIRender rich UI directly in ChatGPTMaps, product lists, playlists, forms

Using apps​

  1. Open Settings > Apps in ChatGPT or use the App Directory.
  2. Connect the app if it needs OAuth or workspace approval.
  3. Use the app through @AppName, the plus menu, or as a source in Projects and Deep Research.
  4. Check approval cards carefully. Reading is usually less risky than writing, deleting, sharing, or purchasing.
Take permissions seriously

Apps can read external data or trigger actions. Keep app permissions conservative in production workspaces: automatic read access is often acceptable, while write actions usually deserve confirmation in teams.

Building your own apps​

Custom ChatGPT apps are built with the Apps SDK. The basic architecture:

Building blockRole
MCP serverExposes tools ChatGPT may call
Tool schemasDescribe inputs, outputs, and side effects
UI componentOptional interactive view inside the ChatGPT iframe
AuthConnects users securely to your service
SubmissionMakes the app available to a workspace or directory

Conceptual starter flow:

# 1. Create an app project
npm create openai-app@latest my-chatgpt-app

# 2. Run it locally
cd my-chatgpt-app
npm run dev

# 3. Connect it in ChatGPT Developer Mode
# 4. Test tools, verify UI, harden auth and permissions
# 5. Deploy and submit for workspace or directory use

When to use Apps instead of GPTs:

Choose Apps when...Choose GPTs when...
you are integrating a real product or internal toolyou mainly want to configure behavior and knowledge
external APIs, auth, or write actions are requiredyou do not want to run infrastructure
UI in the chat matterstext workflows, analysis, or simple actions are enough
admins need rollout and permission controlsindividual users or teams need to move quickly

Official sources: Apps in ChatGPT, Apps SDK.

3. Agents​

"Agent" means two related but different things in the OpenAI ecosystem:

LayerWhat it isWhen to use it
ChatGPT agent modeChatGPT works longer on a task, uses browser, apps, files, Code Interpreter, and confirms risky stepsComplex online tasks without building your own system
Agents SDKDeveloper framework for agentic apps with tools, handoffs, tracing, and guardrailsWhen you build an agentic product
Codex AgentCoding agent for software developmentWhen the task is attached to a repo, IDE, or terminal

ChatGPT agent mode​

Agent mode is useful when ChatGPT should do more than answer: inspect websites, gather information, analyze files, prepare forms, edit tables, or combine multiple sources. You start it from the tool menu or with /agent.

Good prompt:

Use Agent Mode. Goal: create a comparison table for three CRM tools.
Sources: official pricing pages and our uploaded requirements file.
Deliverable: Markdown table with recommendation, assumptions, and links.
Stop before any action that sends data to external services.

Agent mode is less useful for quick questions, simple writing, or tasks where you need full API control, logs, evals, and product-owned logic.

Agents SDK​

The Agents SDK is the path for building agents yourself. You define agents, tools, handoffs, guardrails, and observability. It fits support automation, research pipelines, internal ops agents, data analysis, and multi-step product workflows.

Minimal model:

from agents import Agent, Runner, function_tool

@function_tool
def lookup_customer(customer_id: str) -> str:
return "Customer data from your system"

agent = Agent(
name="Support Agent",
instructions="Answer from company policy and use tools when needed.",
tools=[lookup_customer],
)

result = Runner.run_sync(agent, "Summarize customer 123 and suggest next steps.")
print(result.final_output)

Decision table:

TaskBest choice
A human wants ChatGPT to complete a complex web taskChatGPT agent mode
A product needs repeatable agentic logicAgents SDK
A developer wants to read, edit, test, or review codeCodex
A team wants a ChatGPT experience without a backendGPT

Official sources: ChatGPT agent, Agents SDK.

4. Projects​

Projects are workspaces in ChatGPT. They keep chats, files, links, saved answers, and project instructions together. For developers, Projects are especially useful when context should persist across multiple threads.

ComponentBenefit
Project InstructionsProject-level role, style, constraints, and rules
FilesSpecs, PDFs, spreadsheets, architecture docs
Project MemoryContext from the project remains available in the project
Shared ProjectsA team works in one shared context hub
Apps in ProjectsExternal sources such as Drive or Slack can be used as context

Good project instructions:

You are our technical product partner for the billing project.
Answer concisely, but include clear trade-offs.
Use the uploaded architecture docs as the primary source.
If information is missing, mark assumptions explicitly.
Do not send personal data into external app actions.

When Projects make sense:

  • Long-running topics: product launch, migration, research, course, docs, recruiting.
  • Multiple parallel chats that need the same context.
  • Team work where files and decisions should remain traceable.
  • Recurring reports or analyses.

When they do not:

  • One-off questions.
  • Tasks where you intentionally do not want history or memory.
  • Confidentiality or compliance cases where the workspace does not allow files, apps, or sharing.

Official source: Projects in ChatGPT.

5. GPTs​

GPTs are custom ChatGPT experiences. You configure name, description, instructions, knowledge, capabilities, apps, and actions. They are ideal when you need a reusable assistant experience without building a full app.

GPT building blockWhat it is for
InstructionsBehavior, role, tone, boundaries, decision rules
KnowledgeUploaded references the GPT should use
CapabilitiesTools such as web, images, file analysis, or Code Interpreter, depending on plan
AppsConnected app context or tools
ActionsCustom API calls through an OpenAPI schema
Version historyTest and track changes

You build GPTs on the web in the GPTs area. Mobile apps can use GPTs, but the builder is centered on the web experience.

GPT Actions​

Actions connect a GPT to an API. You describe the API with an OpenAPI schema and define auth, parameters, and allowed operations.

Conceptual schema:

openapi: 3.1.0
info:
title: Tickets API
version: 1.0.0
paths:
/tickets/search:
get:
operationId: searchTickets
summary: Search support tickets
parameters:
- name: query
in: query
required: true
schema:
type: string
responses:
"200":
description: Matching tickets

Use GPTs for:

  • Team assistants: "Support Policy Helper", "Brand Reviewer", "SQL Mentor".
  • Knowledge plus a clearly defined working style.
  • Prototypes before building an app or API integration.
  • Simple API actions when interactive UI is not needed.

Do not use GPTs for:

  • Complex product UX inside the chat.
  • Fine-grained admin rollout through an app directory.
  • Agentic production systems with tracing, evals, and a deployment pipeline.

Official sources: Creating and editing GPTs, GPT Actions.

6. Skills​

Skills are reusable capabilities for agents. The term appears in two important contexts:

ContextMeaningTypical form
OpenAI Platform Tools SkillsTool capabilities for API agentsSkill or tool configuration in an agentic workflow
Codex SkillsReusable working instructions for CodexDirectory with SKILL.md, optional scripts, references, assets

Codex Skills are especially concrete: a skill describes when it applies, which steps Codex should follow, and which resources or scripts it may use.

---
name: release-notes
description: Create release notes from git commits and issue context.
---

1. Read the merged commits since the last tag.
2. Group changes by user-facing impact.
3. Mention breaking changes explicitly.
4. Produce Markdown suitable for the changelog.

Skills vs GPTs vs Apps​

You need...Use
A reusable Codex workflowCodex Skill
A friendly ChatGPT assistantGPT
Access to external tools, data, or UI in ChatGPTApp
Production-grade agent logic in your productAgents SDK
Project-wide rules for a repoAGENTS.md

Skills are good for recurring procedures: release, review, migration, docs, security checks, frontend audits, and data imports. If a skill needs external systems, combine it with MCP.

Official sources: Skills in OpenAI API docs, Codex Skills.

7. Codex​

Codex is OpenAI's coding agent. It reads repositories, plans changes, edits files, runs commands, reviews diffs, uses tools, and can work locally or in the cloud.

For a concrete Windows/WSL/VS Code setup, see the Codex Setup Guide.

Codex surfaces​

SurfaceStrengthWhen to use it
CLITerminal-first, fast, scriptable, close to the repoLocal repo work, reviews, automation
IDE ExtensionOpen files, selection, editor context, local changesWhen you are working in the editor
Codex Desktop AppProjects, parallel threads, worktrees, browser, skills, pluginsLarger work, review, planning, app workflow
Codex Cloud/WebOffloaded tasks in a remote environmentLong tasks, parallel implementations, PR fixes
Windows AppNative Windows, PowerShell, optional WSL2Windows workflows with sandboxing

CLI basics​

# Interactive session in the current repo
codex

# One-off question with repo context
codex "Explain this codebase"

# Non-interactive use for scripts
codex exec "Fix the failing tests and summarize what changed"

# Launch the desktop app from the terminal
codex app

# Resume an earlier session
codex resume --last

In the CLI, context is often more explicit: name paths, attach files, or describe the relevant area. In the IDE, Codex automatically gets more editor context.

IDE Context and Auto Context​

In VS Code-compatible editors, Codex can use open files, selected code ranges, and explicitly added files as context. This is the core idea behind "include IDE context": you do not need to paste everything into the prompt; you can work with selections, @file references, and Auto Context.

Practical patterns:

  • Select a function and use Add to Codex Thread.
  • Mention files with @example.tsx or @resources.ts.
  • Use /auto-context when Codex should automatically include current editor signals.
  • Turn Auto Context off when a task should stay isolated.

Good IDE prompt:

Use the selected component and @src/lib/api.ts as context.
Add loading, empty, and error states.
Follow the existing UI patterns and run the relevant tests afterwards.

Codex layers that work together​

LayerPurposeExample
PromptOne-off task and constraints"Plan only, do not edit"
IDE contextCurrent editor files and selectionOpen React component
AGENTS.mdDurable repo rulesTest commands, architecture rules, review focus
config.tomlPersonal or project configurationModel, sandbox, MCP, feature flags
SkillsReusable workflowsRelease notes, security review
PluginsInstallable bundles of skills, apps, MCP, assetsTeam plugin for Linear plus review skill
MCPExternal tools and dataGitHub, Figma, Sentry, docs
SubagentsSpecialists for parallel workTester, reviewer, implementer
Hooks/RulesMechanical boundaries and lifecycle checksCheck before shell command, block sensitive paths

AGENTS.md​

AGENTS.md is the most important durable repo instruction file. Put information there that Codex should always know:

  • Setup and test commands.
  • Code style, architecture boundaries, naming.
  • Review expectations.
  • Directory-specific rules.
  • Things Codex has repeatedly assumed incorrectly.

Example:

# AGENTS.md

## Repository expectations

- Use `yarn build` before finishing MDX documentation changes.
- Keep source docs in English and put German translations under `i18n/de/`.
- Do not edit generated i18n files unless explicitly requested.
- For frontend changes, verify mobile and desktop layouts.

Windows, WSL, and the desktop app​

On Windows, Codex can run natively with PowerShell and the Windows sandbox, or inside WSL2. Choose:

SetupRecommendation
Repo and tools are Windows-nativeNative Windows Agent
Repo lives in a Linux toolchain, Node/Python run in LinuxWSL2 Agent
You use VS Code Remote WSLStart Codex in the WSL environment
You want to share files between Windows and WSLSet CODEX_HOME deliberately, otherwise config/sessions stay separate

WSL2 is useful when your project already lives in Linux. For Windows-native apps, the native agent is often more direct. WSL1 is not a good base for modern Codex Linux sandboxing setups.

Permissions and sandboxing​

Codex works with approval and sandbox modes. The safe default is: read, edit, and run local commands in the workspace; ask for network access, external paths, or risky actions. Full Access is useful, but should be limited to trusted repos and clear tasks.

Review and cloud​

Use /review when Codex should prioritize risks in diffs. Use Cloud when a task is long-running, should be parallelized, or should leave your local IDE free. Good cloud tasks include a definition of done, branch context, test command, and explicit non-goals.

Official sources: Codex Manual, Codex CLI, Codex IDE, Codex Windows.

8. Search and Deep Research​

ChatGPT has several research modes. They are not interchangeable.

ModeUse caseResult
Standard ChatGeneral knowledge, quick explanationFast answer, not necessarily current
Web searchCurrent facts, prices, dates, news, source checksShort answer with web sources
Deep ResearchMulti-step research with synthesis and source controlStructured report with citations
Agent modeResearch plus actionsResult plus executed steps

Use Deep Research when:

  • multiple sources need to be compared,
  • you need citations or traceable sources,
  • files, web, and apps should be analyzed together,
  • the question needs analysis rather than lookup,
  • you need a longer decision document.

Use regular Web search when:

  • you only need to know what is current,
  • one official source is enough,
  • the answer should stay short,
  • no deep synthesis is required.

Good Deep Research prompt:

Create a Deep Research report on the best options for EU-compliant CRM.
Sources: official vendor websites, current privacy documents, and our uploaded requirements file.
Compare: data residency, API, role model, integrations, pricing structure qualitatively only.
Deliverable: executive summary, comparison table, risks, recommendation, source links.

Failure modes:

  • A question that is too broad leads to a shallow report.
  • The source mix becomes unclear if you do not state which sources are allowed.
  • Current prices and limits can change, so always check sources.
  • App data can only be used when the app is connected and authorized.

Official sources: Deep research in ChatGPT, Deep research API guide.

9. OpenAI Platform for developers​

The OpenAI Platform is where production work happens: API keys, projects, models, usage, logs, evals, tools, and SDKs.

AreaWhat it is for
DashboardProjects, usage, billing, limits, keys
ProjectsAPI workspaces, key isolation, team structure
ModelsModel choice, capabilities, context, cost profile
Responses APIStandard API for multimodal, tool-using interactions
Agents SDKAgentic workflows with tools, handoffs, and tracing
ToolsWeb search, file search, computer use, code interpreter, MCP, Skills
EvalsMeasure quality and detect regressions
Tracing/ObservabilityUnderstand and debug agent runs

Developer setup​

# Set API key locally
export OPENAI_API_KEY="sk-..."

# Install SDK
npm install openai

# Minimal Responses call
node -e "import OpenAI from 'openai'; const client = new OpenAI(); const r = await client.responses.create({ model: 'gpt-5.5', input: 'Say a quick hello.' }); console.log(r.output_text);"

For real projects:

  1. Create one Platform Project per product, environment, or team.
  2. Use separate keys for dev, CI, and production.
  3. Pin models deliberately and watch release notes.
  4. Log inputs/outputs in a privacy-conscious way.
  5. Build evals for core cases before automating agents.
  6. Set rate limits, cost alerts, and fallbacks.
  7. Use tracing for tool calls and agent handoffs.

Which API for what?​

GoalRecommendation
Chat, text, image input, tools, structureResponses API
Classic legacy chat schemaChat Completions only when existing code needs it
Agentic app with multiple toolsAgents SDK
Search over your own filesFile Search/Retrieval
Current web dataWeb Search Tool
Interactive browser/desktop actionsComputer Use, with strict guardrails
ChatGPT extension for usersApps SDK or GPT Actions

Official source: OpenAI Platform docs.

10. Decision guide​

I want to...
|
+-- Organize ChatGPT work around a topic
| +-- Project
|
+-- Build a reusable chat assistant
| +-- GPT
|
+-- Connect ChatGPT to my product or internal API
| +-- Apps SDK or GPT Action
|
+-- Build an agent inside my own software
| +-- Agents SDK
|
+-- Plan, edit, test, or review code in a repo
| +-- Codex
|
+-- Make a Codex workflow reusable
| +-- Skill, later Plugin
|
+-- Quickly check current information
| +-- Web search
|
+-- Create a sourced report from multiple sources
+-- Deep Research

11. Practical starting order​

  1. As a user: Create a Project for recurring work and write good Project Instructions.
  2. As a power user: Build a GPT for recurring ChatGPT tasks.
  3. As a developer: Use the OpenAI Platform with the Responses API and clearly separated Projects.
  4. As an app builder: Start with the Apps SDK when ChatGPT should use your product directly.
  5. As an agent builder: Use the Agents SDK, evals, and tracing before running agents autonomously in production.
  6. As a software developer: Configure Codex with AGENTS.md, suitable permissions, skills, and MCP.
  7. As a team: Package stable workflows as skills or plugins and document approval rules.

Further reading​


All AI-generated content is draft material and requires human review before external use.