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

# Troubleshoot the Obi CLI

> What the obi CLI's common errors mean and what to do about each.

Every error the CLI prints carries a code and the next action to take. With `--json`, they are in `error.code` and `error.nextAction`; the [exit code](https://hireobi.com/docs/cli/overview.md#exit-codes) tells you the family.

Still stuck? Write to [support@hireobi.com](mailto:support@hireobi.com) with the command you ran and the error code. Never send a token or a credential file.

## Installing

> [accordion] The install fails or obi refuses to start
>
> The CLI needs Node.js 22 or later. Check with `node --version`, upgrade Node.js, then install again.

> [accordion] SKILL\_INSTALL\_FAILED: a Skill entry already exists
>
> `obi skill install` found a file or link at `~/.agents/skills/obi` or `~/.claude/skills/obi` that it did not create. It never replaces one. Move or remove that entry yourself, then run the command again.

> [accordion] /obi does not appear in my assistant
>
> Skills load when a chat starts. Run `obi skill install`, then open a **new** chat. `obi skill path` shows where the bundled Skill is.

## Signing in

> [accordion] AUTH\_REQUIRED: this machine is not signed in
>
> Run `obi login --expect-email <your email>`.

> [accordion] AUTHORIZATION\_PENDING
>
> The connection waits for your approval in the browser. Open the address the CLI printed, check that the page shows the same code, approve, then run the same `obi login` command again: it resumes the same connection.

> [accordion] The browser did not open
>
> The CLI opens a browser only on macOS or Linux, in a terminal on a machine with a display; never on Windows, over SSH or in CI. Open the printed address yourself, on any device, and compare the code before you approve.

> [accordion] ACCOUNT\_MISMATCH or ACCESS\_DENIED
>
> The connection was approved by another account than the one you expected, or denied in the browser. Nothing was stored. Run `obi login` again and approve it with your own account.

> [accordion] EMAIL\_NOT\_VERIFIED or ACCOUNT\_SETUP\_REQUIRED
>
> Verify your email from the message Obi sent, or finish the account setup in the browser, then run `obi status`.

> [accordion] STORAGE\_UNAVAILABLE: no system credential store
>
> The macOS Keychain or the Linux Secret Service is missing, locked or refused the operation, or you are on Windows, where the CLI uses none. Unlock it, or sign in with `obi login --expect-email <your email> --storage file` to keep the connection in a file only your user can read.

> [accordion] STORAGE\_INSECURE
>
> The local state directory or one of its files can be read by other users, is a link, or belongs to another user. Restrict the directory to your user (mode 700) and its files (mode 600). The [state directory](https://hireobi.com/docs/cli/overview.md#credentials-and-local-state) depends on your system.

> [accordion] STORAGE\_INVALID: the stored connection cannot be read
>
> Run `obi logout`, then `obi login --expect-email <your email>`.

## Working with Obi

> [accordion] OWNER\_REQUIRED
>
> Only the account owner can do this, for example start the reading of your website or a purchase. Ask the owner.

> [accordion] A command timed out after a change
>
> A timeout does not prove the change failed. Read the current state first (`obi status`, `obi business show`, `obi questions show` or `obi harness purchase status`), then retry only if the change is not there. Obi does this for you in the chat.

> [accordion] HARNESS\_REQUIRED or HARNESS\_QUESTIONS\_REQUIRED
>
> The command asked Obi's servers to read your website or prepare your questions, and on your account your assistant does that work. Ask Obi in your assistant: the Skill reads the work with `obi harness show --stage business` or `--stage questions` and saves the result with `obi harness submit`.

> [accordion] HARNESS\_WORK\_CONFLICT or a stale review
>
> The review or the scan changed after the result was prepared. Obi reads the current work and prepares the result again.

> [accordion] SCAN\_BUDGET\_NOT\_AUTHORIZED
>
> The scan you asked for is not fully authorized for your plan's coverage. Editing a question does not fix it. Ask Obi to show your coverage with `obi harness coverage`.

## Network and updates

> [accordion] NETWORK\_UNAVAILABLE, REQUEST\_TIMED\_OUT, SERVICE\_UNAVAILABLE or RATE\_LIMITED
>
> Check your network connection and try again later. A rate limit tells you how long to wait when the server says so.

> [accordion] REQUEST\_FAILED
>
> The server refused the request with a reason this CLI version does not know. Retrying will not help: update the CLI with `npm install --global @hireobi/cli`, then try again.

> [accordion] INVALID\_RESPONSE or exit code 7
>
> The server answered in a form this CLI version does not know. Update the CLI with `npm install --global @hireobi/cli`, then try again.

> [accordion] INVALID\_ORIGIN or a warning about a development server
>
> A development variable is set: the error names it. `OBI_ORIGIN` exists for Obi development and only accepts a local address; a variable an older version read is refused. Unset it to reach your account.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.