Learn Claude Code is a free, open-source curriculum that teaches "harness engineering" — the discipline of building the operational environment around a large language model so it can perceive, reason, and act reliably as an agent. Rather than focusing on prompt tricks, the project's core thesis is that agency comes from the model itself, while the surrounding harness (tools, permissions, memory, context management, coordination) is what turns a model into a dependable product. The repository has earned tens of thousands of GitHub stars and is built around Anthropic's Claude Agent SDK.
The course is organized into 20 progressive lessons (s01–s20), starting from the fundamentals of the agent loop and tool use, and moving through permission systems, hooks, planning with to-do lists, subagents, skill loading, context compaction, memory systems, and system prompt assembly. Later lessons cover more advanced production concerns such as error recovery, background tasks, cron scheduling, multi-agent teams and protocols, autonomous agents, worktree isolation, and MCP plugin integration. Each lesson folder pairs a written explanation with working code and diagrams, and a legacy 12-lesson track is kept for those following older material.
This resource is aimed at software engineers who want a structured, hands-on path into building real agentic systems rather than just calling an LLM API. It assumes basic Python and command-line familiarity but no prior experience building agents, making it approachable for developers new to the space while still going deep enough for those designing production-grade agent infrastructure. Content is primarily in English, with additional Chinese source material and Japanese translations, and an accompanying web platform is also available.
Because it combines conceptual grounding with runnable code for each topic, the project works well both as a sequential course and as a reference to revisit when implementing a specific capability, such as adding a permission model or coordinating multiple subagents.