Claude Code's context window holds tokens, and everything counts against it: the system prompt, CLAUDE.md files, MCP tool definitions, skills, conversation history, and every file read or command output.
MCP servers add their definitions to every request even when you're not calling them. When those definitions pass of the window, Claude Code defers them and loads on demand.
As the window fills, Claude Code clears older tool outputs first, then summarizes if needed. I've seen rules written at the start of a session vanish mid-conversation. Use /insights for a token breakdown by category.