[{"data":1,"prerenderedAt":1120},["ShallowReactive",2],{"navigation_docs":3,"-reference-mcp":118,"-reference-mcp-surround":1115},[4,31,77,113],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":30},"Getting started","i-lucide-rocket","\u002Fgetting-started","1.getting-started",[10,15,20,25],{"title":11,"path":12,"stem":13,"icon":14},"Introduction","\u002Fgetting-started\u002Fintroduction","1.getting-started\u002F1.introduction","i-lucide-info",{"title":16,"path":17,"stem":18,"icon":19},"Installation","\u002Fgetting-started\u002Finstallation","1.getting-started\u002F2.installation","i-lucide-download",{"title":21,"path":22,"stem":23,"icon":24},"Using the picker","\u002Fgetting-started\u002Fusage","1.getting-started\u002F3.usage","i-lucide-mouse-pointer-click",{"title":26,"path":27,"stem":28,"icon":29},"Resolving picks","\u002Fgetting-started\u002Fresolve-the-picks","1.getting-started\u002F4.resolve-the-picks","i-lucide-bot",false,{"title":32,"icon":33,"path":34,"stem":35,"children":36,"page":30},"Guides","i-lucide-book-open","\u002Fguides","2.guides",[37,42,47,52,57,62,67,72],{"title":38,"path":39,"stem":40,"icon":41},"Vite","\u002Fguides\u002Fvite","2.guides\u002F1.vite","i-simple-icons-vite",{"title":43,"path":44,"stem":45,"icon":46},"Nuxt","\u002Fguides\u002Fnuxt","2.guides\u002F2.nuxt","i-simple-icons-nuxtdotjs",{"title":48,"path":49,"stem":50,"icon":51},"SvelteKit","\u002Fguides\u002Fsveltekit","2.guides\u002F3.sveltekit","i-simple-icons-svelte",{"title":53,"path":54,"stem":55,"icon":56},"Astro","\u002Fguides\u002Fastro","2.guides\u002F4.astro","i-simple-icons-astro",{"title":58,"path":59,"stem":60,"icon":61},"Next.js","\u002Fguides\u002Fnext","2.guides\u002F5.next","i-simple-icons-nextdotjs",{"title":63,"path":64,"stem":65,"icon":66},"webpack","\u002Fguides\u002Fwebpack","2.guides\u002F6.webpack","i-simple-icons-webpack",{"title":68,"path":69,"stem":70,"icon":71},"Angular","\u002Fguides\u002Fangular","2.guides\u002F7.angular","i-simple-icons-angular",{"title":73,"path":74,"stem":75,"icon":76},"Plain HTML & more","\u002Fguides\u002Fvanilla","2.guides\u002F8.vanilla","i-lucide-file-code",{"title":78,"icon":79,"path":80,"stem":81,"children":82,"page":30},"Reference","i-lucide-list","\u002Freference","3.reference",[83,88,93,98,103,108],{"title":84,"path":85,"stem":86,"icon":87},"Compatibility","\u002Freference\u002Fcompatibility","3.reference\u002F1.compatibility","i-lucide-table",{"title":89,"path":90,"stem":91,"icon":92},"Plugin options","\u002Freference\u002Fplugin-options","3.reference\u002F2.plugin-options","i-lucide-settings-2",{"title":94,"path":95,"stem":96,"icon":97},"CLI","\u002Freference\u002Fcli","3.reference\u002F3.cli","i-lucide-terminal",{"title":99,"path":100,"stem":101,"icon":102},"MCP server","\u002Freference\u002Fmcp","3.reference\u002F4.mcp","i-lucide-plug",{"title":104,"path":105,"stem":106,"icon":107},"The pick object","\u002Freference\u002Fpick-object","3.reference\u002F5.pick-object","i-lucide-braces",{"title":109,"path":110,"stem":111,"icon":112},"FAQ & troubleshooting","\u002Freference\u002Ffaq","3.reference\u002F6.faq","i-lucide-help-circle",{"title":114,"path":115,"stem":116,"icon":117},"Sponsor","\u002Fsponsor","4.sponsor","i-lucide-heart",{"id":119,"title":99,"body":120,"description":1108,"extension":1109,"links":1110,"meta":1111,"navigation":1112,"path":100,"seo":1113,"stem":101,"__hash__":1114},"docs\u002F3.reference\u002F4.mcp.md",{"type":121,"value":122,"toc":1092},"minimark",[123,150,154,159,170,178,181,190,194,197,312,315,344,351,354,406,411,463,466,471,476,484,493,505,509,512,518,522,560,574,600,604,607,641,645,659,665,668,784,788,842,852,856,863,869,872,876,879,1000,1011,1028,1032,1047,1050,1054,1057,1069,1076,1088],[124,125,131],"pre",{"className":126,"code":127,"filename":128,"language":129,"meta":130,"style":130},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","npx -y @quello\u002Fmcp\n","Terminal","bash","",[132,133,134],"code",{"__ignoreMap":130},[135,136,139,143,147],"span",{"class":137,"line":138},"line",1,[135,140,142],{"class":141},"sBMFI","npx",[135,144,146],{"class":145},"sfazB"," -y",[135,148,149],{"class":145}," @quello\u002Fmcp\n",[151,152,153],"p",{},"Nothing to install and nothing to run yourself: your editor spawns it.",[155,156,158],"h2",{"id":157},"why-there-are-two-routes","Why there are two routes",[151,160,161,162,165,166,169],{},"quello writes every pick to ",[132,163,164],{},".quello\u002Fpicks.json",", and the plugins write a section into ",[132,167,168],{},"AGENTS.md","\ntelling your agent to read it. That reaches every editor that reads an instructions file — and does\nnothing in the ones that do not.",[151,171,172,173,177],{},"The MCP server is the other way in. The picks arrive as ",[174,175,176],"strong",{},"tools",", so the agent is told they exist\nwhen it connects rather than having to be pointed at a file, and it gets them phrased for reading\ninstead of as raw JSON.",[151,179,180],{},"Both routes are live at once and neither needs the other. The picks file stays the source of truth;\nthis reads it.",[182,183,184,185,189],"tip",{},"You still need a ",[186,187,188],"a",{"href":17},"plugin or the CLI"," to put the picker in your page.\nThis package only reads what the picker wrote.",[155,191,193],{"id":192},"setup","Setup",[151,195,196],{},"The server speaks MCP over stdio. Register it once, wherever your editor keeps its MCP config:",[124,198,203],{"className":199,"code":200,"filename":201,"language":202,"meta":130,"style":130},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"mcpServers\": {\n    \"quello\": { \"command\": \"npx\", \"args\": [\"-y\", \"@quello\u002Fmcp\"] }\n  }\n}\n",".mcp.json","json",[132,204,205,211,230,300,306],{"__ignoreMap":130},[135,206,207],{"class":137,"line":138},[135,208,210],{"class":209},"sMK4o","{\n",[135,212,214,217,221,224,227],{"class":137,"line":213},2,[135,215,216],{"class":209},"  \"",[135,218,220],{"class":219},"spNyl","mcpServers",[135,222,223],{"class":209},"\"",[135,225,226],{"class":209},":",[135,228,229],{"class":209}," {\n",[135,231,233,236,239,241,243,246,249,253,255,257,259,261,263,266,268,271,273,275,278,280,283,285,287,289,292,294,297],{"class":137,"line":232},3,[135,234,235],{"class":209},"    \"",[135,237,238],{"class":141},"quello",[135,240,223],{"class":209},[135,242,226],{"class":209},[135,244,245],{"class":209}," {",[135,247,248],{"class":209}," \"",[135,250,252],{"class":251},"sbssI","command",[135,254,223],{"class":209},[135,256,226],{"class":209},[135,258,248],{"class":209},[135,260,142],{"class":145},[135,262,223],{"class":209},[135,264,265],{"class":209},",",[135,267,248],{"class":209},[135,269,270],{"class":251},"args",[135,272,223],{"class":209},[135,274,226],{"class":209},[135,276,277],{"class":209}," [",[135,279,223],{"class":209},[135,281,282],{"class":145},"-y",[135,284,223],{"class":209},[135,286,265],{"class":209},[135,288,248],{"class":209},[135,290,291],{"class":145},"@quello\u002Fmcp",[135,293,223],{"class":209},[135,295,296],{"class":209},"]",[135,298,299],{"class":209}," }\n",[135,301,303],{"class":137,"line":302},4,[135,304,305],{"class":209},"  }\n",[135,307,309],{"class":137,"line":308},5,[135,310,311],{"class":209},"}\n",[151,313,314],{},"Claude Code takes it in one line:",[124,316,318],{"className":126,"code":317,"filename":128,"language":129,"meta":130,"style":130},"claude mcp add quello -- npx -y @quello\u002Fmcp\n",[132,319,320],{"__ignoreMap":130},[135,321,322,325,328,331,334,337,340,342],{"class":137,"line":138},[135,323,324],{"class":141},"claude",[135,326,327],{"class":145}," mcp",[135,329,330],{"class":145}," add",[135,332,333],{"class":145}," quello",[135,335,336],{"class":145}," --",[135,338,339],{"class":145}," npx",[135,341,146],{"class":145},[135,343,149],{"class":145},[151,345,346,347,350],{},"Then start your dev server as usual, pick a few elements, and ask about ",[132,348,349],{},"PICK 2",".",[155,352,353],{"id":176},"Tools",[355,356,357,368],"table",{},[358,359,360],"thead",{},[361,362,363,366],"tr",{},[364,365],"th",{},[364,367],{},[369,370,371,382,392],"tbody",{},[361,372,373,379],{},[374,375,376],"td",{},[132,377,378],{},"list_picks",[374,380,381],{},"every pick, one line each — element, source file, note",[361,383,384,389],{},[374,385,386],{},[132,387,388],{},"get_pick",[374,390,391],{},"one pick by number, every recorded field",[361,393,394,399],{},[374,395,396],{},[132,397,398],{},"resolve_picks",[374,400,401,402,405],{},"the picks that carry a note, in ",[132,403,404],{},"id"," order, as a work list",[151,407,408,410],{},[132,409,378],{}," takes three optional arguments:",[355,412,413,421],{},[358,414,415],{},[361,416,417,419],{},[364,418],{},[364,420],{},[369,422,423,440,453],{},[361,424,425,430],{},[374,426,427],{},[132,428,429],{},"detail",[374,431,432,435,436,439],{},[132,433,434],{},"summary"," (default) is one line per pick; ",[132,437,438],{},"full"," is every field of every pick",[361,441,442,447],{},[374,443,444],{},[132,445,446],{},"page",[374,448,449,450],{},"keep only picks whose page url or title contains this, case-insensitive — ",[132,451,452],{},"\"\u002Fsettings\"",[361,454,455,460],{},[374,456,457],{},[132,458,459],{},"withNotes",[374,461,462],{},"keep only picks carrying a note",[151,464,465],{},"Each call re-reads the picks file. You go on picking while the agent works, so a cached answer would\nbe the picks from a minute ago.",[467,468,470],"h3",{"id":469},"what-a-tool-answers-with","What a tool answers with",[151,472,473,475],{},[132,474,378],{}," gives the agent a line per pick, source location first:",[124,477,482],{"className":478,"code":480,"language":481},[479],"language-text","\u002Fapp\u002F.quello\u002Fpicks.json · updated 2026-09-03T10:00:00.000Z\n\n3 picks:\n\nPICK 1 · \u003Cbutton class=\"cta\"> · src\u002Fcomponents\u002FBuyButton.vue:12 (BuyButton) · \"Buy now\"\nPICK 2 · \u003Caside class=\"sidebar\"> · src\u002FSidebar.svelte:3:5 (Sidebar) · \"Filters\" · note: make this sticky\nPICK 3 · #footer\n","text",[132,483,480],{"__ignoreMap":130},[151,485,486,488,489,492],{},[132,487,388],{}," expands one of them into every recorded field — the same information as the\n",[186,490,491],{"href":105},"pick object",", as labelled lines rather than JSON, because it is a third of\nthe tokens and puts the fields an agent acts on at the top.",[151,494,495,497,498,501,502,504],{},[132,496,398],{}," is the MCP form of ",[186,499,500],{"href":27},"resolving the picks",": the\nnotes as a numbered plan, in ",[132,503,404],{}," order, each with the source to open.",[155,506,508],{"id":507},"nothing-here-writes","Nothing here writes",[151,510,511],{},"All three tools are read-only, and there is no fourth one that changes anything.",[151,513,514,515,517],{},"The picks file belongs to quello — you clear it from the toolbar — and ids never shift, because\n",[132,516,349],{}," is a label you say out loud. A tool that could renumber or delete picks would be a tool\nthat could invalidate what you just said.",[155,519,521],{"id":520},"resources","Resources",[355,523,524,532],{},[358,525,526],{},[361,527,528,530],{},[364,529],{},[364,531],{},[369,533,534,544],{},[361,535,536,541],{},[374,537,538],{},[132,539,540],{},"quello:\u002F\u002Fpicks",[374,542,543],{},"the whole picks file, as raw JSON",[361,545,546,551],{},[374,547,548],{},[132,549,550],{},"quello:\u002F\u002Fpicks\u002F{id}",[374,552,553,554,557,558],{},"one pick, as raw JSON — ",[132,555,556],{},"quello:\u002F\u002Fpicks\u002F2"," is ",[132,559,349],{},[151,561,562,563,566,567,569,570,573],{},"For ",[132,564,565],{},"@","-mentioning the picks into a chat. The JSON is byte-for-byte what ",[132,568,164],{}," holds,\nso anything written against the ",[186,571,572],{"href":105},"file format"," works unchanged against these.",[151,575,576,577,580,581,584,585,588,589,591,592,595,596,599],{},"The template also ",[174,578,579],{},"enumerates",": ",[132,582,583],{},"resources\u002Flist"," returns one entry per pick that currently exists —\n",[132,586,587],{},"quello:\u002F\u002Fpicks\u002F1",", ",[132,590,556],{},", … each named ",[132,593,594],{},"PICK \u003Cn>"," and summarised — so a client can\noffer them individually instead of asking you to fill in the ",[132,597,598],{},"{id}"," by hand.",[155,601,603],{"id":602},"prompts","Prompts",[151,605,606],{},"Two show up in your editor's slash-command menu, both arriving with the picks already in them\nrather than with instructions to go and fetch them:",[355,608,609,617],{},[358,610,611],{},[361,612,613,615],{},[364,614],{},[364,616],{},[369,618,619,629],{},[361,620,621,626],{},[374,622,623],{},[132,624,625],{},"resolve-picks",[374,627,628],{},"work through every pick that carries a note",[361,630,631,636],{},[374,632,633],{},[132,634,635],{},"explain-pick",[374,637,638,639],{},"locate one pick in the codebase and explain it — takes ",[132,640,404],{},[155,642,644],{"id":643},"finding-the-picks","Finding the picks",[151,646,647,648,650,651,654,655,658],{},"An editor launches an MCP server from whichever directory it happens to be in, so the working\ndirectory is a hint rather than an answer. With no flags, the server climbs from it looking for an\nexisting ",[132,649,164],{}," first, then for a project root (",[132,652,653],{},"package.json"," or ",[132,656,657],{},".git",").",[151,660,661,662,664],{},"An existing picks file wins over a nearer ",[132,663,653],{},", which is what a monorepo needs: every\nlevel has a manifest, but only the app you are picking in has picks.",[151,666,667],{},"Pin it explicitly when that guess is wrong:",[124,669,671],{"className":199,"code":670,"filename":201,"language":202,"meta":130,"style":130},"{\n  \"mcpServers\": {\n    \"quello\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@quello\u002Fmcp\", \"--root\", \"\u002Fpath\u002Fto\u002Fapp\"]\n    }\n  }\n}\n",[132,672,673,677,689,701,721,768,774,779],{"__ignoreMap":130},[135,674,675],{"class":137,"line":138},[135,676,210],{"class":209},[135,678,679,681,683,685,687],{"class":137,"line":213},[135,680,216],{"class":209},[135,682,220],{"class":219},[135,684,223],{"class":209},[135,686,226],{"class":209},[135,688,229],{"class":209},[135,690,691,693,695,697,699],{"class":137,"line":232},[135,692,235],{"class":209},[135,694,238],{"class":141},[135,696,223],{"class":209},[135,698,226],{"class":209},[135,700,229],{"class":209},[135,702,703,706,708,710,712,714,716,718],{"class":137,"line":302},[135,704,705],{"class":209},"      \"",[135,707,252],{"class":251},[135,709,223],{"class":209},[135,711,226],{"class":209},[135,713,248],{"class":209},[135,715,142],{"class":145},[135,717,223],{"class":209},[135,719,720],{"class":209},",\n",[135,722,723,725,727,729,731,733,735,737,739,741,743,745,747,749,751,754,756,758,760,763,765],{"class":137,"line":308},[135,724,705],{"class":209},[135,726,270],{"class":251},[135,728,223],{"class":209},[135,730,226],{"class":209},[135,732,277],{"class":209},[135,734,223],{"class":209},[135,736,282],{"class":145},[135,738,223],{"class":209},[135,740,265],{"class":209},[135,742,248],{"class":209},[135,744,291],{"class":145},[135,746,223],{"class":209},[135,748,265],{"class":209},[135,750,248],{"class":209},[135,752,753],{"class":145},"--root",[135,755,223],{"class":209},[135,757,265],{"class":209},[135,759,248],{"class":209},[135,761,762],{"class":145},"\u002Fpath\u002Fto\u002Fapp",[135,764,223],{"class":209},[135,766,767],{"class":209},"]\n",[135,769,771],{"class":137,"line":770},6,[135,772,773],{"class":209},"    }\n",[135,775,777],{"class":137,"line":776},7,[135,778,305],{"class":209},[135,780,782],{"class":137,"line":781},8,[135,783,311],{"class":209},[155,785,787],{"id":786},"options","Options",[355,789,790,798],{},[358,791,792],{},[361,793,794,796],{},[364,795],{},[364,797],{},[369,799,800,810,822,832],{},[361,801,802,807],{},[374,803,804],{},[132,805,806],{},"--root \u003Cdir>",[374,808,809],{},"project root to read picks from — default: the nearest one found",[361,811,812,817],{},[374,813,814],{},[132,815,816],{},"--picks-file \u003Cf>",[374,818,819,820],{},"picks file, absolute or relative to the root — default ",[132,821,164],{},[361,823,824,829],{},[374,825,826],{},[132,827,828],{},"-h, --help",[374,830,831],{},"show help",[361,833,834,839],{},[374,835,836],{},[132,837,838],{},"-v, --version",[374,840,841],{},"print the version",[151,843,844,847,848,851],{},[132,845,846],{},"QUELLO_ROOT"," and ",[132,849,850],{},"QUELLO_PICKS_FILE"," do the same, for a config where an env var is easier to set\nthan an argument.",[155,853,855],{"id":854},"output-goes-to-stderr","Output goes to stderr",[151,857,858,859,862],{},"The startup banner — the root it chose, the picks file it found — goes to ",[174,860,861],{},"stderr",", where your\neditor's MCP log will show it:",[124,864,867],{"className":865,"code":866,"language":481},[479],"  quello mcp   stdio\n  root         \u002Fpath\u002Fto\u002Fapp (discovered)\n  picks        \u002Fpath\u002Fto\u002Fapp\u002F.quello\u002Fpicks.json\n",[132,868,866],{"__ignoreMap":130},[151,870,871],{},"stdout carries the protocol and nothing else. A stray line on it would land in the middle of a\nmessage and desynchronise the client.",[155,873,875],{"id":874},"as-a-library","As a library",[151,877,878],{},"The server is importable too, for a process that would rather host it than spawn one:",[124,880,884],{"className":881,"code":882,"language":883,"meta":130,"style":130},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import { StdioServerTransport } from '@modelcontextprotocol\u002Fsdk\u002Fserver\u002Fstdio.js'\nimport { createQuelloMcpServer } from '@quello\u002Fmcp'\n\nconst server = createQuelloMcpServer({ picksPath: '\u002Fapp\u002F.quello\u002Fpicks.json' })\nawait server.connect(new StdioServerTransport())\n","ts",[132,885,886,913,932,938,977],{"__ignoreMap":130},[135,887,888,892,894,898,901,904,907,910],{"class":137,"line":138},[135,889,891],{"class":890},"s7zQu","import",[135,893,245],{"class":209},[135,895,897],{"class":896},"sTEyZ"," StdioServerTransport",[135,899,900],{"class":209}," }",[135,902,903],{"class":890}," from",[135,905,906],{"class":209}," '",[135,908,909],{"class":145},"@modelcontextprotocol\u002Fsdk\u002Fserver\u002Fstdio.js",[135,911,912],{"class":209},"'\n",[135,914,915,917,919,922,924,926,928,930],{"class":137,"line":213},[135,916,891],{"class":890},[135,918,245],{"class":209},[135,920,921],{"class":896}," createQuelloMcpServer",[135,923,900],{"class":209},[135,925,903],{"class":890},[135,927,906],{"class":209},[135,929,291],{"class":145},[135,931,912],{"class":209},[135,933,934],{"class":137,"line":232},[135,935,937],{"emptyLinePlaceholder":936},true,"\n",[135,939,940,943,946,949,952,955,958,962,964,966,969,972,974],{"class":137,"line":302},[135,941,942],{"class":219},"const",[135,944,945],{"class":896}," server ",[135,947,948],{"class":209},"=",[135,950,921],{"class":951},"s2Zo4",[135,953,954],{"class":896},"(",[135,956,957],{"class":209},"{",[135,959,961],{"class":960},"swJcz"," picksPath",[135,963,226],{"class":209},[135,965,906],{"class":209},[135,967,968],{"class":145},"\u002Fapp\u002F.quello\u002Fpicks.json",[135,970,971],{"class":209},"'",[135,973,900],{"class":209},[135,975,976],{"class":896},")\n",[135,978,979,982,985,987,990,992,995,997],{"class":137,"line":308},[135,980,981],{"class":890},"await",[135,983,984],{"class":896}," server",[135,986,350],{"class":209},[135,988,989],{"class":951},"connect",[135,991,954],{"class":896},[135,993,994],{"class":209},"new",[135,996,897],{"class":951},[135,998,999],{"class":896},"())\n",[151,1001,1002,1003,1006,1007,1010],{},"It returns the SDK's ",[132,1004,1005],{},"McpServer"," with everything registered on it, so any transport the SDK ships\nworks — ",[132,1008,1009],{},"StreamableHTTPServerTransport"," included, if you ever want to reach the picks over HTTP\nrather than over a pipe.",[151,1012,1013,1014,588,1017,588,1020,1023,1024,1027],{},"The tool handlers are exported on their own as well — ",[132,1015,1016],{},"listPicks",[132,1018,1019],{},"getPick",[132,1021,1022],{},"resolvePicks",", each\ntaking a ",[132,1025,1026],{},"{ picksPath }"," context — for reading picks with no protocol in the way.",[155,1029,1031],{"id":1030},"it-writes-nothing-into-your-project","It writes nothing into your project",[151,1033,1034,1035,1037,1038,1041,1042,1046],{},"Unlike the plugins and the CLI, this server does not create ",[132,1036,168],{}," and does not touch\n",[132,1039,1040],{},".gitignore",". It ",[1043,1044,1045],"em",{},"is"," the alternative to those, and a server asked to read a repository has no\nbusiness editing it.",[151,1048,1049],{},"If you want both routes, install a plugin as usual — it writes the agent file — and register this\nalongside it.",[155,1051,1053],{"id":1052},"protocol","Protocol",[151,1055,1056],{},"stdio transport, JSON-RPC 2.0 in newline-delimited JSON.",[151,1058,1059,1060,1068],{},"The protocol itself belongs to ",[186,1061,1065],{"href":1062,"rel":1063},"https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002F@modelcontextprotocol\u002Fsdk",[1064],"nofollow",[132,1066,1067],{},"@modelcontextprotocol\u002Fsdk",",\nthe official implementation: the envelope, the handshake, version negotiation, the transport, and the\nJSON Schema clients see — which it generates from the zod schemas each tool declares, and validates\narguments against before a handler runs. Conformance therefore tracks the spec through a dependency\nbump rather than through quello.",[151,1070,1071,1072,1075],{},"This is the one quello package with a third-party dependency. ",[132,1073,1074],{},"@quello\u002Fcore"," remains\ndependency-free, and nothing here reaches the browser.",[1077,1078,1079,1080,1083,1084,1087],"note",{},"A tool failure comes back ",[174,1081,1082],{},"inside"," the result, as ",[132,1085,1086],{},"isError: true"," with the reason as text, rather\nthan as a JSON-RPC error — that is the SDK's behaviour, and it is deliberate: the agent reads the\nmessage and corrects itself instead of the call blowing up. A pick number that does not exist, an\nargument that fails validation and an unknown tool name all arrive that way.",[1089,1090,1091],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}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);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}",{"title":130,"searchDepth":213,"depth":213,"links":1093},[1094,1095,1096,1099,1100,1101,1102,1103,1104,1105,1106,1107],{"id":157,"depth":213,"text":158},{"id":192,"depth":213,"text":193},{"id":176,"depth":213,"text":353,"children":1097},[1098],{"id":469,"depth":232,"text":470},{"id":507,"depth":213,"text":508},{"id":520,"depth":213,"text":521},{"id":602,"depth":213,"text":603},{"id":643,"depth":213,"text":644},{"id":786,"depth":213,"text":787},{"id":854,"depth":213,"text":855},{"id":874,"depth":213,"text":875},{"id":1030,"depth":213,"text":1031},{"id":1052,"depth":213,"text":1053},"Reach the picks over the Model Context Protocol, in editors that do not read an agent file.","md",null,{},{"icon":102},{"title":99,"description":1108},"IZYbh10Bia7Euu7MX2ADk5w0G_xhW3ObYTY_ZsTGZBk",[1116,1118],{"title":94,"path":95,"stem":96,"description":1117,"icon":97,"children":-1},"npx quello-cli — for projects with no bundler to hook into.",{"title":104,"path":105,"stem":106,"description":1119,"icon":107,"children":-1},"Every field in .quello\u002Fpicks.json, and why it is there.",1788620054350]