Reference
Troubleshooting
The messages Piste shows when something goes wrong or is refused, word for word, from connecting Shopify and Slack to cards, automations and jobs, with what to do.
Each message below is the exact text Piste shows, grouped by where you'd see it, with what it means and what to do. Text in code, such as <store>, stands for your own store, a name, a date or a number.
Why can't I connect my store?
Use the address from your Shopify admin, like alpine-supply.
What it means: What you typed doesn't look like a Shopify store address. What to do: Copy the part after admin.shopify.com/store/ from your Shopify admin's address bar.
| Message | What to do |
|---|---|
"<store> is already connected to another Piste workspace." | A store belongs to one Piste workspace. Use that one, or uninstall Piste from the store in Shopify, then connect it here. See Several stores. |
"Piste isn't installed on <store>. Open Piste from the store's Shopify admin, then connect it again." | Open Piste from the store's Shopify admin and choose Connect to your Piste workspace. |
| "This link has expired" | The link from Piste's page in your Shopify admin works for 30 minutes. Open Piste there again and choose Connect to your Piste workspace. |
| "This connection attempt expired or was started in another browser. Connect your store again from Piste." | A connection has to finish within 10 minutes, in the browser and by the person that started it. Press Connect Shopify again. |
| "This link didn't come from Shopify, or it's more than a few minutes old. Connect your store again from Piste.", "Shopify didn't give Piste access to the store. Try connecting again." or "Piste couldn't save the connection; try again." | Press Connect Shopify again. |
Piste's page in your Shopify admin can show "Piste couldn't get access to this store" or "Piste couldn't save the connection", with "Reload the page to try again." Reload it.
Why does my store need reconnecting?
Piste can no longer reach <store>. Connect it again to keep using your store.
What it means: Shopify no longer accepts Piste's access, so Piste can't read the store. The Shopify card on the Connections page reads "Needs verifying", or "Needs reconnecting" with several stores. What to do: Press Connect Shopify under the message, or open Piste from the store's Shopify admin. See Shopify.
Needs you lists the same thing as "Shopify needs reconnecting". A card's button, or Piste in a conversation, says "Piste's access to <store> has lapsed, so store data can't be read. The owner needs to open Piste from the Shopify admin to reconnect it."
Why are sales or stock missing from Home?
| Message | What to do |
|---|---|
| "Connect your store to see yesterday’s sales here." | Press Connect Shopify. |
| "Yesterday’s sales need Shopify’s reports access. Open Piste from your Shopify admin to grant it." | Choose Allow Piste to read your sales reports on Piste's page in your Shopify admin. |
| "Shopify isn’t sharing sales reports with Piste yet, so yesterday’s numbers can’t show here. Ask in a chat and Piste reads them another way." | Reports also need Shopify's approval of Piste's access to customer data, which may still be pending. Ask in a chat meanwhile. |
| "Couldn’t read your store just now. Yesterday’s numbers will be here next time." | Open Home again later. |
| "Stock isn’t part of this yet: Piste can’t read your products and inventory. Reopen Piste from your Shopify admin to grant it." | Open Piste from your Shopify admin and grant the access it asks for. |
Why didn't a Shopify permission go through?
When Shopify's permission dialog is declined on Piste's page in your Shopify admin, the page says "Nothing changed. Piste can't <do this> until you allow it.", such as "Nothing changed. Piste can't change a price until you allow it." For older orders it says "Nothing changed. Piste can only see the last 60 days of orders until you allow it."
Press the same button again and approve. If it says "Piste couldn't ask Shopify for this access. Reload the page and try again." or "Piste couldn't reach the Shopify admin. Reload the page and try again.", reload it first.
Why can't I connect Slack?
| On the Connections page | During setup | What to do |
|---|---|---|
| "That Slack workspace is already connected to another Piste account." | "That Slack workspace is already connected to another Piste workspace." | Disconnect it in the other Piste workspace, or remove the app in Slack, then add it here. |
| "Slack wasn't connected." | "Slack wasn't connected: the install was cancelled." | Press Add to Slack again and approve. |
| "That Slack sign-in expired. Try again." | "That Slack install expired or was started in another browser. Try again." | Finish within 10 minutes, in the same browser. Press Add to Slack again. |
| "Slack couldn't be connected. Try again." | "Slack didn't finish connecting. Try again." | Try again. An org-wide Enterprise Grid install also ends here: install into a single Slack workspace. |
If Disconnect says "Slack didn't respond, so Piste is still connected there. Try again in a minute.", nothing was disconnected. Press it again in a minute.
Piste is connected. Message me here, or mention me in a channel I've been added to.
What it means: Slack is installed, but this install doesn't start Piste's onboarding conversation. Only a workspace's first Slack install, during setup or within 24 hours of finishing it, does that. What to do: Reply in that DM with a question. See Slack.
Why won't Piste answer someone in Slack?
Piste is for this workspace's members. To get your own, start at https://app.usepiste.com/sign-up
What it means: Only full, active members of the Slack workspace where Piste is installed can talk to it, and Slack says this person is a guest, deactivated or a bot. Only they see this. What to do: A full member asks instead. See Team and roles.
Only the workspace owner or the person who asked can approve this.
What it means: In a Slack conversation, only the owner or the person who started the thread can approve. Only the person who pressed sees this. What to do: Ask one of them, or start your own thread. See Approvals.
| Message | What to do |
|---|---|
| "Only the workspace owner can ask me to listen in a channel." | Ask the owner to say "@Piste listen in here". See Channels. |
| "I only listen in public channels. In a DM or a private channel, just ask me." | Ask Piste directly there. |
| "I don't listen in channels shared with another organisation." | Ask in one of your own channels. |
| "Piste here belongs to the Slack workspace it's installed in, so it can't act for people from another organization." | Shortcuts and /piste work only for people in the Slack workspace where Piste is installed. See Shortcuts and /piste. |
| "That message is too long to keep as one fact (memory keeps short ones, up to 300 characters). Tell Piste the fact in a sentence instead: mention it and say "remember that …"." | Mention Piste and tell it the fact. |
| "That's longer than Piste takes in one go (1000 characters). Shorten it and ask again." | Shorten your /piste question. |
| "Only the person who saved this, or the workspace owner, can undo it." | Ask them, or the owner deletes the entry on the Memory page. |
Why can't I decide a card?
Only the person who pressed sees these. See Proposals and cards.
| Message | What it means |
|---|---|
| "Only full members of this Slack workspace can decide on changes here." | Slack says you're a guest or deactivated. A full member decides it. |
| "Only the workspace owner can decide on this change: it was raised in a conversation, not by an automation in this channel." | A card raised in a conversation is the owner's alone. |
| "Only people in the Slack workspace this was posted in can decide on it." | You're from another organisation in a shared channel. |
| "Only the workspace owner can switch on taking orders past zero, since customers would buy what isn't in stock. Piste has asked them in this thread. Nothing was changed." | A pre-order is the owner's alone, wherever its card is. See Store edits. |
"Only <owner> can do this: it's their own Gmail. Piste has asked them in this thread." | A Gmail draft goes in the owner's own mailbox. See Connected apps. |
"<person> held this order, so only they or the workspace owner can release it here. Nothing was changed; anyone with access can release it in Shopify." | Ask them or the owner to press Release it, or release it in Shopify. |
| "Only the workspace owner can stop this watch." | Ask the owner to press Stop. |
| "Only the workspace owner can set up a watch, and they aren't in this conversation. Ask them, or ask your question in a channel they're in." | Only the owner's press of Keep me posted sets up a watch. |
| "Piste couldn't check this button just now, so nothing was changed. Try again in a minute." | Piste couldn't confirm with Slack who pressed. Press it again in a minute. |
Why did a card's button change nothing?
Nothing was changed: Piste needs Shopify's permission to <change> first. To give it, the store owner opens Piste in their Shopify admin and chooses "<button>". Then press the button again.
What it means: Your store hasn't given Piste this kind of permission: Allow Piste to change prices for prices and pre-orders, Allow Piste to change discounts, or Allow Piste to hold orders. Revert on a change follow-up says the same, starting "Piste needs Shopify's permission to". What to do: Grant it on Piste's page in your Shopify admin, then press the card's button again. See Shopify.
Someone already decided on this change: it's <state>.
For a store edit it reads "Someone already decided on this edit: it's <state>."
What it means: Someone decided first, in Slack or on the web, and a change is applied once. What to do: Nothing. A button the card no longer offers says "That button isn't available any more."
| Message | What to do |
|---|---|
"This was proposed on <date>, more than 7 days ago, so what it was based on is out of date and nothing was changed. Piste proposes it again if it still holds." | A store edit went out of date. Wait for Piste to propose it again, or ask for it. |
| "This was proposed more than 24 hours ago, so what it showed is out of date and nothing was changed. Look at the order in Shopify, where it can be held by hand." | An order hold went out of date. Hold the order in Shopify if you still want to. |
"This was proposed on <date>, more than 7 days ago, so it's out of date and nothing was done. Ask for it again if it's still wanted." | A Gmail draft went out of date. Ask Piste for it again. |
| "Shopify isn't connected to this workspace any more, so Piste can't change the store. Nothing was changed." | Connect the store again on the Connections page, then press the button again. |
| "Piste couldn't reach Shopify just now. Nothing was changed; try again in a moment." | Press the button again in a moment. |
"<item> couldn't be read in Shopify just now (<Shopify's answer>), so nothing was changed." | Shopify was busy or didn't answer when Piste checked the item before changing it, so the store edit failed. Ask Piste for it again in a moment. |
| "Shopify didn't answer, so Piste doesn't know whether this was changed. Check it in Shopify; Piste won't send it again." | Check the product, discount or order in Shopify yourself. |
"The price is <price> now, not what this follow-up recorded, so Piste left it as it is." | Revert puts things back only if nobody changed them since. A discount reads "The discount is <state> now, …". Change it in Shopify if you want to. |
| "Nothing was changed. A price probe needs the Change follow-ups automation running: it's the run that ends the probe and puts the price back. Start it in a Slack channel first, then try again." | Ask Piste to start Change follow-ups in a Slack channel, then press Start the probe again. |
"<n> more changes are waiting for a decision: a message holds only 10, so the next post carries them." | Decide the cards shown. The rest come with the automation's next post. |
Why didn't my automation run or post?
<automation> didn't finish. Open the run in Piste for details.
What it means: The run failed. Only the first failure in a row is posted, and Needs you lists it as "<automation> failed". A run that stopped while it waited for you says so, such as "<automation> didn't finish: it was still waiting for your approval. Open the run in Piste, where it can still finish." What to do: Open the run's chat to see why, or give it what it was waiting for.
Failed <n> times in a row. Only the first failure was posted; the next result that works is posted as usual.
What it means: The automation keeps failing. What to do: Open its latest run to see why. When it's a connection, the page offers Reconnect.
Dry run of <automation>
What it means: The banner adds "Nothing was changed and nothing was posted." This run was a test, from Try it now or a new template's first run, and replies in its chat stay a dry run. What to do: Press Run now for a real run.
| Message | What to do |
|---|---|
| "Your Shopify store isn’t connected" | The template reads your store, so each run stops until it's connected. Press Connect Shopify. See Templates. |
| "No ad account is connected" | Ad spend watch Early access reads a Google Ads or Meta account. Connect one if your workspace has them, or pick another template. |
| "No ad account is connected yet, so I've nothing to read. Connect Google Ads or Meta in Settings › Connections and the next run will have it." | Posted when Ad spend watch or the Monday budget memo Early access starts in its channel. Connect an ad account, or pause the automation. |
| "Your Shopify store isn't connected to Piste yet, so there's nothing to follow up. Connect it in Settings › Connections." | Posted when Change follow-ups starts. Connect your store on the Connections page. |
| "A store trigger runs when its condition matches. Try it now runs it once on what it matches today, as a dry run." | Run now doesn't start a store trigger. Press Try it now. |
| "Nothing in the store matches this trigger right now (orders from the last day, stock low now, or today's returns), so there's nothing to try it on yet." | No run started. Try again once something matches. |
"Skipped <n> runs because the one before was still going." | Nothing, or schedule it less often. |
| "Missed by more than 24 hours." | Piste found the run over 24 hours late and skipped it. The next one runs on time. |
| "The run stopped responding and was ended." | Press Run now, or wait for the next run. |
| "Could not start the run after 3 attempts." | Press Run now, or wait for the next run. |
Why can't I choose where results go?
| Message | What to do |
|---|---|
"Piste isn't in #<channel>. Invite @Piste to it first (/invite in that channel)." | Invite Piste with /invite in that channel, then save again. See Channels. |
| "Reinstall Slack to post in channels." | On the Connections page, press Add another workspace and pick the same Slack workspace. |
| "Slack isn’t connected, so results can’t reach it. Connect Slack or send them to the web." | Connect Slack, or send results to the web. |
| "Your number isn’t connected, so results can’t reach iMessage. Connect iMessage or send them to the web." | Connect iMessage, or send results to the web. |
Why does Activity say Refused?
An automation run has nobody to ask, so it skips a step that would need an approval, and the decision log on the Activity page says why. To do it, ask Piste in a conversation, where it can ask you first.
| Message | What it means |
|---|---|
| "Not called: this could change something, and an automation run can't ask anyone to approve it." | A call to one of your MCP servers that could change something |
"Nothing was done in <app>: an automation run can't send or change anything there, since nobody is there to approve it." | A write to a connected app. Runs only read from apps. |
Why did my ChatGPT plan stop working?
Piste's sign-in to ChatGPT (<email>) has expired or was signed out, so coder jobs can't run on your plan. Reconnect to keep using it, or disconnect to run jobs on Piste.
What it means: OpenAI no longer accepts Piste's sign-in. Needs you lists it as "Your ChatGPT plan needs reconnecting", and an agent running on the plan runs on Piste until you reconnect. What to do: Press Reconnect, or Disconnect to run jobs on Piste. See ChatGPT plan.
| Message | What to do |
|---|---|
"Plan limit reached. The agent runs on Piste until <time>." | Nothing. The agent moves back to your plan when its limit resets. |
| "That code expired before OpenAI approved it." | Press Get a new code and approve it on OpenAI's page. In Slack it reads "That code expired before OpenAI saw an approval, so it no longer works." |
| "OpenAI turned down that code. Get a new code to try again." | Press Get a new code. |
| OpenAI's page says "Enable device code authorization" | In ChatGPT's security settings, turn on "Device code authorization for Codex", then enter the code again. On a Business, Enterprise or Edu plan, a workspace admin turns it on. |
| "OpenAI isn't handing out sign-in codes right now, so ChatGPT can't be connected. Try again later." | Try again later. |
| "Couldn't check with OpenAI. Check your connection, then try again." | Check your internet connection, then press Try again. |
Why did my Claude plan stop working?
Claude Code's sign-in to your Claude plan (<email>) has expired or was signed out, so your coder jobs can't run on it. Reconnect to keep using it, or disconnect to run jobs on Piste.
What it means: A job found that Claude Code's sign-in no longer works, and the Claude card on the Connections page reads "Needs reconnecting". Jobs you start fail until you reconnect or disconnect. What to do: Press Reconnect and sign in again, or Disconnect to run jobs on ChatGPT or Piste. See Jobs and the coder.
| Message | What to do |
|---|---|
| "That doesn't look like Claude's code. Copy the whole code Claude shows, and paste it here." | Copy all of the code Claude showed you, and paste it again. |
| "That sign-in took longer than 15 minutes. Start again." | Press Start again, and finish within 15 minutes. |
| "Claude didn't accept that code." | Press Start again, then paste the new code Claude shows. The message adds what Claude Code said. |
| "Claude Code signed in without a Claude plan. Sign in with the Claude account that has your Pro or Max plan." | Press Start again and sign in with the account that has the plan. |
| "Claude Code couldn't be started. Try again." | Press Start again. |
Why did a job stop or fail?
| Message | What to do |
|---|---|
| "The job used its 60 minutes of working time and was stopped." | Time you hold its browser doesn't count. Ask for a smaller piece of the work, or press Retry. See Jobs and the coder. |
| "The job waited 1 hour 45 minutes for the workspace's other job to finish, and gave up." | One job runs at a time. Press Retry once the other job is done. |
| "Retry isn’t available yet for a job that wasn’t started from a chat." | Retry works from the web chat a job came from, and a job started in Slack has none. Ask Piste again. |
| "The chat this job came from has ended, so it can’t be retried there. Ask the agent for it again in a new chat." | Ask again in a new chat. |
| "This hand-off has already ended." | A job's browser hand-offs can last 45 minutes in all. Check the job page for what the coder did next. |
A job on a connected ChatGPT plan never moves to Piste's model, so its error says what to do: "Your ChatGPT plan hit its usage limit. Retry the job once it resets (chatgpt.com/codex/settings/usage shows when), or disconnect ChatGPT in Settings > Connections to run jobs on Piste.", "Piste's sign-in to ChatGPT has expired. Reconnect ChatGPT in Settings > Connections, then retry the job.", "Your ChatGPT plan doesn't include Codex, which coder jobs need. Upgrade the plan, or disconnect ChatGPT in Settings > Connections to run jobs on Piste.", "ChatGPT was disconnected, so this job stopped. Retry it to run on Piste, or connect ChatGPT again in Settings > Connections." or "ChatGPT didn't respond properly during the job. Retry it in a few minutes."
A job on your Claude plan never moves to Piste's model either: "Your Claude plan hit its usage limit. Retry the job once it resets (claude.ai/settings/usage shows when), or disconnect Claude in Settings > Connections to run jobs on Piste." or "Claude Code's sign-in to your Claude plan has expired or was signed out. Reconnect Claude in Settings > Connections, then retry the job." Any other failure shows Claude Code's own error.
Why was my MCP server refused?
That URL can't be used: <reason>.
What it means: Piste checks a server's address when you add it and before each connection. What to do: Fix what the reason names:
| Reason | What to do |
|---|---|
| remote MCP URL is invalid | Check the URL is complete, starting https://. |
| remote MCP URL must use https when authentication is enabled | Use https:// with a token or key. |
| remote MCP URL must not include credentials | Remove the user name or password, and use Authentication. |
| remote MCP URL must not include query parameters or fragments | Remove everything from ? or # on. |
blocked unresolvable address <host> | Check the host name exists. |
blocked non-public address <address> | Use a public address. Piste can't reach a private or office network. |
The form can also say "Give the server a name: letters, numbers and spaces, up to 60.", "There's already a server with that name, or one very like it.", "Enter the token or key the server expects." or "Enter the header name, like X-Api-Key." (Authorization can't be the header: choose Bearer token). See MCP servers.
Why didn't my iMessage code work?
That code didn't work. It may have expired, so start again in Piste and send the new text.
What it means: The code you texted was wrong, used or expired. A code lasts 15 minutes and works once, and a new one replaces earlier unused ones. What to do: On the Connections page, press Start again, or Connect iMessage if no code is showing, and send the new text. See iMessage.
| Message | What to do |
|---|---|
| "That took too long, so the code expired. Start again." | Press Connect iMessage for a new code. |
| "Couldn't check for your text. Reload the page, or start again." | Reload the page, or press Connect iMessage. |
| "This number is already connected to another Piste workspace. Disconnect it there first, then connect it again from here." | A number belongs to one workspace. Disconnect it there first. |
| "I don't know this number yet. To use Piste over iMessage, sign up at https://app.usepiste.com/sign-up and connect iMessage there." | Press Connect iMessage on the Connections page and text from this number. |
"This needs an approval before I go on. Your workspace owner can approve it in Piste: <link>" | iMessage has no buttons. Open the link, sign in, and press Approve or Deny. |
Why can't I connect Google Ads, Meta or an assistant?
Google Ads isn't switched on here yet.
What it means: Ad accounts can't be connected in your workspace yet. The Meta card reads "Meta Ads isn't switched on here yet." What to do: Nothing for now. See Google Ads and Meta.
| Message | What to do |
|---|---|
| "No ad account is connected yet, so there's nothing to measure. Connect Meta Ads or Google Ads at https://app.usepiste.com/settings/connections. Piste supports only those two." | Ad measurement, from Piste or from ChatGPT and Claude, needs an ad account. See ChatGPT and Claude. |
| "This Piste account isn't in a workspace yet. Open Piste and sign in once to set it up, then connect this assistant again." | Sign in at https://app.usepiste.com once, then connect the assistant again. |
| "This assistant's access to Piste was revoked. Connect it again from the assistant to continue." | Someone pressed Revoke on the Connections page. Connect it again from the assistant. |
Why can't I connect an app or save a memory?
| Message | What to do |
|---|---|
"<app> is still finishing its sign-in. Refresh in a moment." | Refresh the Apps page in a moment. See Connected apps. |
"<app> wasn't connected. Try again." | Press Connect again. |
| "That doesn't fit. Memory holds a few thousand characters in all, and one entry up to about 2,000. Remove something older, or shorten it." | Delete an older entry on the Memory page, or shorten this one. See Memory. |
| "That memory was removed or changed. Reload to see what's there now." | Reload the page. |
| "Memory isn't available right now" | Press Try again. |
What if a page or a chat fails?
| Message | What to do |
|---|---|
| "This page didn’t load" | Press Try again. If it keeps happening, email support@usepiste.com with the reference shown. |
| "There’s nothing at this address" | The link is old, or the page moved or was deleted. Press Back to Piste. |
| "Piste couldn’t finish that" | A web chat turn failed, with the reason under it, such as "The model is temporarily unavailable. Please try again." Press Retry. |
| "I hit an error while handling your request" | In Slack, a turn failed. Send your message again. |
| "Couldn’t save that. Try again." | A setup step didn't save. Press the button again. |
What if Piste doesn't reply at all?
- In a public channel, Piste answers only a mention, a reply in a thread it's in, or a reply under an automation's post, except in a listening channel.
- In a channel shared with another organisation, Piste answers nobody, unless the owner opened it as an agency room Early access.
- A new top-level message, in a DM too, starts a new conversation. See Conversations.
- A quiet automation run, one with nothing worth saying, stays in its chat in Piste. A run with cards always posts.
- Quiet hours hold posts outside a conversation until your working hours. Replies to you are never held. See Quiet hours and digests.
When Piste can't do what you ask, it says why in its reply. Only the owner can create or change automations, run coder jobs or connect a Claude or ChatGPT plan, and paid data tools stop for the month at the allowance, which the owner sets on the Connections page.
If something here doesn't match what you see, email support@usepiste.com. The FAQ answers the questions merchants ask most.