
Grab your gear: The official Sanity swag store
Read Grab your gear: The official Sanity swag storeThe error (0, _structureBuilder.list) is not a function indicates an import issue with the Structure Builder API in your Sanity Studio configuration. This is a common problem when migrating to or working with Studio v3, where the import patterns changed significantly.
Your code is likely trying to import Structure Builder methods incorrectly. In Studio v3, you need to import the Structure Builder object from the correct location and use it properly in your configuration.
Here's how to fix it:
sanity.config.tsMake sure you're importing and configuring the structureTool correctly:
// sanity.config.ts
import {defineConfig} from 'sanity'
import {structureTool} from 'sanity/structure'
import {structure} from './structure'
export default defineConfig({
// ...other config
plugins: [
structureTool({structure}),
// ...other plugins
],
})In your structure definition file (e.g., structure/index.ts or deskStructure.js), make sure you're using the correct import pattern. The S object is provided as a parameter to your structure function, not imported:
// structure/index.ts
import type {StructureResolver} from 'sanity/structure'
export const structure: StructureResolver = (S) =>
S.list()
.id('root')
.title('Content')
.items([
S.documentTypeListItem('post').title('Posts'),
S.documentTypeListItem('author').title('Authors'),
// ...more items
])Don't do this (common mistake):
// ❌ WRONG - Don't import S separately
import S from '@sanity/desk-tool/structure-builder'If you're migrating from Studio v2, note these changes according to the Structure Builder documentation:
@sanity/desk-tool to sanity/structureS directly; it's passed as a parameter to your structure functionstructureTool() instead of deskTool()structureTool from 'sanity/structure' in your configS as a parameter: (S) => S.list()...@sanity/desk-toolS.list() not list() directlynpm outdated or yarn outdatedThe fact that Vision plugin works but the desk doesn't confirms this is specifically a Structure Tool configuration issue, not a broader Studio problem. Once you update your imports to the v3 pattern, you should be able to access the desk again.
Sanity is the developer-first content operating system that gives you complete control. Schema-as-code, GROQ queries, and real-time APIs mean no more workarounds or waiting for deployments. Free to start, scale as you grow.
Content operations
Content backend


The only platform powering content operations
By Industry


Tecovas strengthens their customer connections
Build and Share

Grab your gear: The official Sanity swag store
Read Grab your gear: The official Sanity swag store