Claude Code started as a terminal coding assistant. It now runs as a layered agentic system. Underneath, Claude Code separates memory, hooks, skills, subagents, plugins, and MCP into distinct layers.