How to remove sidekick from my app

We’re currently working on changes to prevent Sidekick from covering app content.

In the meantime, we’d like to hear more from those who have shared that Sidekick doesn’t integrate with their app. What would prevent you from building a Sidekick app extension, or make one unsuitable for your app? For example, are there technical limitations, concerns about whether Sidekick fits your app’s workflows, or other barriers? Specific examples would be really helpful.

Just chiming in here. The why is often relatively simple; time and/or priority.

Adding new features or improving app functionality will often take higher priority over building an API for the app (that’s what Sidekick technically requires).

It also hasn’t been available for a long time yet (and it was hardly impossible to get early access last year despite many requests), and Sidekick isn’t the best AI assistant according to many merchants which lowers the priority to build for it (vs adding direct value through building a new UI or whatever).

However, the main problem is the UI now of Sidekick. It’s so native to Shopify that people assume it’s part of the app too.

And; it’s fairly blunt (and also a slap in the face for many app partners) that it puts the “just vibe code your own Shopify app” so front and center in the design of Sidekick.

Especially, considering the UX; merchant assumes Sidekick is now part of the app, it doesn’t do what it needs to do, they get frustrated, they see “just vibe code” your own app.

Shortly: Sidekick is bad in the sense that the quality of its answers is too inconsistent, it requires the user to make use of good prompt engineering to have a chance to land satisfying results. Which is ok as a developer, but for regular users they wouldn’t use it well.

example 1:

I tried to integrate with a FAQ of the app. Just this is hard to get right. I can’t just feed a FAQ to sidekick because of the token limit, I need to engineer a system where I list the questions and answers in a way that sidekick will be able to use it correctly. Which means lot of experiments, maintenance, etc…

All that for a thing that I’m not even sure people would use. It’s better to just give a link to our documentation at this point and let chat gpt/claude/etc.. do the work.

I also found that sidekick tends to confidently hallucinate responses about what it finds in the provided FAQs, which lead to wrong information and it is dangerous for users. It takes a lot of time to get everything right so it wont hallucinate wrong answers.

So at this stage it’s not relevant to spend time for benefits probably close to 0, or even potentially negatives

example 2:

Then I tried to integrate with the “app actions”. I.e. ask sidekick to perform actions for us. Here again it’s not good:

  1. bad quality that requires prompt engineering to get it to work well, I cant afford spending time tweaking for a model that is not working well and that might break anytime
  2. there is context/size limit we cant pass a large json payload ,
  3. there is 3 seconds limit in the response,
  4. the model behind sidekick is clearly not smart enough to do it reliably. I wouldn’t be able to trust it enough to let the user act on the app through sidekick.

The only way to get good results is to connect it to our internal AI layer, but the 3 seconds limit is killing all possibilities to do so.

example 3:

Response can be randomly blocked by safety checks:


Overall, sidekick is not ready for everyone’s usage. You can also find a ton of comments on reddit about people saying roughly the same thing.

Given all these limits I don’t see any good use case for sidekick. If I want to add a feature I ask my self “what do the users need to do” and for any of the answers, there is always a better way to do it than sidekick, or sidekick limitations makes it impossible / too much efforts to do.

and lastly, given how often shopify changes and breaks everything suddenly without a notice, I can’t trust them on this. Developing and spending time on something that may no longer work or be relevant because of an update is too much of a gamble.


To summarize:

  • the model/agent itself is not good enough
  • too many limitations
  • requires engineering and maintenance => time, but time is better invested for other priorities
  • ROI-wise probably not worth it
  • It’s a rabbit hole

it’s crazy annoying on mobile web please remove it from our app views

Hi @Paige-Shopify thanks for asking. To be frank:

Sidekick extensions are at the bottom of our list. The ecosystem already has hard deadlines for the token migration, the pricing migration and market-driven shipping changes, among others.

We have built a basic extension, but only because Sidekick’s floating UI appeared inside our app without notice or any say from us. App developers get no Sidekick metrics, so we have no idea:

A) How many merchants use it.
B) Whether merchants get any value from it, given the limited options Sidekick offers.

Without that, we can’t justify more engineering time on it.

We built our own in-app agent. It’s tailored to Flare and much more capable for our merchants than Sidekick is today.

@Paige-Shopify Sidekick also has “memory” and a toggle for it.

Couple of issues:

  • I noticed that it reads from the memory and provided an answer without consulting the app’s data, even after I updated the extension. The updated extension has fresher data that don’t match the memory
  • The memory setting can only be found when it’s used in expanded mode, in a new chat, as you can see here:

  • When I start a conversation in minimized mode, I can’t disable at all, never. Start typing:

I submit the prompt, it immediately switches to expanded mode with no options to disable memory, since it’s only available on a new chat:

  • In some occasions, when in a new chat in expanded mode, I open the settings, I see the toggle to disable memory, it’s not possible to disable it. Clicking the toggle button closes the settings and goes back to the previous chat. Sometimes it works tho, up to you to search for the exact conditions that


