Help
Troubleshooting
Symptoms, causes and fixes for common Startica problems, from port conflicts and product database errors to slow Reddit scans, accessibility and security scans, ad creatives, issue trackers, updates and stuck jobs.
Each problem below lists the symptom, the cause and the fix. If yours isn’t here, check the FAQ or ask in GitHub Discussions.
The System page
Open System in the sidebar. It shows:
- Job runs: the latest 20 background jobs, with status, attempt and Result / error.
- AI calls: every AI request, with status (
ok,error,refused,blocked), tokens, cost and latency. - AI spend this month and whether the API key for your AI provider (Anthropic API key or OpenAI API key) is configured.
Most failures show their error message here.
The logs
Startica doesn’t write a log file. It prints its log, including background job results (lines tagged [jobs]), to the terminal it was started from.
- Dev mode: the terminal running
yarn dev:desktop. - A built copy: start it from a terminal to see its log.
macOS
/Applications/Startica.app/Contents/MacOS/Startica
Linux
./apps/desktop/dist/Startica-*.AppImage
Windows
Run Startica.exe from its install folder in a terminal. Untested.
The welcome wizard keeps coming back
Symptom. Every page sends you to Welcome to Startica.
Cause. The wizard opens while there’s no product and you haven’t finished or skipped it. That’s every fresh data folder: a new install, a deleted or renamed data folder, or a new STARTICA_DATA_DIR.
Fix. Add your product in step 2 and click Finish, or click Skip setup. Either way it won’t open by itself again in that data folder. If you skip without a product, Today links back to the wizard (“Set up your first product”).
If you see the wizard while expecting your data, check that Startica is using the data folder you think it is (an unset or different STARTICA_DATA_DIR). See Data folder.
Stuck in the demo
Symptom. Startica keeps opening Fieldnote with the “Demo:” banner, or the demo won’t start.
Cause. Demo mode is remembered in startica-mode.json in the data folder, so Startica starts in the demo until you leave it.
Fix. Click Leave demo in the banner; Startica restarts with your own data. If the app won’t start in the demo, quit Startica (Quit Startica in the tray menu), then delete startica-mode.json from the data folder, or change it to {"demo":false}, and open Startica again. Your own data was never touched. See Try the demo.
No demo link on the welcome page
Cause. Look around with a sample product first needs the desktop app, because it restarts the app. The browser run (yarn dev:desktop-web) doesn’t show it.
Fix. Use yarn dev:desktop or an installed build, or load the sample product into its own folder with yarn seed:demo. See Try the demo.
Port 58300 in use
Symptom. A dialog says “Startica couldn’t start” or “The Startica server stopped while starting”. In dev mode, the terminal shows “Port 58300 is already in use. Is Startica already running?”
Cause. Startica’s local server uses port 58300 unless you set PORT. Something else is already listening there. Usually that’s yarn dev:desktop-web in another terminal, or a leftover Startica process.
Fix. Find what’s using the port and stop it.
macOS
lsof -iTCP:58300 -sTCP:LISTEN
Linux
lsof -iTCP:58300 -sTCP:LISTEN
Windows
netstat -ano | findstr :58300
You can also move Startica to another port with the PORT environment variable. See Environment variables.
Second launch focuses the window
Symptom. You start Startica again, and nothing new opens. The existing window comes to the front.
Cause. This is intended. Only one copy of Startica runs at a time. Dev mode and a built copy share this lock too, because they share the same data folder.
Fix. Nothing to fix. If you want to start a different copy (for example dev mode instead of the installed app), quit the running one first with Quit Startica from the tray or menu bar icon. Closing the window isn’t enough: Startica keeps running in the background.
If no window appears and you can’t find the tray icon, a stale process may be holding the lock. On macOS or Linux, list it:
pgrep -fl Startica
The product database won’t connect
Symptom. I ran it: test and save (or Test and save) shows an error, or the Product database card in Settings → Products → Connections shows Error.
Cause and fix. Read the message. The common ones:
- “The read-only login doesn’t exist yet…” or “startica.daily_metrics doesn’t exist yet…”: the setup SQL hasn’t run in this database. Copy it from step 2 and run it in Supabase’s SQL Editor or with
psql, then test again. - “The read-only login’s password doesn’t match…”: run the SQL shown in the dialog again, wait a minute (Supabase’s pooler takes a moment to pick up a new password), then test again.
- “This login is a superuser”, “…can create roles”, “…bypasses row-level security” or “…can change data”: Startica refuses any login that can do more than read. Use the guided Set up, which connects as
startica_reader, instead of an admin URL. - “Couldn’t reach the database…”: check the host, port, firewall and allow-lists. On Supabase, use the Transaction pooler connection string.
- A Postgres error such as
relation "public.event" does not existwhile you run the SQL: a table or column name in step 1 is wrong. Fix it, click Write the SQL again and run the new script.
Every message and its fix: Product database troubleshooting.
Google Analytics doesn’t sync
Symptom. The Google Analytics 4 card in Settings → Products → Connections shows Error.
Cause and fix. Read the error under the card:
- “No credentials saved for this connection”: the connection was made with Connect with Google, which older versions had. It has no key of its own. Click Replace key and paste a service account key.
- “The GA4 key isn’t valid JSON: paste the whole .json file” or “The GA4 key isn’t a service account key: reconnect GA4 in Settings → Products → Connections”: click Replace key and paste the whole
.jsonfile of a service account key. - A permission error: the service account isn’t a Viewer on the property, or the property ID belongs to another property. Add its email under Admin → Property access management in GA4.
A service account key doesn’t expire, so a connection that worked won’t sign itself out. See Google Analytics.
Umami doesn’t sync
Symptom. The Umami card in Settings → Products → Connections shows Error, or the connect dialog won’t save.
Cause and fix. Read the error under the card or in the dialog:
- “Umami refused the credentials: …”: the API key was deleted or mistyped, or the user name or password is wrong. Umami Cloud only takes API keys, not
username:password. Create a new key and click Change. - “Umami has no website with that ID for these credentials (or the server address isn’t your Umami). …”: copy the Website ID again from Settings → Websites → Edit in Umami, check Server, and check that the key’s user can see the website. A view-only user only sees websites in a team it’s in.
- “That address didn’t answer like Umami’s API: …”: Server isn’t your Umami. Enter the address you open Umami at.
- “This Umami user signs in with two-factor authentication, …”: use an API key, or a view-only user without two-factor sign-in.
- “Umami didn’t find …: check the server address, or update Umami.”: Server doesn’t point at your Umami. Enter the address you open Umami at.
- “Umami is limiting requests right now; …”: wait, then click Sync now.
Every message and its fix: Umami troubleshooting.
Search Console or Bing doesn’t sync
Symptom. The Google Search Console or Bing Webmaster Tools card in Settings → Products → Connections shows Error, and SEO & GEO → Search says “Last sync failed:”. Problems with the property, site or key usually show earlier, in the connect dialog, since Startica checks access before saving.
Cause and fix. Read the error:
- “The Google Search Console API isn’t turned on for the service account’s Google Cloud project.”: enable the API in that project, then sync again.
- “Search Console didn’t let the service account read this property (…)”: the service account was removed from the property. Add it again under Settings → Users and permissions in Search Console.
- “This connection uses the GA4 key, but GA4 isn’t connected for this product.”: reconnect GA4, or give Search Console a key of its own.
- “Bing refused the API key.”, or “The Bing key can’t read …”: generate a new key, or enter the site exactly as Bing lists it.
Every message and its fix: Google Search Console and Bing Webmaster Tools.
Keychain prompts
Symptom (macOS). A dialog says Startica wants to use confidential information stored in “Startica Safe Storage” in your keychain.
Cause. Startica encrypts your API key, tokens and connection credentials with the macOS Keychain. Because builds aren’t signed, macOS may treat each new build as a different app and ask again after you rebuild or update.
Fix. Enter your login password and click Always Allow. If you click Deny, Startica can’t read or save secrets until you allow it.
Symptom (Linux). The terminal shows “No system keyring found; secrets are only lightly protected on this computer.”
Fix. Install and unlock a keyring that supports libsecret, such as GNOME Keyring or KWallet, then save your secrets again in Settings.
Secrets after switching modes
Symptom. After switching between the desktop app and browser mode (yarn dev:desktop-web), Settings or System shows an error instead of loading, or an AI job fails with “Unreadable secret” or “This secret was saved outside the desktop app; save it again in Settings.”
Cause. The two modes encrypt secrets differently. The desktop app uses the OS keychain. Browser mode uses a key file in the data folder. Both use the same database, but neither can decrypt the other’s secrets.
Fix. Go back to the mode you saved the secrets in. To use browser mode for testing without this clash, give it its own data folder:
STARTICA_DATA_DIR=/tmp/startica-browser yarn dev:desktop-web
Few Reddit results
Symptom. Scans finish, but the Inbox stays nearly empty, or only Hacker News threads show up.
Causes and fixes:
| Cause | Fix |
|---|---|
| No subreddits are watched. | On Intel → Communities, click Watch on a few subreddits. The Inbox shows a notice while none are watched. |
| The product has no brief yet. | Scans skip products without one. Build intel first. |
| A subreddit name is misspelled, private or banned. | It’s skipped silently. Check the name (no r/ prefix) by opening https://www.reddit.com/r/<name>/. |
| Only the first 10 watched subreddits are read. | Keep the list short and active. |
| Keyword searches are limited. | Reddit gets at most 3 keyword searches per scan, inside your watched subreddits. Put your best keywords first by adding them yourself: your own keywords are searched before AI ones. |
| Threads were scored as not relevant. | Check the Archived tab. Improve the brief or your notes, or use Draft a reply anyway. |
| Threads are too old. | Scans look back about a day, and threads older than 7 days aren’t scored. |
No Bluesky, Mastodon or Discourse results
Symptom. Scans finish, but nothing arrives from one of these channels.
| Channel | Cause | Fix |
|---|---|---|
| Bluesky | Bluesky is searched with your first 10 listening keywords. Vague or very niche keywords find nothing useful. | Check the Keywords tab. Put your best keywords first by adding them yourself. |
| Mastodon | No hashtag is watched. New Mastodon communities must be hashtags; one saved in an earlier version that isn’t is marked in red on Intel (“Startica can’t read this: write it as a hashtag on a server…”). | Watch a Mastodon community named #tag@server, for example #fieldwork@mastodon.social. A small server only sees posts from servers it’s connected to; a large one sees more. |
| Mastodon | The server is down or refuses unauthenticated requests. | Try another server for the same hashtag. |
| Discourse | The community’s URL is empty and its name isn’t an address (possible for forums added in an earlier version; new ones need the address). Intel marks it in red: “Startica can’t read this forum: add its address as the URL.” Until you add it, the forum is skipped silently. | Edit the community and put the forum’s address in URL, for example https://forum.example.com. |
| Discourse | The forum isn’t among the first 5 watched forums; only those are read. | Ignore forums you don’t need, so the ones you care about are among the first 5. |
| Discourse | The forum is private (login required), down or rate-limiting. | Open the forum in a private browser window. If you can’t read it without signing in, Startica can’t either. |
| All | Threads were scored as not relevant. | Check the Archived tab. |
| All | The source failed during the scan. A failing source is skipped and the rest of the scan continues. | On the System page, open the latest listen_scan run: its result lists each failed source’s error under errors. |
X search fails
Symptom. You added an X API token, but no X posts arrive. The X API (optional, paid) card in Settings may show “Last X request failed: …” in red.
Causes:
- No credits on your X developer account (“Last X request failed: No X API credits left.”), a token that was revoked or regenerated (“Last X request failed: X refused the token (revoked or without access).”), or X’s rate limit (“Last X request failed: X rate limit; Startica tries again next scan.”). An X error doesn’t stop the scan: the other sources are read and scored as usual, and X is tried again at the next scan.
- The daily read cap is used up. The X API (optional, paid) card shows “Reads today (UTC): n of cap”. With fewer than 10 reads left, X searches are skipped until midnight UTC.
- Not due yet. X is searched at most every 6 hours by default, not every hour.
- No listening keywords. X uses your first 3.
Fix. Add credits or a new token in X’s console, then click Change on the card and paste the new token. If you don’t want X search for now, click Remove. See X API.
Scans are slow
Cause. Reddit’s public feeds allow about one request a minute, and Startica waits between requests to respect that. A scan of 10 subreddits plus 3 searches takes up to about 15 minutes. If Reddit answers with a rate-limit error, Startica waits and retries once. Each watched Discourse forum adds up to about 1.7 minutes (at most about 22 requests), because Startica spaces requests to a forum 4.5 seconds apart to stay under its limit for anonymous visitors. Forums are read one after another, and only the first 5 are read, so forums add at most about 8 minutes.
Fix. None needed, but keep the lists of watched subreddits and forums short. Each source’s results are queued for scoring as soon as that source is done, so they appear in the Inbox without waiting for the whole scan. Hacker News, Bluesky and Mastodon are fast. Pasted Reddit links take up to a minute for the same reason.
Accessibility scans
These are for scans in Accessibility. A page that couldn’t be checked shows its reason on the Pages screen; a scan that failed shows its error in the Scans list on the Overview.
Scans run in the desktop app
Symptom. The Overview says “Accessibility scans run in the Startica desktop app.” and Scan now is disabled.
Cause. Scans need a browser. The desktop app has one built in. Browser development mode (yarn dev:desktop-web) uses Playwright’s Chromium, which isn’t installed.
Fix. Use the desktop app (yarn dev:desktop or a build). In browser development mode, install Chromium once and restart the server:
yarn workspace @startica/desktop-web playwright install chromium
In demo mode scans are always off (“Scans are off in the demo, like every other outside call. The results below are sample data.”). Leave the demo to scan your own sites.
No page could be checked
Symptom. A scan ends as failed with “No page could be checked”, sometimes followed by a reason.
Cause. Every page the scan tried was skipped or failed. Common reasons:
- The Start address is wrong, or the site is down.
- The start page needs signing in, so it answers with an error or redirects to a sign-in page on another domain.
robots.txtdisallows everything (common on staging and development servers).- Only pages matching matches nothing the scan can reach.
Fix. Open the start address in your browser to check it loads without signing in. Check Site settings. For your own staging or development site, untick Follow the site’s robots.txt. Then click Scan now again.
Pages skipped by robots.txt
Symptom. Pages lists pages as skipped with “Blocked by the site’s robots.txt”.
Cause. Follow the site’s robots.txt is ticked (the default), and the site’s robots.txt disallows those paths for all agents.
Fix. That’s intended for sites you don’t run. For your own site, untick Follow the site’s robots.txt in Site settings and scan again. Pages that redirect to another site (“Redirects off the site, to …”) are skipped too, and always will be.
Pages that couldn’t be checked
Symptom. Pages checked on the Overview says “N couldn’t be checked”, and Pages lists those pages as failed.
Causes and fixes:
| Reason shown | Cause | Fix |
|---|---|---|
| “The page answered HTTP 404” (or another code of 400 or more) | The page is missing, needs signing in, or the server errored. A broken link on the site leads to a 404 here. | Fix or remove the link on the site, or add the path to Skip pages matching. |
| “The page took longer than 30 s” | The page took more than 30 seconds to load. | Check the page in your browser. Then use Recheck page on its report. |
| “The scanner returned no results for this page” | The page loaded but the checks couldn’t run on it, for example because it navigated away while loading. | Recheck the page. If it keeps happening, skip it with Skip pages matching. |
Failed pages don’t count toward the site’s score.
Fewer pages than expected
Cause. A full scan only finds pages that the sitemap lists or that are linked from pages it checked, up to 6 links deep and up to Most pages per scan (250 by default). Pages excluded by Only pages matching or Skip pages matching, sign-out and delete links, /api/ addresses and files such as PDFs are never checked.
Fix. Raise Most pages per scan in Site settings, add the missing pages to the site’s sitemap, or check a single page with Check a page.
Security
These are for Security. Security checks and monitoring run only on sites you’ve proven are yours.
Verify doesn’t verify the site
Symptom. You press Verify on Security → Overview, and the lines under it say why each method didn’t work.
Cause and fix. Read the line for the method you used:
- “No matching TXT record yet (DNS changes can take a while to appear)”: the record isn’t visible yet, or it’s on another name or has another value. Startica looks on the site’s host name and on the same name without
www., for exactly the value shown (startica-verification=followed by the code). Wait up to an hour, then press Verify again. To see what DNS answers, rundig +short TXT fieldnote.example. - “https://fieldnote.example/.well-known/startica-verification.txt answered HTTP 404”: the file isn’t at that address. It must be at the root of the site’s host name, even if the start address has a path. Some site builders and hosts leave out folders whose names start with a dot, so check that
.well-knownwas published. - “… answered without the code”: the address answered, but not with the code shown. Copy the code again. A sign-in page or a page that answers every address gives this too.
- “… couldn’t be reached”: the site didn’t answer. Check the start address in Site settings.
- “Search Console isn’t connected for this product”: use the DNS record or the file, or connect Search Console.
- “Search Console is connected, but its last sync failed”: fix the connection first. See Google Search Console.
- “The Search Console property (https://www.fieldnote.example/) doesn’t cover this site”: a URL-prefix property covers only addresses that start with it, so
https://www.doesn’t coverhttps://withoutwww., orhttp://. A domain property (sc-domain:fieldnote.example) covers the domain and every subdomain.
In the demo, Verify is disabled (“Verification is off in the demo.”). See Prove the site is yours.
Security checks don’t run
Symptom. Findings or Report says “Security checks are off until you prove the site is yours.”, Monitoring says “Monitoring starts once you prove the site is yours.”, or Check now says “Verify the site first”.
Cause. The site isn’t verified. Changing a site’s start address to a different host name (for example from fieldnote.example to app.fieldnote.example) undoes its verification. Changing only the path doesn’t.
Fix. Open Security → Overview and press Verify. The code stays the same after a host change, so a DNS record or file you already published still counts if it’s on the new host name.
Once verified, the Overview says “Run a scan to check the site”. The checks run as part of scans, so press Scan now.
“Some checks couldn’t run last time”
Symptom. Security → Monitoring shows “Some checks couldn’t run last time:” with one or more lines.
Cause. An outside service that monitoring reads was down, slow or limiting requests. Each line names the part that failed and why, for example:
- “Certificate logs and DNS: crt.sh answered HTTP 502”, or a timeout: crt.sh is a free public service and is often busy.
- “Vulnerability databases: api.osv.dev answered HTTP 429”: OSV.dev, FIRST EPSS (
api.first.org) or CISA’s KEV list (www.cisa.gov) failed or was limiting requests.
Fix. Usually nothing. The other parts still ran, and findings from the part that failed stay as they were. Monitoring runs again every day at 06:47 and after each full scan, or click Check now later. See Outside services.
No subdomains, certificates or look-alikes
Cause. Sites on your computer or network (localhost, private addresses) and sites at reserved names (.example, .test, .invalid) aren’t in public certificate logs or DNS, so monitoring skips that part for them. Libraries and third-party scripts are still checked.
For a site at a reserved name, monitoring doesn’t start after a scan, and Check now says “Monitoring is already running for this site” without starting a run. The daily run still checks it.
Elsewhere, “Monitoring is already running for this site” means a run is waiting or running. Jobs run only while Startica is open.
SEO & GEO
Each SEO & GEO screen has a troubleshooting table with every message: AI visibility, Agents, Off-site presence and Opportunities. The common problems are below.
AI visibility won’t run
Symptom. Run now on SEO & GEO → AI visibility is disabled, or clicking it shows an error.
Cause and fix:
- Disabled, with “Add an AI key in Settings first” when you point at it: there’s no Anthropic or OpenAI key. See No AI API key.
- Disabled, with “AI is off in the demo”: leave the demo to run your own product.
- Disabled with no reason, or “Add some questions first”: the product has no active questions. Add or resume some, or click Suggest questions.
- “A run is already going”: wait for it, or stop it.
An AI visibility run stopped or failed
Symptom. A note above the tiles, for example “Last run (yesterday): Stopped at the $2.00 cap after 31 of 60 questions.” It’s red when the run failed.
Cause and fix:
- “Stopped at the $n cap after n of n questions.”: the run reached its Cost cap per run ($2 by default). The answers so far count. Raise the cap in Settings on the AI visibility screen, or pause some questions.
- “Monthly AI budget reached ($n of $n)”: see Budget cap reached. The run keeps the answers it got.
- “No Anthropic API key: …”, “No OpenAI API key: …” or “Unknown model …”: the
answerorscoretask uses a model whose provider has no saved key. See No AI API key. - Failed on single questions: any other error fails only that question, and the run carries on. Read the answer shows the error. If every question fails, the run fails with the first error as its note.
No weekly AI visibility run
Cause. Weekly runs are off by default. With Run every week on, a run starts on Mondays at 09:30, and only if Startica is open, an AI key is saved, the product has active questions and no run is going. A missed Monday isn’t caught up.
Fix. Turn on Run every week in Settings on the AI visibility screen, or click Run now.
Agents or Off-site checks fail
- Agents says “The last check didn’t finish: …”: the check failed with that error and isn’t retried. Click Check now. If most checks say “couldn’t be fetched”, the site was down, slow or at a reserved name. See Agents troubleshooting.
- Off-site presence shows “Couldn’t read it” or “Its robots.txt asks not to be read” on a card: the page timed out, failed or asks not to be read. Startica doesn’t read it; open the page yourself. See Off-site troubleshooting.
Ad creatives
These are for Creatives on an ad campaign.
Can’t draw a picture with AI
Symptom. In the creative dialog, Draw it with AI is greyed out with “needs an OpenAI key in Settings”, Draw again is disabled, and the Sizes card says “no OpenAI key yet: upload pictures instead, or add a key in Settings”.
Cause. Pictures are drawn only by OpenAI’s image models, so they need an OpenAI API key, even if Claude is your provider for everything else.
Fix. Add an OpenAI key in Settings → General → AI. Or choose Upload my own or No picture, just the words, which need no AI. See The picture.
A creative fails to draw
Symptom. The creative shows Failed, or keeps its earlier images, with a red message.
Cause and fix:
- “Leave name out of the picture: ads can’t show other brands”: what the picture shows names a competitor from Intel. Click Edit and remove the name.
- “OpenAI declined to draw this (…)”: OpenAI’s moderation refused the description. Change what the picture shows (no real people, brands or health claims) and draw again.
- “Monthly AI budget reached ($n of $n)”: see Budget cap reached. Pictures count toward the monthly budget.
- “No OpenAI API key: …”: the key was removed. See No AI API key.
A failed drawing isn’t retried by itself. What it cost still shows on the card.
A creative fails to render
Symptom. The creative shows Failed after Rendering.
Cause and fix:
- “Images can’t be rendered here: open Startica’s desktop app (or install Playwright’s Chromium for browser dev mode)”: you’re in browser development mode without Chromium. Use the desktop app, or install Chromium as in Scans run in the desktop app.
- “The width×height image is bigger than the platform takes”: even as a JPEG at quality 75, that size is over the platform’s file limit. Try a less detailed picture or another template.
- “The picture is missing: draw or upload it again”: the picture’s file is gone from the data folder. Click Edit and draw or upload it again.
After fixing the cause, click Render again (the arrows icon). See Rendering.
Words shrunk or cut off
Symptom. Above the downloads: “The words don’t fit at 1.91:1: they’re cut off.” or “The words had to shrink a lot to fit at 1.91:1, so they may be hard to read.”
Cause. The headline, supporting line and button don’t fit their space at that size, even after the template shrank them. Wide sizes have the least room.
Fix. Shorten the headline or supporting line, or try another template. See Templates.
Issue trackers
These are for GitHub and GitLab issues.
GitHub or GitLab won’t connect
Symptom. Save and check shows an error, and the Issue tracker card in Settings → Products shows Error with the reason in red.
Cause and fix:
- “Reading the repository failed: the token is invalid or expired” (GitLab: “Reading the project failed: …”): the token was mistyped, revoked or has expired. Create a new one and save it with Change.
- “… failed: the token isn’t allowed to do this (check its permissions)”: on GitHub, give the token Issues: Read and write. On GitLab, it needs role Reporter or higher and scope api.
- “… failed: repository not found, or the token can’t see it”: check the repository path and that the token has access to it. For GitHub Enterprise, Server must end in
/api/v3. - “Issues are turned off for repository”: turn on issues in the repository’s settings.
- “Couldn’t reach host (…)”: check the Server address and your connection.
Every message and its fix: When the check fails.
Issues aren’t opened or closed
Symptom. A scan finishes, but no issues appear in the repository, or fixed problems’ issues stay open.
Causes:
- Open issues automatically after each scan is set to No, only when I click Create issue (the default), or to an impact higher than the new problems.
- Startica opens at most 10 issues per run, most important first. The rest are opened after the next scans.
- Close the issue when Startica sees it fixed, and reopen it if it comes back is unticked.
- A request failed, for example after the token expired. The Issue tracker card shows the error in red, such as “Opening the issue failed: the token is invalid or expired” or “Closing the issue failed: …”. A failed sync is tried once more, then waits for the next scan.
- Issues are opened and closed after a scan or check finishes, and only while Startica is open.
Fix. Check the settings and the error on the card, fix the token with Change, then run a scan. Startica doesn’t notice issues that people close, reopen or delete in the repository. See Closing fixed issues.
Posting with Startica
These are for the Post with Startica window that Post… opens (beta). In every case, Copy & open thread (or Copy) and Mark as posted still work. See Posting with Startica.
No Post… button
Cause. Post… appears only in the desktop app, only on drafted Inbox replies and unposted Content Studio pieces, and only for X, Hacker News, Reddit, LinkedIn, Bluesky, Mastodon and Discourse. It’s hidden in browser mode (yarn dev:desktop-web) and for Facebook, blog, newsletter, email and other channels. On the supported sites it’s also hidden when:
- the item is a thread on X, Bluesky or Mastodon,
- the text is over the site’s limit (X 4,000 characters, LinkedIn 3,000, Mastodon 500, Bluesky 300),
- it’s for Mastodon and no server is set in Settings → Channels → Posting,
- it’s a Content Studio piece for Discourse and the product has no watched Discourse forum,
- the Inbox link isn’t a post link (for example an X or LinkedIn profile).
Fix. Use the desktop app (yarn dev:desktop or a build). Set your Mastodon server, watch a Discourse forum, or shorten the text (a Mastodon reply’s @author mention counts toward its 500 characters). Otherwise copy and post by hand.
A Hacker News, Reddit or Discourse piece with no title still shows Post…; clicking it says “Add a title first: this channel’s posts need one”. Fill in the Title and click it again. See Posting with Startica.
“Sign in on this page first”
Cause. You’re not signed in to the site in the posting window. Its sign-ins are separate from your normal browser.
Fix. Sign in on the page, then click Fill in again in the bar. You only need to do this once per site; Startica keeps the sign-in between launches.
Sign-in refuses the window
Symptom. Signing in to X or Reddit fails in the posting window: a “Sign in with Google” or “Sign in with Apple” page says the browser isn’t supported or secure, or the site’s own sign-in keeps failing.
Cause. Some sign-in pages refuse browsers embedded in apps. The posting window presents itself as plain Chrome, but a site can still detect it.
Fix. Sign in with the site’s own username (or email) and password instead of Google or Apple, if your account has one. If the site still refuses, use Copy & open thread for that site and post in your normal browser.
A Discourse forum can sign you in with Google, Apple, GitHub, GitLab, Discord or Microsoft inside the posting window. A forum with its own single sign-on elsewhere (a company login, for example) can’t finish signing in there: that page opens in your normal browser. Use the forum’s own username and password if it has them, or copy and post by hand and use Mark as posted.
“Couldn’t find where to fill it in”
Cause. The reply or post box wasn’t where Startica expected it: the site changed its layout, a CAPTCHA or interstitial page is in the way, or the thread is locked or archived.
Fix. The text is already on your clipboard. Paste it into the box and press the site’s button; Startica still saves the link if it can recognize the post. If it keeps happening on a site, report it in GitHub Discussions.
“Did it post?” (link not saved)
Cause. You pressed the site’s button, but Startica couldn’t find the link to the new post. This is also what you see when the site refused the post.
Fix. Check the page. If it posted, copy the link to your post, click Save link…, paste it into Link to your post and click Save. Or close the window and use Mark as posted with the link.
Hacker News: “posting too fast”
Cause. Hacker News limits how often an account can post, especially new accounts. When it refuses a post, Startica can’t find a new item, and the bar asks “Did it post?”.
Fix. Nothing was posted. Close the window, wait a while, and click Post… again.
Discourse: “add its link in Startica then”
Cause. The forum held your post for a moderator, so it has no link yet. Startica recorded it as posted without a link.
Fix. Once the moderator approves it, click Add link and paste the post’s link: on the card in the Inbox’s Posted tab for a reply, or on the posted piece in Content Studio. Replies to it are tracked from then on.
LinkedIn: is this allowed?
LinkedIn’s terms prohibit automated commenting and extensions that automate activity, and don’t address filling in a box that you then submit yourself. LinkedIn enforces its rules more actively than the other sites. If you’re unsure, use Copy & open thread for LinkedIn. See LinkedIn and its terms.
Signed in as the wrong account
Fix. Sign out on the site’s own page in the posting window, then sign in with the right account. To sign out of every site at once, see Data folder.
Jobs look stuck
Symptom. A job stays “running” on the System page, Intel says “Building…” for a long time, or new scans don’t seem to start.
Causes:
- Jobs only run while Startica is open. If the app was quit, nothing ran in the meantime. Scheduled jobs that were missed aren’t caught up later; the next scheduled time runs as usual.
- Jobs in the same queue run one at a time. A long scan (Reddit and Discourse forums are the slow parts) holds up the next scan, but not scoring or drafting, which have their own queues.
- A job was interrupted. If Startica quit in the middle of a job, that job is held by a lease until the lease expires, then it runs again. Leases are longer than the job’s normal run time: 30 minutes for an intel build, 40 minutes for scans and engagement syncs. The old run’s row on the System page stays “running”; that’s cosmetic.
Fix. Leave Startica open and check System after the lease time. If a job failed, its error is in Result / error. AI-heavy jobs (intel builds, roadmaps, audits, drafts) never retry on their own: run them again from their page.
Budget cap reached
Symptom. Jobs fail with “Monthly AI budget reached ($X of $Y)”. AI calls shows the status blocked.
Cause. This month’s spend reached the monthly budget in Settings. Startica stops calling the AI, at either provider, until the next calendar month (in your local time).
Fix. Open Settings → General → AI, click Change keys or budget, and raise Monthly budget (USD). Leave the key fields blank to keep your keys. Then rerun the failed job from its page. See Costs and budget.
No AI API key
Symptom. Jobs fail with “No Anthropic API key: add one in Settings → General → AI (the ping task uses claude-haiku-5-5)” or “No OpenAI API key: …”. System shows the key as Missing.
Cause. The task’s model belongs to a provider whose key isn’t saved. The message names the task and its model. This also happens if you edited a task to use the other provider’s model and then removed that provider’s key.
Fix. Open Settings → General → AI and click Add API key (or Change keys or budget), or click Add key on Today’s Getting started checklist. Paste the key for the provider named in the error. Or switch the task back to a model from the provider whose key you have, with the pencil on its row. See How Startica uses AI.
Updates
These are for the installed app’s automatic updates. See Updating.
“Updates work in the installed app”
Symptom. Check for Updates… in the tray menu says “Updates work in the installed app” (“This is a development build.”), and Check for Updates Automatically is greyed out.
Cause. You’re running dev mode (yarn dev:desktop), which never checks for updates.
Fix. Pull the latest code and restart. See Update from source.
“Couldn’t check for updates”
Symptom. Check for Updates… says “Couldn’t check for updates”, with the reason.
Cause. The check couldn’t read the release files on GitHub: you’re offline, GitHub didn’t answer, or there’s no published release to read yet. Automatic checks fail silently; their reason is in the logs, on lines tagged [updates].
Fix. Check your connection and click Check for Updates… again. Until a release is published, update from source.
macOS: the update doesn’t install
Symptom. On macOS, a newer release is found and downloaded, but Startica stays on the old version.
Cause. macOS only installs an update signed by the same developer as the app you’re running, and releases aren’t signed yet. See When an update is not installed.
Fix. Update from source. A rebuilt unsigned app may ask for Keychain access again; see Keychain prompts.
The window never opens
Symptom. Launching Electron from a terminal prints a JavaScript error (for example, that the module electron doesn’t provide an export named app) and no window appears.
Cause. ELECTRON_RUN_AS_NODE=1 is set in your shell. Code editors like VS Code and Cursor set it in their built-in terminals. It makes Electron run as plain Node.
Fix. Start dev mode with yarn dev:desktop, which clears the variable. If you start a built copy from an editor terminal, clear it first:
unset ELECTRON_RUN_AS_NODE
Server exited unexpectedly
Symptom. A dialog says “The Startica server exited unexpectedly” and the app quits.
Cause. The background server crashed. The reason is in the log.
Fix. Start Startica from a terminal (see The logs) to capture the error, then open the app again. If it keeps happening, report it in GitHub Discussions with the log.