Common Errors
Quick reference for common errors and their solutions.
Authentication Errors
Section titled “Authentication Errors”“Invalid token” on sign-in
Section titled ““Invalid token” on sign-in”Symptoms: Signing in with a PAT returns an invalid token error.
Causes:
- Token was mistyped or contains extra whitespace
- Token has been revoked in GitHub
- Token has expired
- Token type is not recognized
Solutions:
- Copy the token directly from GitHub — avoid retyping
- Check the token status at GitHub → Settings → Developer settings → Personal access tokens
- Generate a new token and try again
“Sign in with a personal access token” on sign-in
Section titled ““Sign in with a personal access token” on sign-in”Symptoms: Signing in with a token is rejected with a message asking for a personal access token.
Causes: The token is an OAuth token (gho_, such as the output of gh auth token), a GitHub App user token (ghu_) or an installation token (ghs_, such as a GitHub Actions GITHUB_TOKEN). These are issued to an app rather than created by you, so token sign-in does not accept them.
Solutions:
- Create a fine-grained or classic personal access token at GitHub → Settings → Developer settings → Personal access tokens and sign in with that
- Or use Log in with GitHub if your installation has an OAuth app configured
“PAT login over non-local HTTP is disabled”
Section titled ““PAT login over non-local HTTP is disabled””Symptoms: Signing in with a PAT is rejected even though the browser shows HTTPS.
Causes: Your reverse proxy terminates TLS and forwards plain HTTP to the container, so the backend only learns the original scheme from the X-Forwarded-Proto header. Either the proxy is not sending it, or the image predates the fix that stopped the container’s own nginx from overwriting it.
Solutions:
- Confirm your proxy forwards
X-Forwarded-Proto: https— Caddy and Traefik do this automatically; a hand-written nginx proxy needsproxy_set_header X-Forwarded-Proto $scheme; - Pull the latest image and restart
- See HTTPS Setup for per-proxy examples and a stop-gap override
“Log in with GitHub” button not appearing
Section titled ““Log in with GitHub” button not appearing”Symptoms: The OAuth login button is missing from the login page.
Causes: GITHUB_CLIENT_ID environment variable is not set or the container was not restarted after adding it.
Solutions:
- Verify
GITHUB_CLIENT_IDis set in your container environment - Restart the container to apply the new environment variable
- Check container logs for OAuth configuration errors
“Redirect URI mismatch”
Section titled ““Redirect URI mismatch””Symptoms: After authorizing the GitHub OAuth App, GitHub returns a redirect URI mismatch error.
Causes: The VITE_BACKEND_URL environment variable does not match the callback URL registered in your GitHub OAuth App.
Solutions:
- Check the Authorization callback URL in your GitHub OAuth App settings
- Verify the
VITE_BACKEND_URLenvironment variable matches exactly (including protocol and port) - Update the OAuth App or environment variable so they match
API and Permission Errors
Section titled “API and Permission Errors”“Not found” or missing repositories
Section titled ““Not found” or missing repositories”Symptoms: Repositories are not visible or return 404 errors.
Causes:
- Fine-grained PAT was created with limited repository access
- The GitHub token does not have access to the repository
- The repository is in an organization with restricted token access
Solutions:
- Check which repositories are authorized on the fine-grained PAT
- Verify the signed-in GitHub account has access to the repository
- For organization repositories, check if the organization has blocked token access
“Insufficient permissions” on workflow operations
Section titled ““Insufficient permissions” on workflow operations”Symptoms: Creating, updating, or deleting workflows fails with a permission error.
Causes: The token is missing required permissions.
Solutions:
- For fine-grained PATs, verify Contents: Read and write and Actions: Read and write are set
- For classic PATs, verify the
repoandworkflowscopes are granted - Generate a new token with the correct permissions
“More than one project is named …”
Section titled ““More than one project is named …””Symptoms: An action on a project you don’t own fails with More than one project is named ‘X’. Open it from the projects list, or rename one so they can be told apart.
Causes: Project names are unique per owner, not across the workspace. A project page tells ActionsManager which project it shows, so actions taken from the page act on that project even when another owner’s project has the same name. A request that only names the project — a bookmarked or shared project link, or a direct API call — can’t say which one it means when two owners use that name and you own neither (or hold a grant on both). ActionsManager refuses rather than guess, because a guess could act on the other project.
The owners of each project are not affected: a name always resolves to the project they own.
Solutions:
- Open the project from the projects list rather than a bookmarked link.
- Or rename one of the projects from the project sidebar (see Renaming a Project), so links and direct calls work too. Anyone with editor access to that project can rename it, and its owner and workspace admins always can.
Workflow and PR Errors
Section titled “Workflow and PR Errors”PR campaign creates no PRs
Section titled “PR campaign creates no PRs”Symptoms: Starting a PR campaign completes without creating any pull requests.
Causes:
- No repositories in the project are configured
- The workflow is already up to date in all repositories
- The GitHub token lacks Pull requests: Read and write permission
Solutions:
- Verify the project has repositories added
- Check drift status — if all repositories are in sync, no PRs are needed
- Verify the PAT has pull request permissions
“Branch already exists” when creating campaign PRs
Section titled ““Branch already exists” when creating campaign PRs”Symptoms: PR creation fails because the branch already exists.
Causes: A previous campaign created a branch that was never merged or deleted.
Solutions:
- Check the repository on GitHub for open or abandoned campaign branches
- Delete the old branch and retry the campaign
- Or merge/close the existing PR first
Next Steps
Section titled “Next Steps”- GitHub Permissions — GitHub permission requirements in detail
- Container Startup — container startup and health issues
© 2026 ActionsManager. All rights reserved.