And to be honest, the memory feature is probably something that most non-technical merchants will never use right. At this stage it sounds like a dangerous tool that can remember misleading or false information.


That adds to the pile of problems that lead me to think that this is still an early product, and not ready to put in front of apps.

@Paige-Shopify

One more issue. When I asked for a request for the current app, it pulled the extension from another app with a similar name.

Which is a problem, we can’t even trust that sidekick will connect to the right app, when the user is currently using the app.

@Paige-Shopify

One more issue. Just released a simple “knowledge base” extension.

20 minutes later I received an email saying:

Your app will be delisted from the App Store if changes are not made by October 22, 2026
Please make these changes to your app as soon as possible:

1.  Sidekick app extensions can't contain promotions, advertisements, cross-sells, upsells, or review requests. Remove promotional language from your Sidekick extension content.
    
    The following Sidekick tools failed this requirement: "knowledge_base".

We don’t have any promotional content in the app extension. Just a mention that our support is available by email and the instructions to contact us are available on the home page of app. Which I suspect is what got flagged - but the email does not tell us what it is exactly.


Why it matters?

We try to adapt to shopify that puts the sidekick thing in front of our app. But then we get punished for doing so.

We get flagged by seemingly subjective checks that we don’t even understand.

This is pure waste of time at this point. We now have to spend time understand what’s wrong, and we’re putting the app at risk just by having a sidekick extension.

We will remove the sidekick extension for now. It’s not worth it.

Can we please get a toggle in the app TOML file to disable this? How is such a big change being pushed out without any communication to partners?

  1. It’s super confusing for customers. They use Sidekick to ask questions it cannot answer because it’s not part of our app. We have our own AI knowledge base and solution because Sidekick is too limited for our use case.

  2. It’s blocking content inside our app, preventing customers from seeing buttons and other relevant content.

Additionally, we use the legacy OAuth install flow for some of our apps so we cannot use Sidekick. Plus reports like this make it seem as just another headache to manage (we now have the offline token migration, removal of scripttags and deprecation mention 6 days in advance, UI extensions deprecation starting today, the review purge and having to deal with appeals), how much more work do you guys want to give to partners… instead of focusing on my apps I seem to be in an ongoing battle just to keep up with Shopifys changes and requirements.

Exact same feeling. It’s very hard to focus on features that add values to users these days. We’re literally fighting against Shopify.

Because we are small team and countless Shopify changes and missteps make life as app developer extremely difficult already! We are busy changing API versions and updating deprecated code, doing token migration, trying to make Admin extension panel that is not truncated due to unlisted max height, tracking down why valid app reviews removed, trying to determine where new location of data or button be due to redesign, uploading identification to Stripe, blocking bad actor shops, and so many more! Shopify developer life is total headache! Sidekick is last thing on agenda!

a side kick to the face!

we’re also struggling with all the mandatory changes, deadlines, and deprecations now they added this and now the new canvas slop too :frowning:

Thank you all for sharing such candid and detailed feedback, and for taking the time to include specific examples and screenshots as well. This context is really helpful, and I’m sharing it with the relevant team for review. I’ll update this thread when I have more information to share.

Hi @Paige-Shopify another example here: I’m a cofounder of Fudge, an AI-first app embedded in Shopify Admin. Our main interface is a conversation, so the persistent Sidekick input leaves merchants with two chat boxes stacked together.

So for us, it’s more than just screen space. It’s unclear which assistant they’re talking to, whether it has the context of their conversation, and which app will actually carry out the request. For an app where chat is the primary interface, that’s a pretty fundamental UX problem.

I posted about this separately here, and other developers have shared similar concerns.

Could conversational apps have a way to collapse the persistent input while keeping Sidekick accessible through the Admin navigation? It would also be helpful to understand Shopify’s intended experience for AI-first apps like ours.

Thanks for listening to the feedback and passing it on to the team.

Thanks for reaching out and sharing this, @Jacques_Blom. I can see how that experience would be confusing for merchants using your app.

We’re still reviewing the feedback shared here. I’ve passed your example and suggestion along to the relevant team, and I’ll update this thread when I have more information to share.

redesign in the menu or dismissible. if remove permanent it would be better for us

Hi @Paige-Shopify , thanks for the updates. Can you share a concrete timeline for a fix or opt-out? Even a rough ETA would help us.

Thanks for asking Alex.
I don’t have an exact release date yet, but a fix is coming soon for cases where the floating Sidekick UI appears over app modals.
We’re also preparing guidance for app developers on next steps, which we hope to share soon. At this stage, an option for apps to opt out of the Sidekick UI is highly unlikely.

Rather than wait for the actual fix, can’t you describe it such that we know what’s coming?

The fix that’s coming soon specifically addresses Sidekick appearing over the legacy Polaris React Modal. Sidekick will move out of the way while the modal is open and return when it closes.