🎤 Builder Talk: The Story Behind Lady Gaga’s Digital Experience – Register now

Error in creating a custom tool in Sanity.io Studio

14 replies
Last updated: Aug 10, 2023
Hi
user Q
,
I am back with a small help for the error which I am getting. I am trying to create a custom tool by following this documentations.


https://www.sanity.io/docs/studio-tools
And I am getting this error, I think it is because I am not using the configuration where the studio runs on port 3333, I am running studio on localhost:3000/studio/desk configurations.

current config file


export default defineConfig({

studio: {

components: {

toolMenu: (props) => {

const {tools, renderDefault} = props

return renderDefault({

...props,

tools: [...tools,myCustomTool()],

})

},

},

},

//other items

})
Aug 10, 2023, 3:36 PM
you’re not following the configuration correctly
Aug 10, 2023, 3:44 PM
try doing exactly like they showed you first
Aug 10, 2023, 3:44 PM
so you need to create
myCustomTool()
from the first example and pass it into the
tools
prop. the error im seeing here makes me think you dont have
title: 'My Custom Tool',
name: 'my-custom-tool', // localhost:3333/my-custom-tool
declared in your tool. it needs those props to set the navigation of the tool
Aug 10, 2023, 3:49 PM
Hi
user J
I have that created -

const myCustomTool = () => {
return {
title: 'My Custom Tool',
name: 'my-custom-tool', // localhost:3333/my-custom-tool
icon: Card,
component: (props) => (
<div>
fefef
</div>
),
}
}
Aug 10, 2023, 3:51 PM
Entire file
Aug 10, 2023, 3:51 PM
ok but you are pulling the myCustomTool() into the wrong key. that bit they are talking about is only to order the navigation. and you’re doing it wrong based on the example shown. get this working first before you dive into navigation ordering. https://share.cleanshot.com/fB3X84l8
Aug 10, 2023, 3:54 PM
you dont need
studio: ….
to get the tool working
Aug 10, 2023, 3:55 PM
that bit you’re doing doesn’t make sense anyway because it already orders the navigation in that exact order.
Aug 10, 2023, 3:56 PM
I see what you mean!
Aug 10, 2023, 4:00 PM
Thank you!
Aug 10, 2023, 4:00 PM
just remove
studio:
entirely and use the config shown in the example. you also need to have all that other config to make sanity work like dataset and projectid
Aug 10, 2023, 4:00 PM
it is resolved now!
Aug 10, 2023, 4:00 PM
Yes perfect!
Aug 10, 2023, 4:00 PM
@(Removed Name), great -- looks
user J
got you tuned in on this well -- and, it works, always good 🙂
Cheers to both,
(Removed Name)
Aug 10, 2023, 7:26 PM

Sanity– build remarkable experiences at scale

Sanity is a modern headless CMS that treats content as data to power your digital business. Free to get started, and pay-as-you-go on all plans.

Was this answer helpful?

Related answers

Get more help in the community Slack

TopicCategoriesFeaturedRepliesLast Updated
DOMParser is not defined at defaultParseHtmlDec 3, 2020
Next.js and Vercel - Error! No Output Directory named "dist" foundAug 8, 2022
Custom Document Views - Is it Even Possible to Use the Structure Builder?Apr 21, 2022
Hi all! Does anyone have problem on deoplloying on Vercel (Using Next. js as a frontend)? I have two test projects, andonce...Jan 25, 2021
Issue with compiling studio, resolved by nuking node_modules and installing with `sanity install`Aug 21, 2020
How to Disallow Robots on a SubdomainNov 12, 2020
Issue setting value of JSON field with document action in Sanity StudioApr 22, 2020
Issue with setting up Next.js E-commerce example and resolving the error related to the port.Jan 25, 2021
has anyone figured out a way to sort lists of content in the studio? i'd love a drag and drop if possibleJan 13, 2021
Error message when updating to studio version 2.2.3Jan 26, 2021

Related contributions

Turbo Start Sanity
- Template

The battle-tested Sanity template that powers Roboto Studio's websites

Go to Turbo Start Sanity

Schema UI - Next.js Sanity Starter
- Template

A Next.js starter template with Next.js 15, Tailwind CSS, shadcn/ui, and Sanity CMS with Live Editing. Get production-ready React components with matching Sanity schemas and queries. Build dynamic pages faster while keeping full control over customization.

Serge Ovcharenko
Go to Schema UI - Next.js Sanity Starter

The Swaddle
- Made with Sanity

A new brand identity to represent a more mature company, to signify The Swaddle’s evolution from publisher to production house, combined with an easier to navigate platform that can surface multiple content types - drawing readers through The Swaddle’s content offering.

Nightjar
Go to The Swaddle