> ## Documentation Index
> Fetch the complete documentation index at: https://apidocs.neetokb.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Troubleshooting

> Diagnose authentication and connectivity issues with neetokb doctor.

## Run the doctor

When something goes wrong, start with `neetokb doctor`. It checks your authentication, API connection, and CLI version.

```bash theme={"system"}
neetokb doctor
```

When multiple workspaces are signed in, name the one to check:

```bash theme={"system"}
neetokb doctor --subdomain your-workspace
```

## Common errors

When a command fails, it prints a one-line error message.

<AccordionGroup>
  <Accordion title="not logged in. Run 'neetokb login' to authenticate">
    **Problem**: no workspace is signed in. <br />
    **Solution**: run [`neetokb login --subdomain <name>`](/cli/authentication).
  </Accordion>

  <Accordion title="multiple subdomains logged in (acme, beta); specify --subdomain">
    **Problem**: more than one workspace is signed in, so the target is ambiguous. <br />
    **Solution**: add `--subdomain <name>` to the command.
  </Accordion>

  <Accordion title="not logged in to &#x22;foo&#x22;. Logged in subdomains: acme, beta">
    **Problem**: the `--subdomain` value doesn't match any signed-in workspace. <br />
    **Solution**: use one of the listed subdomains, or [sign in](/cli/authentication) to the new one.
  </Accordion>

  <Accordion title="required flag(s) &#x22;xxx&#x22; not set">
    **Problem**: a required flag was omitted. <br />
    **Solution**: check the command's [reference page](/cli-reference/overview) or run `neetokb <command> --help` for the required flags.
  </Accordion>

  <Accordion title="Article must be published before an unlisted link can be generated.">
    **Problem**: the article is still a draft, so it has no public URL to share. <br />
    **Solution**: publish it with `neetokb articles update <id> --state published`, then retry the [unlisted link command](/cli-reference/articles#unlisted-links).
  </Accordion>

  <Accordion title="An API error message">
    **Problem**: the server rejected the request (for example, a validation error). <br />
    **Solution**: the CLI passes through the server's message. Check the JSON envelope (or `--quiet` payload) for `error`, `errors`, or `notice` and any suggestions from the API.
  </Accordion>
</AccordionGroup>

## Check the version

```bash theme={"system"}
neetokb version
```

Prints the CLI version, commit hash, and build date - useful when reporting an issue.

If you are behind the latest release, upgrade with:

```bash theme={"system"}
neetokb update
```
