Troubleshooting
The most common problems and how to fix them. If none of these helps, email support.standcast@usefachada.dev.
I did not get a reminder
Reminders go only to people who have not sent the daily, at most once per day, at remind_at and before digest_at. If the worker was down, a reminder can be up to 60 minutes late, but it is never sent at or after digest_at. Check that you did not send the daily already, that today is a workday in the team's workdays, and that the setup page has no no_chat_identity delivery for you.
no_chat_identity
Standcast has no Slack user for you, so it cannot send you a reminder or a routed blocker. The failed delivery shows on the setup page. Sign in again with standcast login after Slack was connected, or ask your admin to add members.<your-login>.slack to standcast.yml. See My name shows as @login.
no_route_target
A blocker was reported but there was nobody to send it to at all. This happens, for example, when the author is the team's only manager: the author never receives their own blocker, so the list of recipients is empty. Ask your admin to add another manager to the team, then tell the right people by hand. A manager who exists but has no Slack identity shows as no_chat_identity with their login instead.
Nobody received my blocker
- Blockers are routed once. A blocker with a link is identified by the link: rewording it, or sending the daily again, does not send it again. A blocker without a link is identified by its text. At most 10 different blockers per daily are routed.
- The link decides. A pull request in your own organization goes to its requested reviewers, then its CODEOWNERS. A link to another organization, a malformed link or a missing pull request goes to the managers. Without a link, it goes to the managers.
- You are never a recipient of your own blocker.
- People need a Slack identity. If none of the people found has one, the blocker goes to the managers. A manager without one shows on the setup page as
no_chat_identitywith their login. If there is no manager to send it to at all, the setup page showsno_route_target.
My name shows as @login
The digest shows @ and your GitHub login, as plain text, when Standcast does not know your Slack user. Your Slack user is linked when you sign in, so check:
- You signed in after Slack was connected. Run
standcast loginagain. standcast.ymlhad a valid version when you signed in. If it was missing or had never been valid, runstandcast loginagain after it is fixed.- Your emails match. Standcast looks up your Slack user by the primary verified email of your GitHub account. If your Slack account uses another email, ask your admin to add
members.<your-login>.slackwith your Slack member id tostandcast.yml(see Identity mapping). The mapping is used from the next digest on.
The setup page shows a notice about a GitHub team
The notice says that a GitHub team named in standcast.yml was not found, or is too large. For a team that was not found, check the name in members and that the GitHub App has the Members organization permission, which an owner of the organization must approve. For a team that is too large, only the first 5,000 members are used; list the rest by login. The notice goes away once the next configuration load no longer finds the problem.
How do I sign out of the setup page?
Use Sign out at the top of the setup page. It ends the web session on the server. The CLI session is separate: run standcast logout.
Slack stopped finding me
When Slack answers user_not_found or user_disabled for a person, Standcast removes the stored Slack identity automatically, so it does not keep sending messages to the wrong place. Sign in again with standcast login to link your current Slack user.
The setup page says the Linear connection stopped working
The setup page says that the connection to your Linear workspace "stopped working". Linear stopped accepting the connection, usually because access was revoked in the Linear workspace. Ask an admin to click Reconnect Linear on the setup page. Until then Linear features pause silently: drafts have no cards, card blockers go to the managers, and card suggestions are kept as they are. If the admin reconnects a different workspace, the Linear links are cleared and made again when people sign in.
My cards do not show in the draft
- Linear is connected. Check the setup page. If it says the connection to the workspace "stopped working", ask an admin to reconnect. The Reconnect Linear button is always there for admins, so its presence alone does not mean anything is wrong.
- Your first team uses Linear. Cards come from the tracker of your first team in
standcast.yml, the first one that lists you. Checktracker: { provider: linear, team: <KEY> }on that team. The team key limits the cards to that Linear team. - You are linked to your Linear user. Standcast uses
members.<your-login>.linear(an email) or, without it, your primary verified GitHub email. If your Linear email is different, ask your admin to setmembers.<your-login>.linear. Links are made when you sign in after Linear is connected, so runstandcast loginagain. - The card moved in the window. Only cards you own that moved to in progress, or were completed, since your last daily show up. Cards from another Linear workspace are never read.
The digest did not arrive
Open the setup page and check, in order:
- The configuration state. If it is not configured, or invalid with no valid version in use, Standcast does not run. If it is invalid after a valid version, Standcast keeps using the last valid version, so a change you just pushed is not applied yet. See Configuration states.
- Slack is connected. Otherwise the delivery fails with
no_chat_connection. Only an admin can connect Slack. - "Latest failed deliveries" for the team and date. The error code tells what happened; see Delivery errors. A private channel needs the bot invited, or the error is
channel_not_found. - Today is a workday in the team's
workdays, anddigest_atis in the team'stimezone. A digest is not sent more than 120 minutes afterdigest_at. - The team uses
chat.provider: slack. Google Chat is coming soon.
"More than one organization" or exit code 3
You belong to more than one organization with Standcast. Pass --org to the CLI (for example standcast draft --org acme) or tell your agent which organization to use. If the message says no organization has Standcast installed, see the next problem.
My organization is missing, or org_not_found
Your saved session lists the organizations from when you signed in. If the app was installed in your organization after that, or you just joined it, run standcast login again. If it still fails, check that you are a member of the organization on GitHub.
org_not_configured
The organization has no valid standcast.yml in use: the file is missing, or it has been invalid since it was created or since it was deleted. An invalid push right after a valid version does not cause this error, because Standcast keeps using the last valid version. Ask your admin to check the setup page.
not_in_team
You are not in any team of standcast.yml. Ask your admin to add your GitHub login, or a GitHub team you belong to, to members.
My token expired, or exit code 2
The CLI session expired (after 90 days without use) or was revoked. Run:
standcast loginIf the message says the stored credentials belong to another API, you are using a different API URL than the one you signed in with. Sign in again with that URL: standcast login --api-url <url>.
The daily is invalid, or exit code 4
Each item must be one line of 1 to 500 characters, with no tabs or control characters, and today needs at least one item. Link URLs must use http or https. The message lists each issue by field, such as today: Too small: expected array to have >=1 items.
rate_limited
You sent too many requests in a minute. Wait the number of seconds in the message and try again.
My API key gets 401 or 403
401 unauthorized: the key is missing, mistyped or revoked. API keys work only under/v1/org.403 insufficient_scope: the key lacks the scope named inrequired_scope. Create a key with that scope.
My webhook endpoint was disabled
It failed 20 deliveries in a row. Fix the receiver, add the endpoint again on the setup page and use the new secret. Use Send test event to check it. See Webhooks.
The Standcast config check failed
A push or pull request in the .github repository changed standcast.yml and it has errors. Open the check: each error is an annotation on its line, and the summary lists all of them. Fix them and push again. The last valid version stays in effect meanwhile. If the file does not exist, there is no check.