Troubleshooting
What a message means, and what to do about it. Most problems come down to a key, a budget or a sign-in setting.
What a message means, and what to do about it. Most problems come down to a key, a budget or a sign-in setting. Where a message names something specific (a story, a company, a date), only its fixed words are shown here.
Signing in
“This account isn’t invited yet”
Sign-in page, careerbot.dev
“This invite has expired”
Invite link, careerbot.dev
“This invite was withdrawn”
Invite link, careerbot.dev
“This invite link doesn’t work”
Invite link, careerbot.dev
“That isn’t the invited account”
Invite link, careerbot.dev
“This account is suspended”
Sign-in page, careerbot.dev
“This account can’t sign in to this copy. Ask its owner to add you.”
Sign-in page, a copy someone runs
“No way to sign in is set up. Add Google or GitHub sign-in keys to this copy’s Convex settings.”
Sign-in page
AUTH_GOOGLE_ID and AUTH_GOOGLE_SECRET, or AUTH_GITHUB_ID and AUTH_GITHUB_SECRET, then run docker compose up -d again. See Keys and accounts.“Sign-in didn’t work. Try again.”
Sign-in page
.env.example.“That username and password don’t match. Try again, or reset your password.”
Sign-in page, a copy you run
“Too many wrong passwords for this username. Wait a few minutes and try again, or reset your password.”
Sign-in page, a copy you run
“You signed in with a temporary password. Choose your own to carry on.”
Sign-in page, a copy you run
“Choose a password that isn’t the one you have now.”
Choosing a new password
“The passwords don’t match.”
Choosing a password
“At least 8 characters.”
Choosing a password
“2 to 32 letters, digits, dots, dashes or underscores, starting with a letter or digit.”
Choosing a username
Setting up your own copy
“That setup code doesn’t work. Check it in the install’s output, or make a new one.”
Creating the owner account
docker compose run --rm convex-setup new-setup-code. Only the newest code works.“That setup code was tried wrongly too many times and no longer works. Make a new one with the command below.”
Creating the owner account
docker compose run --rm convex-setup new-setup-code and use the new code.“This copy already has its owner. Sign in instead.”
Creating the owner account
docker compose run --rm convex-setup reset-password <username>.“Username and password sign-in is off on this copy.”
Sign-in page
CAREERBOT_MODE=self-hosted in its environment.“This copy’s Convex isn’t set up for username and password sign-in: set CAREERBOT_MODE=self-hosted in its environment.”
Sign-in page
CAREERBOT_MODE=self-hosted in the Convex deployment's environment variables.See Sign-in and who can join for setup codes, password resets and adding people.
AI and budgets
“Add your OpenRouter key in settings first.”
Anywhere AI runs
“OpenRouter didn't accept that key.”
Settings, Connections
“Set a monthly AI budget to continue.”
Anywhere AI runs
“This month's AI budget is used up.”
Anywhere AI runs
“This call could cost more than what's left of this month's AI budget.”
Anywhere AI runs
“Waiting on AI work already running, which could use the rest of this month's AI budget.”
Activity
“Waiting on earlier AI work to be settled tonight, which could use the rest of this month's AI budget.”
Activity
“Paused until your AI budget allows”
Activity
“Choose a model for”
Anywhere AI runs
“Couldn’t load models from OpenRouter.”
Settings, AI
“Couldn't load the model list from OpenRouter.”
Settings, AI
“Couldn’t reach OpenRouter”
Activity
Companies and roles
“Paused until your Apollo budget allows”
Activity
“You've used the Apollo credits you set aside this cycle.”
Companies
“Your Apollo account doesn't have enough credits left this cycle.”
Companies
“Apollo work is paused. Turn it on in Budgets.”
Companies
“Automated Apollo work is off.”
Activity
“Couldn't read your Apollo credit balance, so nothing was spent.”
Companies
“Couldn’t read your Apollo credits, so none will be spent.”
Settings, Connections
“Apollo didn't accept that key, or it can't read your credit usage.”
Settings, Connections
“Approve a direction’s search criteria first.”
Companies
“The last search stopped.”
Companies
“Couldn’t read its board”
A company's details
“CareerBot can't read that kind of job board yet.”
Editing a job board
“CareerBot doesn't read SmartRecruiters boards”
Editing a job board
“Use the company's website, like nvidia.com.”
Editing a website
“Roles are read for Targets and Maybe companies. Rate it first.”
Companies
“Couldn’t check roles”
Activity
Google Drive
“Not available yet”
Settings, Connections
AUTH_GOOGLE_ID and AUTH_GOOGLE_SECRET).“Google Drive didn’t connect. Try again.”
Settings, Connections
“This connection was started from another account. Start it again here.”
Settings, Connections; Today
“This connection took too long to finish. Start it again here.”
Settings, Connections; Today
“Google Drive isn’t connected: CareerBot needs access to the files it makes.”
Settings, Connections
“Google Drive stopped accepting CareerBot. Connect it again.”
Settings, Connections
“Google’s folder picker didn’t load. Try again.”
Settings, Connections
GOOGLE_PICKER_KEY.“That’s your CareerBot folder or one inside it. Choose a folder outside it.”
Choosing a Drive folder
“Your Google Drive is full.”
A document's Drive status
“Google Drive asked CareerBot to slow down. Try again in a minute.”
A document's Drive status
“CareerBot can’t reach this in your Drive anymore.”
A document's Drive status
GitHub
“Not available yet”
Record, Projects
“This connection was started from another account. Start it again here.”
Record, Projects
“This connection took too long to finish. Start it again here.”
Record, Projects
“GitHub isn’t connected any more. Connect it again in Projects.”
Record, Projects
“CareerBot can’t see that repository. Choose it on GitHub, then read it again.”
A project
“GitHub refused access. Try again.”
A project
“GitHub didn’t list your repositories. Try again.”
Record, Projects
Background work
Work running in the background is listed in Activity. When something fails, it says what failed and the reason under it. Try again starts it again where Activity offers it.
“Waiting to start”
Activity
“This kept getting interrupted. Try again.”
Activity
Running your own copy
“Set NEXT_PUBLIC_CONVEX_URL in .env”
docker compose up
.env.example to .env and fill it in; NEXT_PUBLIC_CONVEX_URL is your Convex address (http://localhost:3210 on your own computer).“Set NEXT_PUBLIC_CONVEX_URL to your Convex deployment URL (see .env.example).”
The web container's log
.env and run docker compose up -d again.“Set CONVEX_DEPLOY_KEY (Convex's cloud) or CONVEX_SELF_HOSTED_URL (self-hosted Convex); see .env.example.”
The convex-setup service's log
.env.“Set CONVEX_SELF_HOSTED_ADMIN_KEY”
The convex-setup service's log
docker compose exec convex-backend ./generate_admin_key.sh and put it in .env.“NEXT_PUBLIC_CONVEX_URL and SITE_URL can't contain”
The web container's log
“This container already serves”
The web container's log
docker compose up -d does.“MASTER_KEY_V1 is missing or malformed.”
Saving a key in Settings
docker compose up), which makes it. If you bring one from another copy, it's 64 hexadecimal characters.A port is already in use
If docker compose up stops with Docker's own error that a port "is already allocated", something else on the computer
already uses that port (3000 for the app, 3210 and 3211 for Convex, 6791 for the Convex dashboard). Stop the other
program, or set WEB_PORT, CONVEX_PORT, CONVEX_SITE_PORT or CONVEX_DASHBOARD_PORT in .env to a free port,
then change SITE_URL, NEXT_PUBLIC_CONVEX_URL or CONVEX_SITE_ORIGIN to match when they're localhost addresses.
On Dokploy, whose own dashboard uses 3000, set WEB_PORT=3001 or another free port.
See Check it works for a full check of a new copy.
Edit this page on GitHub