[{"data":1,"prerenderedAt":935},["ShallowReactive",2],{"navigation":3,"docs-\u002Fguide\u002Fupgrading-to-v4":56,"docs-\u002Fguide\u002Fupgrading-to-v4-surround":930},[4,26,47],{"title":5,"path":6,"stem":7,"children":8,"page":25},"Guide","\u002Fguide","1.guide",[9,13,17,21],{"title":10,"path":11,"stem":12},"Getting Started","\u002Fguide\u002Fgetting-started","1.guide\u002F0.getting-started",{"title":14,"path":15,"stem":16},"Features","\u002Fguide\u002Ffeatures","1.guide\u002F1.features",{"title":18,"path":19,"stem":20},"Composables","\u002Fguide\u002Fcomposables","1.guide\u002F2.composables",{"title":22,"path":23,"stem":24},"Upgrading to v4","\u002Fguide\u002Fupgrading-to-v4","1.guide\u002F3.upgrading-to-v4",false,{"title":27,"path":28,"stem":29,"children":30,"page":25},"Module","\u002Fmodule","2.module",[31,35,39,43],{"title":32,"path":33,"stem":34},"Module Authors","\u002Fmodule\u002Fguide","2.module\u002F0.guide",{"title":36,"path":37,"stem":38},"Utility Kit","\u002Fmodule\u002Futils-kit","2.module\u002F1.utils-kit",{"title":40,"path":41,"stem":42},"UI Kit","\u002Fmodule\u002Fui-kit","2.module\u002F2.ui-kit",{"title":44,"path":45,"stem":46},"Migration to v4","\u002Fmodule\u002Fmigration-v4","2.module\u002F3.migration-v4",{"title":48,"path":49,"stem":50,"children":51,"page":25},"Development","\u002Fdevelopment","3.development",[52],{"title":53,"path":54,"stem":55},"Contribution Guide","\u002Fdevelopment\u002Fcontributing","3.development\u002F0.contributing",{"id":57,"title":22,"body":58,"description":924,"extension":925,"meta":926,"navigation":927,"path":23,"seo":928,"stem":24,"__hash__":929},"docs\u002F1.guide\u002F3.upgrading-to-v4.md",{"type":59,"value":60,"toc":907},"minimark",[61,78,85,90,112,119,123,127,130,198,202,205,386,400,404,426,445,448,498,502,622,642,646,657,668,704,714,739,777,781,818,822,854,858,868,872,903],[62,63,64,65,72,73,77],"p",{},"Nuxt DevTools v4 is built on ",[66,67,71],"a",{"href":68,"rel":69},"https:\u002F\u002Fgithub.com\u002Fvitejs\u002Fdevtools",[70],"nofollow","Vite DevTools",". Instead of shipping its own floating panel, it registers a ",[74,75,76],"code",{},"Nuxt"," group inside the Vite DevTools panel, next to Vue DevTools, Vite Inspect, Terminals, Messages and the other tools your Vite plugins provide. Everything you know from the Nuxt side (Pages, Components, Imports, Modules, Server Routes, Timeline, …) lives in that group.",[62,79,80,81,84],{},"This page is for app developers. If you maintain a Nuxt module that integrates with DevTools, read the ",[66,82,83],{"href":45},"module migration guide"," as well.",[86,87,89],"h2",{"id":88},"requirements","Requirements",[91,92,93,101],"ul",{},[94,95,96,100],"li",{},[97,98,99],"strong",{},"Vite 8.1.5 or later."," Vite DevTools only works with Vite 8.",[94,102,103,104,107,108,111],{},"That means ",[97,105,106],{},"Nuxt 4.5 or later",", or ",[97,109,110],{},"Nuxt 5",". Nuxt 4.0–4.4 ship Vite 7 and cannot run DevTools v4.",[62,113,114,115,118],{},"If you are on an older Nuxt 4, upgrade Nuxt first. Overriding ",[74,116,117],{},"vite"," on Nuxt 4.4 to Vite 8 is not supported.",[86,120,122],{"id":121},"installing","Installing",[124,125,110],"h3",{"id":126},"nuxt-5",[62,128,129],{},"Nuxt 5 ships with DevTools v4. There is nothing to install:",[131,132,138],"pre",{"className":133,"code":134,"filename":135,"language":136,"meta":137,"style":137},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","export default defineNuxtConfig({\n  devtools: { enabled: true },\n})\n","nuxt.config.ts","ts","",[74,139,140,164,189],{"__ignoreMap":137},[141,142,145,149,152,156,160],"span",{"class":143,"line":144},"line",1,[141,146,148],{"class":147},"s7zQu","export",[141,150,151],{"class":147}," default",[141,153,155],{"class":154},"s2Zo4"," defineNuxtConfig",[141,157,159],{"class":158},"sTEyZ","(",[141,161,163],{"class":162},"sMK4o","{\n",[141,165,167,171,174,177,180,182,186],{"class":143,"line":166},2,[141,168,170],{"class":169},"swJcz","  devtools",[141,172,173],{"class":162},":",[141,175,176],{"class":162}," {",[141,178,179],{"class":169}," enabled",[141,181,173],{"class":162},[141,183,185],{"class":184},"sfNiH"," true",[141,187,188],{"class":162}," },\n",[141,190,192,195],{"class":143,"line":191},3,[141,193,194],{"class":162},"}",[141,196,197],{"class":158},")\n",[124,199,201],{"id":200},"nuxt-45","Nuxt 4.5+",[62,203,204],{},"Nuxt 4 still bundles DevTools v3. Override the bundled version with your package manager, then reinstall:",[206,207,208,272,319],"code-group",{},[131,209,214],{"className":210,"code":211,"filename":212,"language":213,"meta":137,"style":137},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"overrides\": {\n    \"@nuxt\u002Fdevtools\": \"^4.0.0\"\n  }\n}\n","npm","json",[74,215,216,220,237,260,266],{"__ignoreMap":137},[141,217,218],{"class":143,"line":144},[141,219,163],{"class":162},[141,221,222,225,229,232,234],{"class":143,"line":166},[141,223,224],{"class":162},"  \"",[141,226,228],{"class":227},"spNyl","overrides",[141,230,231],{"class":162},"\"",[141,233,173],{"class":162},[141,235,236],{"class":162}," {\n",[141,238,239,242,246,248,250,253,257],{"class":143,"line":191},[141,240,241],{"class":162},"    \"",[141,243,245],{"class":244},"sBMFI","@nuxt\u002Fdevtools",[141,247,231],{"class":162},[141,249,173],{"class":162},[141,251,252],{"class":162}," \"",[141,254,256],{"class":255},"sfazB","^4.0.0",[141,258,259],{"class":162},"\"\n",[141,261,263],{"class":143,"line":262},4,[141,264,265],{"class":162},"  }\n",[141,267,269],{"class":143,"line":268},5,[141,270,271],{"class":162},"}\n",[131,273,276],{"className":210,"code":274,"filename":275,"language":213,"meta":137,"style":137},"{\n  \"resolutions\": {\n    \"@nuxt\u002Fdevtools\": \"^4.0.0\"\n  }\n}\n","yarn",[74,277,278,282,295,311,315],{"__ignoreMap":137},[141,279,280],{"class":143,"line":144},[141,281,163],{"class":162},[141,283,284,286,289,291,293],{"class":143,"line":166},[141,285,224],{"class":162},[141,287,288],{"class":227},"resolutions",[141,290,231],{"class":162},[141,292,173],{"class":162},[141,294,236],{"class":162},[141,296,297,299,301,303,305,307,309],{"class":143,"line":191},[141,298,241],{"class":162},[141,300,245],{"class":244},[141,302,231],{"class":162},[141,304,173],{"class":162},[141,306,252],{"class":162},[141,308,256],{"class":255},[141,310,259],{"class":162},[141,312,313],{"class":143,"line":262},[141,314,265],{"class":162},[141,316,317],{"class":143,"line":268},[141,318,271],{"class":162},[131,320,323],{"className":210,"code":321,"filename":322,"language":213,"meta":137,"style":137},"{\n  \"pnpm\": {\n    \"overrides\": {\n      \"@nuxt\u002Fdevtools\": \"^4.0.0\"\n    }\n  }\n}\n","pnpm",[74,324,325,329,341,353,371,376,381],{"__ignoreMap":137},[141,326,327],{"class":143,"line":144},[141,328,163],{"class":162},[141,330,331,333,335,337,339],{"class":143,"line":166},[141,332,224],{"class":162},[141,334,322],{"class":227},[141,336,231],{"class":162},[141,338,173],{"class":162},[141,340,236],{"class":162},[141,342,343,345,347,349,351],{"class":143,"line":191},[141,344,241],{"class":162},[141,346,228],{"class":244},[141,348,231],{"class":162},[141,350,173],{"class":162},[141,352,236],{"class":162},[141,354,355,358,361,363,365,367,369],{"class":143,"line":262},[141,356,357],{"class":162},"      \"",[141,359,245],{"class":360},"sbssI",[141,362,231],{"class":162},[141,364,173],{"class":162},[141,366,252],{"class":162},[141,368,256],{"class":255},[141,370,259],{"class":162},[141,372,373],{"class":143,"line":268},[141,374,375],{"class":162},"    }\n",[141,377,379],{"class":143,"line":378},6,[141,380,265],{"class":162},[141,382,384],{"class":143,"line":383},7,[141,385,271],{"class":162},[62,387,388,389,392,393,107,396,399],{},"Remove your lockfile (",[74,390,391],{},"package-lock.json",", ",[74,394,395],{},"yarn.lock",[74,397,398],{},"pnpm-lock.yaml",") and run the install again so the override takes effect.",[86,401,403],{"id":402},"opening-devtools","Opening DevTools",[62,405,406,407,411,412,415,416,411,419,411,422,425],{},"The floating Nuxt button at the bottom of the page is gone; the Vite DevTools trigger takes its place. The keyboard shortcut is unchanged: ",[408,409],"kbd",{"value":410},"Shift"," + ",[408,413],{"value":414},"Alt"," \u002F ",[408,417],{"value":418},"⇧ Shift",[408,420],{"value":421},"⌥ Option",[408,423],{"value":424},"D"," toggles the Nuxt entry.",[62,427,428,429,432,433,437,438,441,442,444],{},"Vite DevTools can run shell commands and read files on your machine, so it asks you to ",[97,430,431],{},"authorize the browser once per project",". On first open you will see an ",[434,435,436],"em",{},"Unauthorized"," badge; enter the 6-digit code printed in your terminal (or click the link printed next to it). In sandboxed environments such as StackBlitz and CodeSandbox the prompt is skipped automatically. To skip it elsewhere, set ",[74,439,440],{},"devtools.disableAuthorization: true"," in ",[74,443,135],{}," — only do this on a machine you trust.",[62,446,447],{},"To turn Vite DevTools off entirely (Nuxt DevTools included), disable it in your Vite config on Vite 8.3+:",[131,449,451],{"className":133,"code":450,"filename":135,"language":136,"meta":137,"style":137},"export default defineNuxtConfig({\n  vite: {\n    devtools: false,\n  },\n})\n",[74,452,453,465,474,487,492],{"__ignoreMap":137},[141,454,455,457,459,461,463],{"class":143,"line":144},[141,456,148],{"class":147},[141,458,151],{"class":147},[141,460,155],{"class":154},[141,462,159],{"class":158},[141,464,163],{"class":162},[141,466,467,470,472],{"class":143,"line":166},[141,468,469],{"class":169},"  vite",[141,471,173],{"class":162},[141,473,236],{"class":162},[141,475,476,479,481,484],{"class":143,"line":191},[141,477,478],{"class":169},"    devtools",[141,480,173],{"class":162},[141,482,483],{"class":184}," false",[141,485,486],{"class":162},",\n",[141,488,489],{"class":143,"line":262},[141,490,491],{"class":162},"  },\n",[141,493,494,496],{"class":143,"line":268},[141,495,194],{"class":162},[141,497,197],{"class":158},[86,499,501],{"id":500},"what-moved","What moved",[503,504,505,518],"table",{},[506,507,508],"thead",{},[509,510,511,515],"tr",{},[512,513,514],"th",{},"v3",[512,516,517],{},"v4",[519,520,521,532,553,565,584,599,607],"tbody",{},[509,522,523,527],{},[524,525,526],"td",{},"Floating Nuxt panel",[524,528,529,531],{},[74,530,76],{}," group in the Vite DevTools panel",[509,533,534,537],{},[524,535,536],{},"Nuxt Options Viewer",[524,538,539,542,543,546,547,552],{},[97,540,541],{},"Data Inspector"," → ",[74,544,545],{},"Nuxt Application"," source, with a live ",[66,548,551],{"href":549,"rel":550},"https:\u002F\u002Fdiscoveryjs.github.io\u002Fjora\u002F",[70],"jora"," query workbench",[509,554,555,558],{},[524,556,557],{},"Terminals tab",[524,559,560,561,564],{},"Vite DevTools ",[97,562,563],{},"Terminals"," dock (shared with every tool)",[509,566,567,574],{},[524,568,569,570,573],{},"Built-in VS Code integration (",[74,571,572],{},"devtools.vscode",")",[524,575,576,579,580,583],{},[97,577,578],{},"Code Server"," dock (",[74,581,582],{},"devtools.codeServer","), see below",[509,585,586,589],{},[524,587,588],{},"Vue DevTools tab",[524,590,591,592,594,595,598],{},"Vue DevTools dock, next to the ",[74,593,76],{}," group (",[74,596,597],{},"vite-plugin-vue-devtools"," v9)",[509,600,601,604],{},[524,602,603],{},"Popup (Picture-in-Picture) and Split Screen",[524,605,606],{},"Removed; Vite DevTools owns the panel layout",[509,608,609,614],{},[524,610,611],{},[74,612,613],{},"nuxi devtools enable\u002Fdisable",[524,615,616,617,441,620],{},"Removed; set ",[74,618,619],{},"devtools.enabled",[74,621,135],{},[62,623,624,625,392,628,392,631,634,635,637,638,641],{},"Module tabs contributed by Nuxt modules you install (for example ",[74,626,627],{},"@nuxt\u002Ffonts",[74,629,630],{},"@nuxt\u002Fscripts",[74,632,633],{},"nuxt-og-image",") keep working. They appear in the ",[74,636,76],{}," group under the ",[434,639,640],{},"Modules"," category.",[86,643,645],{"id":644},"configuration-changes","Configuration changes",[124,647,649,652,653,656],{"id":648},"vscode-is-replaced-by-codeserver-code-server",[74,650,651],{},"vscode"," is replaced by ",[74,654,655],{},"codeServer"," {#code-server}",[62,658,659,660,667],{},"The VS Code integration is now the Code Server plugin. It supports a locally installed Coder ",[66,661,664],{"href":662,"rel":663},"https:\u002F\u002Fcoder.com\u002Fdocs\u002Fcode-server\u002Finstall",[70],[74,665,666],{},"code-server",", detected when DevTools starts and launched on demand.",[131,669,673],{"className":670,"code":671,"filename":135,"language":672,"meta":137,"style":137},"language-diff shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","export default defineNuxtConfig({\n  devtools: {\n-   vscode: { enabled: true },\n+   codeServer: { enabled: true },\n  },\n})\n","diff",[74,674,675,680,685,690,695,699],{"__ignoreMap":137},[141,676,677],{"class":143,"line":144},[141,678,679],{},"export default defineNuxtConfig({\n",[141,681,682],{"class":143,"line":166},[141,683,684],{},"  devtools: {\n",[141,686,687],{"class":143,"line":191},[141,688,689],{},"-   vscode: { enabled: true },\n",[141,691,692],{"class":143,"line":262},[141,693,694],{},"+   codeServer: { enabled: true },\n",[141,696,697],{"class":143,"line":268},[141,698,491],{},[141,700,701],{"class":143,"line":378},[141,702,703],{},"})\n",[62,705,706,707,709,710,713],{},"The old ",[74,708,651],{}," value is ignored and a ",[74,711,712],{},"NDT_DEP_0008"," warning is printed. The following v3 modes no longer exist:",[91,715,716,726,729,732],{},[94,717,718,719,722,723],{},"Microsoft ",[74,720,721],{},"code serve-web"," and ",[74,724,725],{},"code-server serve-local",[94,727,728],{},"VS Code tunnels",[94,730,731],{},"reusing an already running server, or starting one on boot",[94,733,734,735,738],{},"the ",[74,736,737],{},"vscode-server-controller"," extension",[62,740,741,742,745,746,748,749,392,752,392,755,392,758,392,761,392,764,392,767,392,770,722,773,776],{},"The generic ",[434,743,744],{},"open in editor"," action (from component and file links) is unaffected. ",[74,747,655],{}," accepts ",[74,750,751],{},"enabled",[74,753,754],{},"bin",[74,756,757],{},"cwd",[74,759,760],{},"serverPort",[74,762,763],{},"host",[74,765,766],{},"args",[74,768,769],{},"env",[74,771,772],{},"cookieSuffix",[74,774,775],{},"startTimeout",".",[124,778,780],{"id":779},"removed-options","Removed options",[91,782,783,793,802,808],{},[94,784,785,788,789,792],{},[74,786,787],{},"viteDevTools"," — Vite DevTools is always on; use ",[74,790,791],{},"vite.devtools: false"," to turn it off.",[94,794,795,722,798,801],{},[74,796,797],{},"ui.showPanel",[74,799,800],{},"ui.minimizePanelInactive"," — the floating panel no longer exists.",[94,803,804,807],{},[74,805,806],{},"devtoolsGlobal"," — DevTools cannot be installed globally any more.",[94,809,810,813,814,817],{},[74,811,812],{},"experimental.timeline"," — still honored, but use ",[74,815,816],{},"timeline.enabled"," instead.",[124,819,821],{"id":820},"new-options","New options",[91,823,824,838,848],{},[94,825,826,829,830,833,834,837],{},[74,827,828],{},"vueDevTools"," (default ",[74,831,832],{},"true",") — set to ",[74,835,836],{},"false"," to skip the Vue DevTools dock.",[94,839,840,829,843,833,845,847],{},[74,841,842],{},"dataInspector",[74,844,832],{},[74,846,836],{}," to skip the Data Inspector source.",[94,849,850,853],{},[74,851,852],{},"disableAuthorization"," (default: on in sandboxes) — skips the authorization prompt described above.",[86,855,857],{"id":856},"deprecation-warnings-in-your-terminal","Deprecation warnings in your terminal",[62,859,860,861,864,865,867],{},"Lines such as ",[74,862,863],{},"[NDT_DEP_0003] extendServerRpc is deprecated"," come from a Nuxt module you installed, not from your app. The module keeps working; the warning tells its author which v4 API to move to. Each code links to the relevant section of the ",[66,866,83],{"href":45},", which is the right place to point the maintainer to.",[86,869,871],{"id":870},"troubleshooting","Troubleshooting",[91,873,874,883,893],{},[94,875,876,882],{},[97,877,878,879,776],{},"The dev server crashes at startup mentioning ",[74,880,881],{},"@vitejs\u002Fdevtools-rolldown"," You are on Vite 7 (Nuxt ≤ 4.4). Upgrade to Nuxt 4.5 or later.",[94,884,885,892],{},[97,886,887,888,891],{},"Opening ",[74,889,890],{},"\u002F__nuxt_devtools__\u002Fclient\u002F"," directly shows empty data."," The client needs the connection the Vite DevTools panel gives it; open DevTools from the app page instead.",[94,894,895,898,899,902],{},[97,896,897],{},"The authorization code does not appear."," It is printed by the dev server process; look in the terminal running ",[74,900,901],{},"nuxt dev",", not in the browser console.",[904,905,906],"style",{},"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 .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 .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sfNiH, html code.shiki .sfNiH{--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}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 pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}",{"title":137,"searchDepth":166,"depth":166,"links":908},[909,910,914,915,916,922,923],{"id":88,"depth":166,"text":89},{"id":121,"depth":166,"text":122,"children":911},[912,913],{"id":126,"depth":191,"text":110},{"id":200,"depth":191,"text":201},{"id":402,"depth":166,"text":403},{"id":500,"depth":166,"text":501},{"id":644,"depth":166,"text":645,"children":917},[918,920,921],{"id":648,"depth":191,"text":919},"vscode is replaced by codeServer {#code-server}",{"id":779,"depth":191,"text":780},{"id":820,"depth":191,"text":821},{"id":856,"depth":166,"text":857},{"id":870,"depth":166,"text":871},"What changes for your app when you move from Nuxt DevTools v3 to v4.","md",{},true,{"title":22,"description":924},"cpB7YKszc74dM8HivKjlZrU86XssrfVBIYBMT7p8BHU",[931,933],{"title":18,"path":19,"stem":20,"description":932,"children":-1},"Open or control Nuxt DevTools with the useNuxtDevtools composable.",{"title":32,"path":33,"stem":34,"description":934,"children":-1},"Add your own modules integration to the Nuxt DevTools.",1791272065172]