[{"data":1,"prerenderedAt":2258},["ShallowReactive",2],{"docs:\u002Fcheatsheet":3},{"id":4,"title":5,"accent":6,"body":7,"description":2224,"estReadTime":2225,"extension":2226,"eyebrow":2227,"icon":2228,"intro":2229,"lastUpdated":2230,"meta":2231,"navigation":2232,"next":2229,"path":2233,"prev":2234,"review":2229,"seo":2237,"stem":6,"tocItems":2251,"__hash__":2257},"docs\u002Fcheatsheet.md","Cheatsheet","cheatsheet",{"type":8,"value":9,"toc":2198},"minimark",[10,14,27,386,624,1270,1411,2194],[11,12,13],"p",{},"Everything from the rest of the guide, condensed to what you'll actually look up in a running session. Skim it once end to end, then treat it as a map: you'll know where to jump for the exact flag, command, or ratio you need.",[15,16,19],"docs-callout",{"title":17,"variant":18},"Print this page","tip",[11,20,21,22,26],{},"This page is designed to print cleanly. ",[23,24,25],"code",{},"Cmd+P"," → single column → fits on two sides of A4. The first side covers commands, shortcuts, and flags; the second side covers file layout and patterns. Most teams I've seen get real value out of taping side one above their monitor for the first month.",[28,29,32,47,52,157,161,268,272,338],"docs-section",{"id":30,"title":31},"commands","Slash Commands",[11,33,34,35,38,39,42,43,46],{},"Type ",[23,36,37],{},"\u002F"," in any session to get autocomplete. Everything below is built in — custom commands live in ",[23,40,41],{},".claude\u002Fcommands\u002F"," (project) or ",[23,44,45],{},"~\u002F.claude\u002Fcommands\u002F"," (personal).",[48,49,51],"h3",{"id":50},"session-control","Session control",[53,54,55,68],"table",{},[56,57,58],"thead",{},[59,60,61,65],"tr",{},[62,63,64],"th",{},"Command",[62,66,67],{},"What it does",[69,70,71,82,92,102,112,122,132,142],"tbody",{},[59,72,73,79],{},[74,75,76],"td",{},[23,77,78],{},"\u002Fhelp",[74,80,81],{},"List every command available, built-in and custom",[59,83,84,89],{},[74,85,86],{},[23,87,88],{},"\u002Fclear",[74,90,91],{},"Reset the conversation. Context window → empty. Use before a new task.",[59,93,94,99],{},[74,95,96],{},[23,97,98],{},"\u002Fcompact [instruction]",[74,100,101],{},"Summarize conversation so far, keep the summary, drop the detail. Optional instruction steers what gets preserved.",[59,103,104,109],{},[74,105,106],{},[23,107,108],{},"\u002Fcontext",[74,110,111],{},"Breakdown of what's loaded: system prompt, CLAUDE.md, tools, conversation.",[59,113,114,119],{},[74,115,116],{},[23,117,118],{},"\u002Fcost",[74,120,121],{},"Tokens spent and dollars burned in the current session.",[59,123,124,129],{},[74,125,126],{},[23,127,128],{},"\u002Fstatus",[74,130,131],{},"Model in use, permission mode, connected MCP servers, active hooks.",[59,133,134,139],{},[74,135,136],{},[23,137,138],{},"\u002Fresume",[74,140,141],{},"Pick a past session from a list and pick up where it ended.",[59,143,144,154],{},[74,145,146,149,150,153],{},[23,147,148],{},"\u002Fexit"," (or ",[23,151,152],{},"\u002Fquit",")",[74,155,156],{},"End the session cleanly.",[48,158,160],{"id":159},"configuration","Configuration",[53,162,163,171],{},[56,164,165],{},[59,166,167,169],{},[62,168,64],{},[62,170,67],{},[69,172,173,187,200,210,220,230,248,258],{},[59,174,175,180],{},[74,176,177],{},[23,178,179],{},"\u002Finit",[74,181,182,183,186],{},"Scaffold a ",[23,184,185],{},"CLAUDE.md"," in the current repo. Claude reads the codebase and writes a first draft.",[59,188,189,194],{},[74,190,191],{},[23,192,193],{},"\u002Fmemory",[74,195,196,197,199],{},"Open any ",[23,198,185],{}," (project, personal, parent) in your editor.",[59,201,202,207],{},[74,203,204],{},[23,205,206],{},"\u002Fconfig",[74,208,209],{},"Open the settings UI — model, theme, notifications, telemetry.",[59,211,212,217],{},[74,213,214],{},[23,215,216],{},"\u002Fpermissions",[74,218,219],{},"View\u002Fedit the allow, ask, deny lists. Cheaper than opening settings.json by hand.",[59,221,222,227],{},[74,223,224],{},[23,225,226],{},"\u002Fmodel",[74,228,229],{},"Swap models mid-session (Opus ↔ Sonnet ↔ Haiku).",[59,231,232,237],{},[74,233,234],{},[23,235,236],{},"\u002Fagents",[74,238,239,240,243,244,247],{},"Manage subagent definitions at ",[23,241,242],{},".claude\u002Fagents\u002F"," and ",[23,245,246],{},"~\u002F.claude\u002Fagents\u002F",".",[59,249,250,255],{},[74,251,252],{},[23,253,254],{},"\u002Fmcp",[74,256,257],{},"List every connected MCP server, with status and exposed tools.",[59,259,260,265],{},[74,261,262],{},[23,263,264],{},"\u002Fhooks",[74,266,267],{},"List every registered hook with matcher and command.",[48,269,271],{"id":270},"operational","Operational",[53,273,274,282],{},[56,275,276],{},[59,277,278,280],{},[62,279,64],{},[62,281,67],{},[69,283,284,294,304,314,324],{},[59,285,286,291],{},[74,287,288],{},[23,289,290],{},"\u002Freview",[74,292,293],{},"Code review pass on the current diff.",[59,295,296,301],{},[74,297,298],{},[23,299,300],{},"\u002Fdoctor",[74,302,303],{},"Diagnose setup issues — auth, network, MCP, installer location.",[59,305,306,311],{},[74,307,308],{},[23,309,310],{},"\u002Fmigrate-installer",[74,312,313],{},"Move a global npm install to the local-managed installer.",[59,315,316,321],{},[74,317,318],{},[23,319,320],{},"\u002Fbug",[74,322,323],{},"Open a GitHub issue pre-filled with session metadata.",[59,325,326,335],{},[74,327,328,331,332],{},[23,329,330],{},"\u002Flogin"," \u002F ",[23,333,334],{},"\u002Flogout",[74,336,337],{},"Re-auth or sign out.",[15,339,342,350],{"title":340,"variant":341},"The inline prefixes","info",[11,343,344,345,349],{},"Three characters change the ",[346,347,348],"em",{},"meaning"," of what you type, not just the tool:",[351,352,353,364,376],"ul",{},[354,355,356,359,360,363],"li",{},[23,357,358],{},"@"," — reference a file or folder. ",[23,361,362],{},"@src\u002Fauth.ts"," pastes the path and loads it into context.",[354,365,366,369,370,373,374,247],{},[23,367,368],{},"#"," — add to memory. ",[23,371,372],{},"# never use any as a type"," appends to ",[23,375,185],{},[354,377,378,381,382,385],{},[23,379,380],{},"!"," — shell mode. ",[23,383,384],{},"!git status"," runs the command inline; Claude sees the output but doesn't re-enter it.",[28,387,390,393,397,460,464,554,558,615],{"id":388,"title":389},"shortcuts","Keyboard Shortcuts",[11,391,392],{},"Inside the Claude CLI — not your terminal emulator's shortcuts. These are muscle memory worth building.",[48,394,396],{"id":395},"modes-and-interruption","Modes and interruption",[53,398,399,408],{},[56,400,401],{},[59,402,403,406],{},[62,404,405],{},"Keys",[62,407,67],{},[69,409,410,420,430,440,450],{},[59,411,412,417],{},[74,413,414],{},[23,415,416],{},"Shift + Tab",[74,418,419],{},"Cycle: normal → auto-accept edits → plan mode → normal",[59,421,422,427],{},[74,423,424],{},[23,425,426],{},"Esc",[74,428,429],{},"Interrupt Claude's current action (stop streaming, cancel tool call)",[59,431,432,437],{},[74,433,434,436],{},[23,435,426],{}," × 2",[74,438,439],{},"Jump back to a previous turn and edit from there",[59,441,442,447],{},[74,443,444,436],{},[23,445,446],{},"Ctrl + C",[74,448,449],{},"Hard exit the session",[59,451,452,457],{},[74,453,454],{},[23,455,456],{},"Ctrl + D",[74,458,459],{},"Exit when the input buffer is empty",[48,461,463],{"id":462},"input","Input",[53,465,466,474],{},[56,467,468],{},[59,469,470,472],{},[62,471,405],{},[62,473,67],{},[69,475,476,489,499,513,528,541],{},[59,477,478,486],{},[74,479,480,331,483],{},[23,481,482],{},"↑",[23,484,485],{},"↓",[74,487,488],{},"Cycle through your recent prompts",[59,490,491,496],{},[74,492,493],{},[23,494,495],{},"Ctrl + R",[74,497,498],{},"Reverse-search your prompt history",[59,500,501,510],{},[74,502,503,506,507],{},[23,504,505],{},"\\"," + ",[23,508,509],{},"Enter",[74,511,512],{},"Insert a newline mid-prompt (so Enter sends)",[59,514,515,525],{},[74,516,517,520,521,524],{},[23,518,519],{},"Option + Enter"," (mac) \u002F ",[23,522,523],{},"Alt + Enter"," (linux)",[74,526,527],{},"Alternative newline",[59,529,530,535],{},[74,531,532],{},[23,533,534],{},"Tab",[74,536,537,538,540],{},"Autocomplete commands, file paths, and ",[23,539,358],{},"-mentions",[59,542,543,551],{},[74,544,545,331,548],{},[23,546,547],{},"Cmd + V",[23,549,550],{},"Ctrl + V",[74,552,553],{},"Paste; images paste inline on macOS terminals that support it",[48,555,557],{"id":556},"useful-to-remember","Useful to remember",[53,559,560,570],{},[56,561,562],{},[59,563,564,567],{},[62,565,566],{},"Combo",[62,568,569],{},"Context",[69,571,572,584,596,606],{},[59,573,574,581],{},[74,575,576,578,579],{},[23,577,380],{}," → ",[23,580,509],{},[74,582,583],{},"Drop into shell mode for a single command",[59,585,586,591],{},[74,587,588,590],{},[23,589,368],{}," → free text",[74,592,593,594],{},"Append that text to ",[23,595,185],{},[59,597,598,603],{},[74,599,600,602],{},[23,601,37],{}," → autocomplete",[74,604,605],{},"Fastest way to discover commands you haven't used",[59,607,608,612],{},[74,609,610,436],{},[23,611,416],{},[74,613,614],{},"The one to remember: activates Plan Mode",[15,616,618],{"title":617,"variant":18},"If nothing works",[11,619,620,621,623],{},"If shortcuts misbehave, it's almost always your terminal eating the key. iTerm2, Warp, and Alacritty all work out of the box. VS Code's integrated terminal sometimes swallows ",[23,622,416],{}," — use an external terminal for heavy work.",[28,625,628,635,639,720,727,847,851,935,939,1001,1005,1053,1057,1253],{"id":626,"title":627},"flags","CLI Flags",[11,629,630,631,634],{},"Everything you can pass to ",[23,632,633],{},"claude"," on the command line. The headless and scripted usages live here.",[48,636,638],{"id":637},"starting-a-session","Starting a session",[640,641,646],"pre",{"className":642,"code":643,"language":644,"meta":645,"style":645},"language-bash shiki shiki-themes github-light","claude                           # interactive, fresh session\nclaude -c                        # continue the last session\nclaude -r                        # resume — pick from a list\nclaude --resume \u003Csession-id>     # resume a specific session\nclaude \"review my latest diff\"   # interactive, with a first prompt already set\n","bash","",[23,647,648,660,672,683,709],{"__ignoreMap":645},[649,650,653,656],"span",{"class":651,"line":652},"line",1,[649,654,633],{"class":655},"s7eDp",[649,657,659],{"class":658},"sAwPA","                           # interactive, fresh session\n",[649,661,663,665,669],{"class":651,"line":662},2,[649,664,633],{"class":655},[649,666,668],{"class":667},"sYu0t"," -c",[649,670,671],{"class":658},"                        # continue the last session\n",[649,673,675,677,680],{"class":651,"line":674},3,[649,676,633],{"class":655},[649,678,679],{"class":667}," -r",[649,681,682],{"class":658},"                        # resume — pick from a list\n",[649,684,686,688,691,695,699,703,706],{"class":651,"line":685},4,[649,687,633],{"class":655},[649,689,690],{"class":667}," --resume",[649,692,694],{"class":693},"sD7c4"," \u003C",[649,696,698],{"class":697},"sYBdl","session-i",[649,700,702],{"class":701},"sgsFI","d",[649,704,705],{"class":693},">",[649,707,708],{"class":658},"     # resume a specific session\n",[649,710,712,714,717],{"class":651,"line":711},5,[649,713,633],{"class":655},[649,715,716],{"class":697}," \"review my latest diff\"",[649,718,719],{"class":658},"   # interactive, with a first prompt already set\n",[48,721,723,724,153],{"id":722},"headless-one-shot-p","Headless \u002F one-shot (",[23,725,726],{},"-p",[640,728,730],{"className":642,"code":729,"language":644,"meta":645,"style":645},"claude -p \"summarize README.md\"                       # one-shot, prints result, exits\nclaude -p \"...\" --output-format json                  # structured output for scripts\nclaude -p \"...\" --output-format stream-json           # streaming events (assistant\u002Ftool)\nclaude -p \"...\" --input-format stream-json            # accept streamed JSON on stdin\nclaude -p \"...\" --include-partial-messages            # include partial chunks in stream\nclaude -p \"...\" --max-turns 3                         # hard cap on agentic loops\necho \"prompt\" | claude -p                             # stdin works too\n",[23,731,732,745,763,779,795,809,827],{"__ignoreMap":645},[649,733,734,736,739,742],{"class":651,"line":652},[649,735,633],{"class":655},[649,737,738],{"class":667}," -p",[649,740,741],{"class":697}," \"summarize README.md\"",[649,743,744],{"class":658},"                       # one-shot, prints result, exits\n",[649,746,747,749,751,754,757,760],{"class":651,"line":662},[649,748,633],{"class":655},[649,750,738],{"class":667},[649,752,753],{"class":697}," \"...\"",[649,755,756],{"class":667}," --output-format",[649,758,759],{"class":697}," json",[649,761,762],{"class":658},"                  # structured output for scripts\n",[649,764,765,767,769,771,773,776],{"class":651,"line":674},[649,766,633],{"class":655},[649,768,738],{"class":667},[649,770,753],{"class":697},[649,772,756],{"class":667},[649,774,775],{"class":697}," stream-json",[649,777,778],{"class":658},"           # streaming events (assistant\u002Ftool)\n",[649,780,781,783,785,787,790,792],{"class":651,"line":685},[649,782,633],{"class":655},[649,784,738],{"class":667},[649,786,753],{"class":697},[649,788,789],{"class":667}," --input-format",[649,791,775],{"class":697},[649,793,794],{"class":658},"            # accept streamed JSON on stdin\n",[649,796,797,799,801,803,806],{"class":651,"line":711},[649,798,633],{"class":655},[649,800,738],{"class":667},[649,802,753],{"class":697},[649,804,805],{"class":667}," --include-partial-messages",[649,807,808],{"class":658},"            # include partial chunks in stream\n",[649,810,812,814,816,818,821,824],{"class":651,"line":811},6,[649,813,633],{"class":655},[649,815,738],{"class":667},[649,817,753],{"class":697},[649,819,820],{"class":667}," --max-turns",[649,822,823],{"class":667}," 3",[649,825,826],{"class":658},"                         # hard cap on agentic loops\n",[649,828,830,833,836,839,842,844],{"class":651,"line":829},7,[649,831,832],{"class":667},"echo",[649,834,835],{"class":697}," \"prompt\"",[649,837,838],{"class":693}," |",[649,840,841],{"class":655}," claude",[649,843,738],{"class":667},[649,845,846],{"class":658},"                             # stdin works too\n",[48,848,850],{"id":849},"model-and-context","Model and context",[53,852,853,863],{},[56,854,855],{},[59,856,857,860],{},[62,858,859],{},"Flag",[62,861,862],{},"Effect",[69,864,865,875,885,895,905,915,925],{},[59,866,867,872],{},[74,868,869],{},[23,870,871],{},"--model opus|sonnet|haiku",[74,873,874],{},"Pick the model for this run",[59,876,877,882],{},[74,878,879],{},[23,880,881],{},"--fallback-model sonnet",[74,883,884],{},"Fallback if the primary is overloaded",[59,886,887,892],{},[74,888,889],{},[23,890,891],{},"--add-dir \u003Cpath>",[74,893,894],{},"Add another working directory Claude can read\u002Fedit",[59,896,897,902],{},[74,898,899],{},[23,900,901],{},"--append-system-prompt \"...\"",[74,903,904],{},"Glue extra instructions onto the system prompt",[59,906,907,912],{},[74,908,909],{},[23,910,911],{},"--setting-sources user,project,local",[74,913,914],{},"Choose which settings layers load",[59,916,917,922],{},[74,918,919],{},[23,920,921],{},"--session-id \u003Cuuid>",[74,923,924],{},"Use\u002Fcreate a session with a specific UUID",[59,926,927,932],{},[74,928,929],{},[23,930,931],{},"--agents '{\"reviewer\":{...}}'",[74,933,934],{},"Inject agent definitions as JSON inline",[48,936,938],{"id":937},"permissions-and-safety","Permissions and safety",[53,940,941,949],{},[56,942,943],{},[59,944,945,947],{},[62,946,859],{},[62,948,862],{},[69,950,951,961,971,981,991],{},[59,952,953,958],{},[74,954,955],{},[23,956,957],{},"--permission-mode default|acceptEdits|plan|bypassPermissions",[74,959,960],{},"Start the session in a given mode",[59,962,963,968],{},[74,964,965],{},[23,966,967],{},"--allowed-tools \"Read,Grep,Bash(npm test*)\"",[74,969,970],{},"Allow only these tools",[59,972,973,978],{},[74,974,975],{},[23,976,977],{},"--disallowed-tools \"Bash(git push*)\"",[74,979,980],{},"Block these tools outright",[59,982,983,988],{},[74,984,985],{},[23,986,987],{},"--permission-prompt-tool \u003CmcpTool>",[74,989,990],{},"Route permission prompts through an MCP tool",[59,992,993,998],{},[74,994,995],{},[23,996,997],{},"--dangerously-skip-permissions",[74,999,1000],{},"No prompts at all. Sandbox-only. Do not use on your main machine.",[48,1002,1004],{"id":1003},"mcp-and-plugins","MCP and plugins",[640,1006,1008],{"className":642,"code":1007,"language":644,"meta":645,"style":645},"claude --mcp-config .\u002F.mcp.json               # load MCP servers from a file\nclaude --strict-mcp-config                    # ignore all other MCP sources\nclaude --plugin \u003Cname>                        # load a plugin\n",[23,1009,1010,1023,1033],{"__ignoreMap":645},[649,1011,1012,1014,1017,1020],{"class":651,"line":652},[649,1013,633],{"class":655},[649,1015,1016],{"class":667}," --mcp-config",[649,1018,1019],{"class":697}," .\u002F.mcp.json",[649,1021,1022],{"class":658},"               # load MCP servers from a file\n",[649,1024,1025,1027,1030],{"class":651,"line":662},[649,1026,633],{"class":655},[649,1028,1029],{"class":667}," --strict-mcp-config",[649,1031,1032],{"class":658},"                    # ignore all other MCP sources\n",[649,1034,1035,1037,1040,1042,1045,1048,1050],{"class":651,"line":674},[649,1036,633],{"class":655},[649,1038,1039],{"class":667}," --plugin",[649,1041,694],{"class":693},[649,1043,1044],{"class":697},"nam",[649,1046,1047],{"class":701},"e",[649,1049,705],{"class":693},[649,1051,1052],{"class":658},"                        # load a plugin\n",[48,1054,1056],{"id":1055},"subcommands","Subcommands",[640,1058,1060],{"className":642,"code":1059,"language":644,"meta":645,"style":645},"claude config get \u003Ckey>                       # read a setting\nclaude config set \u003Ckey> \u003Cvalue>               # write a setting\nclaude config set -g theme dark               # global setting\nclaude mcp add \u003Cname> -- \u003Ccmd>                # register an MCP server\nclaude mcp list                               # list registered servers\nclaude mcp remove \u003Cname>                      # deregister\nclaude update                                 # self-update the CLI\nclaude migrate-installer                      # move from global npm to managed installer\nclaude doctor                                 # diagnose the install\nclaude --version                              # print version\nclaude --help                                 # full flag reference\n",[23,1061,1062,1085,1114,1134,1167,1179,1199,1209,1220,1231,1242],{"__ignoreMap":645},[649,1063,1064,1066,1069,1072,1074,1077,1080,1082],{"class":651,"line":652},[649,1065,633],{"class":655},[649,1067,1068],{"class":697}," config",[649,1070,1071],{"class":697}," get",[649,1073,694],{"class":693},[649,1075,1076],{"class":697},"ke",[649,1078,1079],{"class":701},"y",[649,1081,705],{"class":693},[649,1083,1084],{"class":658},"                       # read a setting\n",[649,1086,1087,1089,1091,1094,1096,1098,1100,1102,1104,1107,1109,1111],{"class":651,"line":662},[649,1088,633],{"class":655},[649,1090,1068],{"class":697},[649,1092,1093],{"class":697}," set",[649,1095,694],{"class":693},[649,1097,1076],{"class":697},[649,1099,1079],{"class":701},[649,1101,705],{"class":693},[649,1103,694],{"class":693},[649,1105,1106],{"class":697},"valu",[649,1108,1047],{"class":701},[649,1110,705],{"class":693},[649,1112,1113],{"class":658},"               # write a setting\n",[649,1115,1116,1118,1120,1122,1125,1128,1131],{"class":651,"line":674},[649,1117,633],{"class":655},[649,1119,1068],{"class":697},[649,1121,1093],{"class":697},[649,1123,1124],{"class":667}," -g",[649,1126,1127],{"class":697}," theme",[649,1129,1130],{"class":697}," dark",[649,1132,1133],{"class":658},"               # global setting\n",[649,1135,1136,1138,1141,1144,1146,1148,1150,1152,1155,1157,1160,1162,1164],{"class":651,"line":685},[649,1137,633],{"class":655},[649,1139,1140],{"class":697}," mcp",[649,1142,1143],{"class":697}," add",[649,1145,694],{"class":693},[649,1147,1044],{"class":697},[649,1149,1047],{"class":701},[649,1151,705],{"class":693},[649,1153,1154],{"class":667}," --",[649,1156,694],{"class":693},[649,1158,1159],{"class":697},"cm",[649,1161,702],{"class":701},[649,1163,705],{"class":693},[649,1165,1166],{"class":658},"                # register an MCP server\n",[649,1168,1169,1171,1173,1176],{"class":651,"line":711},[649,1170,633],{"class":655},[649,1172,1140],{"class":697},[649,1174,1175],{"class":697}," list",[649,1177,1178],{"class":658},"                               # list registered servers\n",[649,1180,1181,1183,1185,1188,1190,1192,1194,1196],{"class":651,"line":811},[649,1182,633],{"class":655},[649,1184,1140],{"class":697},[649,1186,1187],{"class":697}," remove",[649,1189,694],{"class":693},[649,1191,1044],{"class":697},[649,1193,1047],{"class":701},[649,1195,705],{"class":693},[649,1197,1198],{"class":658},"                      # deregister\n",[649,1200,1201,1203,1206],{"class":651,"line":829},[649,1202,633],{"class":655},[649,1204,1205],{"class":697}," update",[649,1207,1208],{"class":658},"                                 # self-update the CLI\n",[649,1210,1212,1214,1217],{"class":651,"line":1211},8,[649,1213,633],{"class":655},[649,1215,1216],{"class":697}," migrate-installer",[649,1218,1219],{"class":658},"                      # move from global npm to managed installer\n",[649,1221,1223,1225,1228],{"class":651,"line":1222},9,[649,1224,633],{"class":655},[649,1226,1227],{"class":697}," doctor",[649,1229,1230],{"class":658},"                                 # diagnose the install\n",[649,1232,1234,1236,1239],{"class":651,"line":1233},10,[649,1235,633],{"class":655},[649,1237,1238],{"class":667}," --version",[649,1240,1241],{"class":658},"                              # print version\n",[649,1243,1245,1247,1250],{"class":651,"line":1244},11,[649,1246,633],{"class":655},[649,1248,1249],{"class":667}," --help",[649,1251,1252],{"class":658},"                                 # full flag reference\n",[15,1254,1257],{"title":1255,"variant":1256},"The two flags to be careful with","warning",[351,1258,1259,1264],{},[354,1260,1261,1263],{},[23,1262,997],{}," — exactly what it says. Use it only inside a disposable container or sandbox. On a real developer box, something is eventually going to run that you didn't want to.",[354,1265,1266,1269],{},[23,1267,1268],{},"--output-format stream-json"," + shell pipes — parse the JSON. Do not grep for words inside tool-call results. The schema changes; strings don't.",[28,1271,1274,1277,1281,1290,1294,1301,1305,1337,1341,1367],{"id":1272,"title":1273},"files","File Structure",[11,1275,1276],{},"Everywhere Claude Code reads from and writes to. If something is misbehaving, the fix is almost always in one of these files.",[48,1278,1280],{"id":1279},"personal-follows-you-across-repos","Personal (follows you across repos)",[640,1282,1288],{"className":1283,"code":1285,"filename":1286,"language":1287,"meta":645},[1284],"language-text","~\u002F.claude\u002F\n├── CLAUDE.md              # your cross-project preferences (style, verbosity, habits)\n├── settings.json          # personal defaults: model, theme, telemetry, hooks\n├── commands\u002F              # personal slash commands, available everywhere\n│   └── *.md\n├── agents\u002F                # personal subagent definitions\n│   └── *.md\n├── plugins\u002F               # installed plugins\n├── projects\u002F              # one folder per repo you've used; sessions live here\n├── todos\u002F                 # in-flight task state\n├── statsig\u002F               # feature-flag cache\n└── shell-snapshots\u002F       # per-session shell env capture\n","~\u002F.claude\u002F","text",[23,1289,1285],{"__ignoreMap":645},[48,1291,1293],{"id":1292},"project-committed-or-gitignored-per-team-preference","Project (committed or .gitignored per team preference)",[640,1295,1299],{"className":1296,"code":1297,"filename":1298,"language":1287,"meta":645},[1284],"\u003Crepo>\u002F\n├── CLAUDE.md                    # the project's shared context (commit this)\n├── AGENTS.md                    # multi-agent team charter (commit this)\n├── .mcp.json                    # project-scoped MCP servers (commit this)\n├── .claude\u002F\n│   ├── settings.json            # committed team defaults: model, hooks, permissions\n│   ├── settings.local.json      # per-dev overrides (.gitignore this)\n│   ├── commands\u002F                # shared slash commands (commit)\n│   │   └── \u003Cname>.md\n│   ├── agents\u002F                  # shared subagent specs (commit)\n│   │   └── \u003Cname>.md\n│   ├── hooks\u002F                   # hook scripts referenced by settings.json\n│   └── plan.md \u002F impl-done.md   # ephemeral agent handoffs (.gitignore these)\n└── src\u002F\n    └── \u003Cany subdir>\u002FCLAUDE.md   # subtree-scoped context, loaded when Claude works here\n","project root",[23,1300,1297],{"__ignoreMap":645},[48,1302,1304],{"id":1303},"settings-precedence-last-wins","Settings precedence (last wins)",[1306,1307,1308,1311,1316,1321,1326],"ol",{},[354,1309,1310],{},"Enterprise managed policy (if any)",[354,1312,1313],{},[23,1314,1315],{},"~\u002F.claude\u002Fsettings.json",[354,1317,1318],{},[23,1319,1320],{},"\u003Crepo>\u002F.claude\u002Fsettings.json",[354,1322,1323],{},[23,1324,1325],{},"\u003Crepo>\u002F.claude\u002Fsettings.local.json",[354,1327,1328,1329,1332,1333,1336],{},"Inline CLI flags (",[23,1330,1331],{},"--model",", ",[23,1334,1335],{},"--allowed-tools",", etc.)",[48,1338,1340],{"id":1339},"memory-precedence-all-loaded-merged-top-to-bottom","Memory precedence (all loaded, merged top-to-bottom)",[1306,1342,1343,1349,1355,1361],{},[354,1344,1345,1348],{},[23,1346,1347],{},"~\u002F.claude\u002FCLAUDE.md"," — your personal memory",[354,1350,1351,1352,1354],{},"Parent directory ",[23,1353,185],{}," files — walked upward from CWD",[354,1356,1357,1360],{},[23,1358,1359],{},"\u003Crepo>\u002FCLAUDE.md"," — the project memory",[354,1362,1363,1366],{},[23,1364,1365],{},"\u003Crepo>\u002F\u003Csubdir>\u002FCLAUDE.md"," — loaded when Claude works inside that subtree",[15,1368,1370,1404],{"title":1369,"variant":341},".claude\u002F and .gitignore",[11,1371,1372,1373,1376,1377,1332,1380,1332,1383,1386,1387,1390,1391,1332,1394,1332,1397,1332,1400,1403],{},"Never blanket-ignore ",[23,1374,1375],{},".claude\u002F",". Commit ",[23,1378,1379],{},"settings.json",[23,1381,1382],{},"commands\u002F",[23,1384,1385],{},"agents\u002F",", and ",[23,1388,1389],{},"hooks\u002F"," — those are team artifacts. Ignore ",[23,1392,1393],{},"settings.local.json",[23,1395,1396],{},"plan.md",[23,1398,1399],{},"impl-done.md",[23,1401,1402],{},"review.md",", and anything else generated mid-session. The split is worth setting up once:",[640,1405,1409],{"className":1406,"code":1407,"filename":1408,"language":1287,"meta":645},[1284],".claude\u002Fsettings.local.json\n.claude\u002Fplan.md\n.claude\u002Fimpl-done.md\n.claude\u002Freview.md\n.claude\u002Fhandoffs\u002F\n",".gitignore",[23,1410,1407],{"__ignoreMap":645},[28,1412,1415,1418,1422,1517,1521,1604,1608,1668,1672,1741,1745,1945,1949,2051,2153,2157,2164,2171,2178,2185],{"id":1413,"title":1414},"patterns","Patterns",[11,1416,1417],{},"The shapes worth having in muscle memory — each one links back to the chapter that covers it in full.",[48,1419,1421],{"id":1420},"workflow-rhythms","Workflow rhythms",[53,1423,1424,1437],{},[56,1425,1426],{},[59,1427,1428,1431,1434],{},[62,1429,1430],{},"Pattern",[62,1432,1433],{},"When to reach for it",[62,1435,1436],{},"Full chapter",[69,1438,1439,1457,1472,1487,1502],{},[59,1440,1441,1447,1450],{},[74,1442,1443],{},[1444,1445,1446],"strong",{},"Explore → Plan → Execute → Verify",[74,1448,1449],{},"Every non-trivial change",[74,1451,1452],{},[1453,1454,1456],"a",{"href":1455},"\u002Fworkflows#four-phase","Workflows",[59,1458,1459,1464,1467],{},[74,1460,1461],{},[1444,1462,1463],{},"Plan Mode",[74,1465,1466],{},"Anything touching more than one file",[74,1468,1469],{},[1453,1470,1456],{"href":1471},"\u002Fworkflows#plan-mode",[59,1473,1474,1479,1482],{},[74,1475,1476],{},[1444,1477,1478],{},"The Big Prompt",[74,1480,1481],{},"One shot at a large, well-shaped task",[74,1483,1484],{},[1453,1485,1456],{"href":1486},"\u002Fworkflows#big-prompt",[59,1488,1489,1494,1497],{},[74,1490,1491],{},[1444,1492,1493],{},"Best of N",[74,1495,1496],{},"High-stakes work where a second opinion is cheap",[74,1498,1499],{},[1453,1500,1456],{"href":1501},"\u002Fworkflows#best-of-n",[59,1503,1504,1509,1512],{},[74,1505,1506],{},[1444,1507,1508],{},"Context Handoff",[74,1510,1511],{},"End of day, switching tasks, hitting 70% context",[74,1513,1514],{},[1453,1515,1456],{"href":1516},"\u002Fworkflows#handoff",[48,1518,1520],{"id":1519},"extension-decisions-when-to-reach-for-each","Extension decisions — when to reach for each",[53,1522,1523,1533],{},[56,1524,1525],{},[59,1526,1527,1530],{},[62,1528,1529],{},"Layer",[62,1531,1532],{},"Use when",[69,1534,1535,1544,1554,1564,1574,1584,1594],{},[59,1536,1537,1541],{},[74,1538,1539],{},[1444,1540,185],{},[74,1542,1543],{},"The rule applies every session in this repo",[59,1545,1546,1551],{},[74,1547,1548],{},[1444,1549,1550],{},"Slash command",[74,1552,1553],{},"You re-type the same prompt shape more than 3×",[59,1555,1556,1561],{},[74,1557,1558],{},[1444,1559,1560],{},"Skill",[74,1562,1563],{},"Claude needs procedural know-how to do a recurring task",[59,1565,1566,1571],{},[74,1567,1568],{},[1444,1569,1570],{},"Hook",[74,1572,1573],{},"You want deterministic side effects (lint, audit, block)",[59,1575,1576,1581],{},[74,1577,1578],{},[1444,1579,1580],{},"Subagent",[74,1582,1583],{},"A task is self-contained and pollutes main context",[59,1585,1586,1591],{},[74,1587,1588],{},[1444,1589,1590],{},"Agent team",[74,1592,1593],{},"Different roles, persistent handoff files, human gates",[59,1595,1596,1601],{},[74,1597,1598],{},[1444,1599,1600],{},"MCP",[74,1602,1603],{},"Claude needs live data or actions outside this repo",[48,1605,1607],{"id":1606},"model-routing-starting-heuristic","Model routing — starting heuristic",[53,1609,1610,1623],{},[56,1611,1612],{},[59,1613,1614,1617,1620],{},[62,1615,1616],{},"Model",[62,1618,1619],{},"Use for",[62,1621,1622],{},"Don't use for",[69,1624,1625,1638,1651],{},[59,1626,1627,1632,1635],{},[74,1628,1629],{},[1444,1630,1631],{},"Haiku",[74,1633,1634],{},"Classification, extraction, commit messages, log triage",[74,1636,1637],{},"Anything requiring a plan",[59,1639,1640,1645,1648],{},[74,1641,1642],{},[1444,1643,1644],{},"Sonnet",[74,1646,1647],{},"Default. Feature work, reviews, single-file edits, most prompts",[74,1649,1650],{},"Multi-file architectural work",[59,1652,1653,1658,1665],{},[74,1654,1655],{},[1444,1656,1657],{},"Opus",[74,1659,1660,1661,1664],{},"Architecture planning, debugging genuinely unknown territory, ",[23,1662,1663],{},"AGENTS.md"," authoring",[74,1666,1667],{},"Rote edits, anything you could have batched with a hook",[48,1669,1671],{"id":1670},"context-budget-traffic-lights","Context budget traffic lights",[53,1673,1674,1689],{},[56,1675,1676],{},[59,1677,1678,1683,1686],{},[62,1679,1680,1682],{},[23,1681,108],{}," shows",[62,1684,1685],{},"State",[62,1687,1688],{},"Do",[69,1690,1691,1702,1716,1730],{},[59,1692,1693,1696,1699],{},[74,1694,1695],{},"0–50%",[74,1697,1698],{},"Green",[74,1700,1701],{},"Keep going",[59,1703,1704,1707,1710],{},[74,1705,1706],{},"50–70%",[74,1708,1709],{},"Yellow",[74,1711,1712,1713],{},"Finish the logical unit, then consider ",[23,1714,1715],{},"\u002Fcompact",[59,1717,1718,1721,1724],{},[74,1719,1720],{},"70–85%",[74,1722,1723],{},"Orange",[74,1725,1726,1727,1729],{},"Write a handoff, ",[23,1728,88],{},", resume with the handoff",[59,1731,1732,1735,1738],{},[74,1733,1734],{},"85%+",[74,1736,1737],{},"Red",[74,1739,1740],{},"Stop. Anything you do here is expensive and unreliable.",[48,1742,1744],{"id":1743},"permission-shapes-worth-copying","Permission shapes worth copying",[640,1746,1751],{"className":1747,"code":1748,"filename":1749,"language":1750,"meta":645,"style":645},"language-json shiki shiki-themes github-light","{\n  \"model\": \"sonnet\",\n  \"permissions\": {\n    \"allow\": [\n      \"Read\", \"Glob\", \"Grep\",\n      \"Bash(npm run lint)\", \"Bash(npm test*)\",\n      \"Bash(git status)\", \"Bash(git diff*)\", \"Bash(git log*)\"\n    ],\n    \"ask\": [\n      \"Write\", \"Edit\",\n      \"Bash(git push*)\", \"Bash(git checkout*)\"\n    ],\n    \"deny\": [\n      \"Read(.\u002F.env)\", \"Read(.\u002F.env.*)\",\n      \"Bash(cat .env*)\",\n      \"Bash(rm -rf*)\",\n      \"Bash(git push --force*)\",\n      \"Bash(curl* | bash)\", \"Bash(wget* | bash)\"\n    ]\n  }\n}\n",".claude\u002Fsettings.json — baseline","json",[23,1752,1753,1758,1772,1780,1788,1805,1817,1832,1837,1844,1856,1866,1871,1879,1892,1900,1908,1916,1927,1933,1939],{"__ignoreMap":645},[649,1754,1755],{"class":651,"line":652},[649,1756,1757],{"class":701},"{\n",[649,1759,1760,1763,1766,1769],{"class":651,"line":662},[649,1761,1762],{"class":667},"  \"model\"",[649,1764,1765],{"class":701},": ",[649,1767,1768],{"class":697},"\"sonnet\"",[649,1770,1771],{"class":701},",\n",[649,1773,1774,1777],{"class":651,"line":674},[649,1775,1776],{"class":667},"  \"permissions\"",[649,1778,1779],{"class":701},": {\n",[649,1781,1782,1785],{"class":651,"line":685},[649,1783,1784],{"class":667},"    \"allow\"",[649,1786,1787],{"class":701},": [\n",[649,1789,1790,1793,1795,1798,1800,1803],{"class":651,"line":711},[649,1791,1792],{"class":697},"      \"Read\"",[649,1794,1332],{"class":701},[649,1796,1797],{"class":697},"\"Glob\"",[649,1799,1332],{"class":701},[649,1801,1802],{"class":697},"\"Grep\"",[649,1804,1771],{"class":701},[649,1806,1807,1810,1812,1815],{"class":651,"line":811},[649,1808,1809],{"class":697},"      \"Bash(npm run lint)\"",[649,1811,1332],{"class":701},[649,1813,1814],{"class":697},"\"Bash(npm test*)\"",[649,1816,1771],{"class":701},[649,1818,1819,1822,1824,1827,1829],{"class":651,"line":829},[649,1820,1821],{"class":697},"      \"Bash(git status)\"",[649,1823,1332],{"class":701},[649,1825,1826],{"class":697},"\"Bash(git diff*)\"",[649,1828,1332],{"class":701},[649,1830,1831],{"class":697},"\"Bash(git log*)\"\n",[649,1833,1834],{"class":651,"line":1211},[649,1835,1836],{"class":701},"    ],\n",[649,1838,1839,1842],{"class":651,"line":1222},[649,1840,1841],{"class":667},"    \"ask\"",[649,1843,1787],{"class":701},[649,1845,1846,1849,1851,1854],{"class":651,"line":1233},[649,1847,1848],{"class":697},"      \"Write\"",[649,1850,1332],{"class":701},[649,1852,1853],{"class":697},"\"Edit\"",[649,1855,1771],{"class":701},[649,1857,1858,1861,1863],{"class":651,"line":1244},[649,1859,1860],{"class":697},"      \"Bash(git push*)\"",[649,1862,1332],{"class":701},[649,1864,1865],{"class":697},"\"Bash(git checkout*)\"\n",[649,1867,1869],{"class":651,"line":1868},12,[649,1870,1836],{"class":701},[649,1872,1874,1877],{"class":651,"line":1873},13,[649,1875,1876],{"class":667},"    \"deny\"",[649,1878,1787],{"class":701},[649,1880,1882,1885,1887,1890],{"class":651,"line":1881},14,[649,1883,1884],{"class":697},"      \"Read(.\u002F.env)\"",[649,1886,1332],{"class":701},[649,1888,1889],{"class":697},"\"Read(.\u002F.env.*)\"",[649,1891,1771],{"class":701},[649,1893,1895,1898],{"class":651,"line":1894},15,[649,1896,1897],{"class":697},"      \"Bash(cat .env*)\"",[649,1899,1771],{"class":701},[649,1901,1903,1906],{"class":651,"line":1902},16,[649,1904,1905],{"class":697},"      \"Bash(rm -rf*)\"",[649,1907,1771],{"class":701},[649,1909,1911,1914],{"class":651,"line":1910},17,[649,1912,1913],{"class":697},"      \"Bash(git push --force*)\"",[649,1915,1771],{"class":701},[649,1917,1919,1922,1924],{"class":651,"line":1918},18,[649,1920,1921],{"class":697},"      \"Bash(curl* | bash)\"",[649,1923,1332],{"class":701},[649,1925,1926],{"class":697},"\"Bash(wget* | bash)\"\n",[649,1928,1930],{"class":651,"line":1929},19,[649,1931,1932],{"class":701},"    ]\n",[649,1934,1936],{"class":651,"line":1935},20,[649,1937,1938],{"class":701},"  }\n",[649,1940,1942],{"class":651,"line":1941},21,[649,1943,1944],{"class":701},"}\n",[48,1946,1948],{"id":1947},"hook-shapes-worth-copying","Hook shapes worth copying",[640,1950,1953],{"className":1747,"code":1951,"filename":1952,"language":1750,"meta":645,"style":645},"{\n  \"hooks\": {\n    \"PostToolUse\": [\n      {\n        \"matcher\": \"Edit|Write\",\n        \"hooks\": [\n          {\n            \"type\": \"command\",\n            \"command\": \"npm run lint -- --fix $CLAUDE_FILE_PATHS 2>&1 | tail -20\"\n          }\n        ]\n      }\n    ]\n  }\n}\n","PostToolUse lint fixer",[23,1954,1955,1959,1966,1973,1978,1990,1997,2002,2014,2024,2029,2034,2039,2043,2047],{"__ignoreMap":645},[649,1956,1957],{"class":651,"line":652},[649,1958,1757],{"class":701},[649,1960,1961,1964],{"class":651,"line":662},[649,1962,1963],{"class":667},"  \"hooks\"",[649,1965,1779],{"class":701},[649,1967,1968,1971],{"class":651,"line":674},[649,1969,1970],{"class":667},"    \"PostToolUse\"",[649,1972,1787],{"class":701},[649,1974,1975],{"class":651,"line":685},[649,1976,1977],{"class":701},"      {\n",[649,1979,1980,1983,1985,1988],{"class":651,"line":711},[649,1981,1982],{"class":667},"        \"matcher\"",[649,1984,1765],{"class":701},[649,1986,1987],{"class":697},"\"Edit|Write\"",[649,1989,1771],{"class":701},[649,1991,1992,1995],{"class":651,"line":811},[649,1993,1994],{"class":667},"        \"hooks\"",[649,1996,1787],{"class":701},[649,1998,1999],{"class":651,"line":829},[649,2000,2001],{"class":701},"          {\n",[649,2003,2004,2007,2009,2012],{"class":651,"line":1211},[649,2005,2006],{"class":667},"            \"type\"",[649,2008,1765],{"class":701},[649,2010,2011],{"class":697},"\"command\"",[649,2013,1771],{"class":701},[649,2015,2016,2019,2021],{"class":651,"line":1222},[649,2017,2018],{"class":667},"            \"command\"",[649,2020,1765],{"class":701},[649,2022,2023],{"class":697},"\"npm run lint -- --fix $CLAUDE_FILE_PATHS 2>&1 | tail -20\"\n",[649,2025,2026],{"class":651,"line":1233},[649,2027,2028],{"class":701},"          }\n",[649,2030,2031],{"class":651,"line":1244},[649,2032,2033],{"class":701},"        ]\n",[649,2035,2036],{"class":651,"line":1868},[649,2037,2038],{"class":701},"      }\n",[649,2040,2041],{"class":651,"line":1873},[649,2042,1932],{"class":701},[649,2044,2045],{"class":651,"line":1881},[649,2046,1938],{"class":701},[649,2048,2049],{"class":651,"line":1894},[649,2050,1944],{"class":701},[640,2052,2055],{"className":1747,"code":2053,"filename":2054,"language":1750,"meta":645,"style":645},"{\n  \"hooks\": {\n    \"PreToolUse\": [\n      {\n        \"matcher\": \"Bash\",\n        \"hooks\": [\n          {\n            \"type\": \"command\",\n            \"command\": \"echo \\\"$(date -u +%FT%TZ) | $CLAUDE_TOOL_INPUT\\\" >> ~\u002F.claude\u002Fbash-audit.log\"\n          }\n        ]\n      }\n    ]\n  }\n}\n","PreToolUse shell audit",[23,2056,2057,2061,2067,2074,2078,2089,2095,2099,2109,2129,2133,2137,2141,2145,2149],{"__ignoreMap":645},[649,2058,2059],{"class":651,"line":652},[649,2060,1757],{"class":701},[649,2062,2063,2065],{"class":651,"line":662},[649,2064,1963],{"class":667},[649,2066,1779],{"class":701},[649,2068,2069,2072],{"class":651,"line":674},[649,2070,2071],{"class":667},"    \"PreToolUse\"",[649,2073,1787],{"class":701},[649,2075,2076],{"class":651,"line":685},[649,2077,1977],{"class":701},[649,2079,2080,2082,2084,2087],{"class":651,"line":711},[649,2081,1982],{"class":667},[649,2083,1765],{"class":701},[649,2085,2086],{"class":697},"\"Bash\"",[649,2088,1771],{"class":701},[649,2090,2091,2093],{"class":651,"line":811},[649,2092,1994],{"class":667},[649,2094,1787],{"class":701},[649,2096,2097],{"class":651,"line":829},[649,2098,2001],{"class":701},[649,2100,2101,2103,2105,2107],{"class":651,"line":1211},[649,2102,2006],{"class":667},[649,2104,1765],{"class":701},[649,2106,2011],{"class":697},[649,2108,1771],{"class":701},[649,2110,2111,2113,2115,2118,2121,2124,2126],{"class":651,"line":1222},[649,2112,2018],{"class":667},[649,2114,1765],{"class":701},[649,2116,2117],{"class":697},"\"echo ",[649,2119,2120],{"class":667},"\\\"",[649,2122,2123],{"class":697},"$(date -u +%FT%TZ) | $CLAUDE_TOOL_INPUT",[649,2125,2120],{"class":667},[649,2127,2128],{"class":697}," >> ~\u002F.claude\u002Fbash-audit.log\"\n",[649,2130,2131],{"class":651,"line":1233},[649,2132,2028],{"class":701},[649,2134,2135],{"class":651,"line":1244},[649,2136,2033],{"class":701},[649,2138,2139],{"class":651,"line":1868},[649,2140,2038],{"class":701},[649,2142,2143],{"class":651,"line":1873},[649,2144,1932],{"class":701},[649,2146,2147],{"class":651,"line":1881},[649,2148,1938],{"class":701},[649,2150,2151],{"class":651,"line":1894},[649,2152,1944],{"class":701},[48,2154,2156],{"id":2155},"prompt-stems-worth-reusing","Prompt stems worth reusing",[640,2158,2162],{"className":2159,"code":2160,"filename":2161,"language":1287,"meta":645},[1284],"Explore only — do not edit any files.\nRead [paths]. Report: what exists, what surprised you, what's missing.\n","explore-only",[23,2163,2160],{"__ignoreMap":645},[640,2165,2169],{"className":2166,"code":2167,"filename":2168,"language":1287,"meta":645},[1284],"Plan Mode. Produce a plan: files touched, functions changed, tests,\nrisks, ambiguities. Save to .claude\u002Fplan.md. Do not write any code.\n","plan phase",[23,2170,2167],{"__ignoreMap":645},[640,2172,2176],{"className":2173,"code":2174,"filename":2175,"language":1287,"meta":645},[1284],"Run lint, typecheck, and tests. Then `git diff`. Tell me: does the diff\nmatch the plan? List any divergence.\n","verify phase",[23,2177,2174],{"__ignoreMap":645},[640,2179,2183],{"className":2180,"code":2181,"filename":2182,"language":1287,"meta":645},[1284],"Write a handoff to .claude\u002Fhandoff-[name].md:\n1. What we were doing and why\n2. What's done (with paths)\n3. What's not done and why\n4. The exact prompt to resume, ready to paste\n5. Anything non-obvious that isn't in the files\n","handoff",[23,2184,2181],{"__ignoreMap":645},[15,2186,2188],{"title":2187,"variant":18},"The one rule",[11,2189,2190,2191,2193],{},"If something keeps breaking the same way twice, it belongs in a hook, a skill, a slash command, or ",[23,2192,185],{}," — not in your next prompt. Every time you solve a recurring problem by retyping, you're losing the leverage the extension layers exist to give you.",[2195,2196,2197],"style",{},"html pre.shiki code .s7eDp, html code.shiki .s7eDp{--shiki-default:#6F42C1}html pre.shiki code .sAwPA, html code.shiki .sAwPA{--shiki-default:#6A737D}html pre.shiki code .sYu0t, html code.shiki .sYu0t{--shiki-default:#005CC5}html pre.shiki code .sD7c4, html code.shiki .sD7c4{--shiki-default:#D73A49}html pre.shiki code .sYBdl, html code.shiki .sYBdl{--shiki-default:#032F62}html pre.shiki code .sgsFI, html code.shiki .sgsFI{--shiki-default:#24292E}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}",{"title":645,"searchDepth":662,"depth":662,"links":2199},[2200,2201,2202,2203,2204,2205,2206,2207,2209,2210,2211,2212,2213,2214,2215,2216,2217,2218,2219,2220,2221,2222,2223],{"id":50,"depth":674,"text":51},{"id":159,"depth":674,"text":160},{"id":270,"depth":674,"text":271},{"id":395,"depth":674,"text":396},{"id":462,"depth":674,"text":463},{"id":556,"depth":674,"text":557},{"id":637,"depth":674,"text":638},{"id":722,"depth":674,"text":2208},"Headless \u002F one-shot (-p)",{"id":849,"depth":674,"text":850},{"id":937,"depth":674,"text":938},{"id":1003,"depth":674,"text":1004},{"id":1055,"depth":674,"text":1056},{"id":1279,"depth":674,"text":1280},{"id":1292,"depth":674,"text":1293},{"id":1303,"depth":674,"text":1304},{"id":1339,"depth":674,"text":1340},{"id":1420,"depth":674,"text":1421},{"id":1519,"depth":674,"text":1520},{"id":1606,"depth":674,"text":1607},{"id":1670,"depth":674,"text":1671},{"id":1743,"depth":674,"text":1744},{"id":1947,"depth":674,"text":1948},{"id":2155,"depth":674,"text":2156},"Slash commands, keyboard shortcuts, CLI flags, file structure, and battle-tested patterns — the one-page reference you'll actually paste above your monitor.","8 min","md","The whole guide, on one page","LucideKeyboard",null,"2026-04-24",{},true,"\u002Fcheatsheet",{"title":2235,"path":2236},"Workshops","\u002Fworkshops",{"title":2238,"description":2239,"keywords":2240,"proficiencyLevel":2249,"timeRequired":2250},"Cheatsheet — One-Page Claude Code Reference","The one-page Claude Code reference: slash commands, keyboard shortcuts, CLI flags, file locations, model routing rules, token budgets, and the patterns you want within arm's reach.",[2241,2242,2243,2244,2245,2246,2247,2248],"claude code cheatsheet","claude code shortcuts","slash commands","claude code cli flags","claude code reference","claude code quick start","model routing","claude code patterns","All Levels","PT8M",[2252,2253,2254,2255,2256],{"id":30,"title":31,"level":662},{"id":388,"title":389,"level":662},{"id":626,"title":627,"level":662},{"id":1272,"title":1273,"level":662},{"id":1413,"title":1414,"level":662},"tiJjCABF_fHUjVybNmIrMm56QugOFOXIa3TCW3zycSE",1777109529582]