> ## Documentation Index
> Fetch the complete documentation index at: https://docs.neo.projectdiscovery.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Troubleshooting

> Diagnose missing installs, "already installed" confusion, auto-review not firing, collaborator-gate 403s, and webhook delivery issues.

This page walks through the common failure modes for the GitHub integration and how to resolve each one.

## "Already installed" On The Install Picker

You clicked **+ Add organization**, GitHub opened the install picker, and the org you wanted shows **Configure** instead of **Install**.

What it means: Neo is **already installed** on that org. Someone (possibly a teammate) installed it before — you don't need to install again.

Resolution:

* close the github.com tab
* back in Neo, the existing install should appear in the GitHub card's switcher
* if it doesn't, you probably aren't a GitHub member of that org — see the next section

## You Don't See An Install Your Teammate Made

A teammate installed Neo on an org, but the org doesn't appear in your switcher.

Likely causes:

* you aren't a Neo team member with that teammate — check team membership in Neo
* you're a Neo teammate but **not a GitHub member of the org** — Neo verifies GitHub membership before showing org installs to teammates
* the OAuth round-trip hasn't completed — try clicking Connect once, completing OAuth, then reload

If you're confident you're both a Neo teammate and a GitHub org member but still don't see the install, see [Webhook Delivery Issues](#webhook-delivery-issues) below.

## Auto-Review Isn't Firing On Pushes

You opened a PR, pushed commits, but Neo never posted a review.

Diagnostic checklist:

1. **Is auto-review on?** Open the PR and comment `@pdneo config get auto_review`. If it returns `false`, run `@pdneo config set auto_review true`.
2. **Is the PR paused?** Earlier in the thread, did anyone run `@pdneo pause`? Run `@pdneo resume` to re-enable.
3. **Does a filter exclude this PR?** Check `author_include` / `branch_include` / `label_include` on the repo's config. If any include filter is set, PRs not matching it are skipped.
4. **Is it a draft PR with `draft=skip`?** Either mark the PR ready for review or set `@pdneo config set draft review`.
5. **Did the install row get created?** If not, the GitHub webhook never reached Neo — see [Webhook Delivery Issues](#webhook-delivery-issues).

If all of the above check out, comment `@pdneo review` to trigger one manually. If that also does nothing, contact support with the PR URL.

## Reviews Are Stuck "In Progress" Or Not Posting

The check run shows running but never finishes, or no comment appears even after a long wait.

Likely causes:

* the agent encountered a transient error and the task is being retried
* the GitHub App token couldn't be minted at run time (rare)
* the sandbox / clone phase failed for that specific repo

What to do:

* open the task in Neo via the link in the check-run details (if a partial summary was posted) — it'll show the exact step that failed
* re-run with `@pdneo review` to trigger a fresh attempt
* if it consistently fails on the same repo, contact support with the repo URL and task ID

## "Not Authorized" / 403 On A Repo

You opened a repo's settings in Neo (or tried to act on a specific PR) and got 403.

Cause: Neo's per-repo gate asks GitHub whether you're a **collaborator** on the repo. If GitHub says you're not, Neo blocks the action.

Resolution:

* ask the repo's GitHub owner to grant you any collaborator role on the repo
* once GitHub recognizes you as a collaborator, the next attempt will succeed (Neo caches the membership check per (repo, user) — give it a minute to refresh, or comment on the PR to bust the cache)

## Disconnected From Neo But Org Is Still Installed On GitHub

You clicked **Disconnect** in the Neo card and now the card shows "Connect GitHub" again — but the install is still active on github.com.

This is correct behavior. Disconnect in Neo is a **per-user OAuth reset**, not an uninstall. Your teammates continue using the install. To fully uninstall:

* go to github.com → Org settings → GitHub Apps → Configure Neo → **Uninstall**
* GitHub notifies Neo of the uninstall and Neo removes the install and its repo configs automatically (no action needed in Neo)

## GitHub Events Aren't Reaching Neo

If install or PR notifications from GitHub aren't reaching Neo, installs and reviews won't show up. Signs:

* you installed but the org never appears in Neo's switcher
* you pushed to a PR but Neo never triggers a review
* a fresh PR isn't being picked up at all

This is rare and not something you can fix from your side. Contact support with the org name and a recent example PR URL — Neo's team can look at the delivery history on the App and remediate.

## "Configure" Page Shows But No Repos Are Granted

You installed Neo on an org with the **selected repositories** scope and forgot to add the repo(s) you wanted to use.

Resolution:

* github.com → Org settings → GitHub Apps → Configure Neo → **Repository access** → add the repos
* GitHub notifies Neo of the newly granted repos and Neo picks them up within a few seconds
* new repos default to auto-review on, so they'll start reviewing immediately

## Reviews Posted Under Wrong Identity

All Neo reviews are posted under the GitHub App's bot account (e.g. `neo-by-projectdiscovery[bot]`). That's expected — GitHub identifies the App, not the user who triggered the review. The summary comment and inline comments include attribution to the user who triggered the run when relevant.

## A Specific Finding Looks Wrong

If a finding is a false positive or you disagree with it:

* **Reply in the thread.** Neo reads the reply and adjusts in subsequent runs. Your thread reply also acts as feedback that's incorporated into the learned-rules system over time.
* **Resolve the thread manually.** Neo respects human-resolved threads and won't reopen them.
* **Comment `@pdneo investigate <your question>`** to get a deeper analysis with code references.

## Still Stuck?

Open a support request with:

* the PR URL (or org URL for install issues)
* the Neo task link from the check run (if one exists)
* a brief description of what you expected vs. what you saw

Email <a href="mailto:support@projectdiscovery.io">[support@projectdiscovery.io](mailto:support@projectdiscovery.io)</a> with that information.

## Next

* Permission and configuration reference: [Admin & Permissions](/integrations/github-admin-and-permissions)
* Data handling and trust: [Privacy & Support](/integrations/github-privacy-and-support)
