Foundations · Start here

Same concepts, different surface

You probably don't spend most of your day writing raw API calls — you chat on claude.ai, or use Claude inside VS Code (via GitHub Copilot Chat, or the Claude Code extension). Good news: every concept you just learned still applies — it's just hidden behind a nicer interface. This page shows exactly where each one resurfaces, so the knowledge transfers instead of staying "API-only trivia."

claude.ai / DesktopVS Code + Copilot Chat VS Code + Claude Codethe raw API
Explain like I'm 10
Think of the API as the kitchen where all the cooking really happens. claude.ai is a nice restaurant with a menu and a waiter — the same kitchen, but you never see the stove. VS Code can seat you at two different tables in that same restaurant: one run by GitHub (Copilot Chat, which can also cook with Claude), and one that's Anthropic's own table (the Claude Code extension). Different tables, different waiters, same kitchen underneath. Once you've seen the kitchen, you understand why the menu items exist at all.

The big unlock: the UI is the harness

Remember how the API is stateless and you had to resend the whole messages list every turn? claude.ai and VS Code chat do that for you, invisibly. Every chat product is just code that (a) keeps your message list, (b) calls /v1/messages with it, and (c) appends the reply — exactly Exercise 7 from the hands-on practice, wrapped in a nice UI. That's all a chat app is.

Pick a surface — see where each concept lives

Concept-by-concept, in plain terms

API conceptWhere it hides in claude.aiWhere it hides in VS Code
system prompt"Custom instructions" (personal) & a Project's instructionsCopilot: .github/copilot-instructions.md. Claude Code: CLAUDE.md
modelthe model picker above the chat box (Sonnet/Opus/Haiku)Copilot's model picker; Claude Code's /model or config
context window"this chat is getting long" nudges; Project "knowledge" files eat into it toosame — long sessions get summarized/compacted (Domain 5) automatically
tool_use / tools"Connectors" (Drive, web search) and custom "Skills"Copilot's agent-mode tools (edit files, run terminal); Claude Code's built-in tools + MCP
extended thinkingan explicit "Think" / extended-thinking toggle in chatsurfaced as a setting in some Copilot/Claude Code configs
temperaturehidden — the product picks a sane fixed value for youhidden — same reason: consistency for a general chat product
prompt cachinginvisible — the product may apply it for you behind the scenesinvisible in Copilot; Claude Code manages its own context/caching
statelessnesshidden — the product resends your history for you every messagehidden — same; that's the whole value of the wrapper
Why this matters for the exam and for real work: Domain 3 (Claude Code Configuration) is testing the Claude Code column above — whether it's the CLI or the VS Code extension, the underlying mechanics (CLAUDE.md hierarchy, hooks, skills, headless mode) are identical. And when you're prompt-engineering inside claude.ai Projects or a Copilot instructions file, you are — without realizing it — writing a system prompt. The skill you built in Domain 4 transfers directly; only the text box you type it into changes.
Takeaways: claude.ai and VS Code integrations are products built on the same API you've been learning — they just manage the bookkeeping (message history, model defaults, temperature) for you. "Custom instructions" / "Project instructions" / copilot-instructions.md / CLAUDE.md are all system prompts wearing different clothes. "Connectors"/"Skills" are productized tool use. Learn the API once; recognize it everywhere.

Now get your own key and run the raw calls yourself: Getting your API key →