---
url: https://bishop.agentdeployment.co/deploying/troubleshooting.md
description: >-
  What to check when Bishop won't start, an agent doesn't answer, or setup
  fails.
---

# Troubleshooting

Start with the log. `BISHOP_LOG_LEVEL=debug` adds every routing decision, which is usually where a message that got no answer went.

## Startup

**"--agent directory doesn't exist"** or **"is not a directory"** means the path is wrong. Bishop checks it before anything else, because the harness reports a bad directory as a native binary failing to launch.

**"The Claude agent couldn't start"** means the harness didn't launch. Check that `claude` works in that directory first. A wrong `ANTHROPIC_API_KEY` passes this check and fails on the first real message, since only a live call tests a key.

**"agent.sandbox is on, but nono is not installed or not on PATH"** means what it says. Install it as in [Sandbox](/running/sandbox), and check `which nono` as the user and `PATH` Bishop runs with.

**"The sandbox would have to grant …, which contains …/.bishop"** means Bishop's own directory is inside the agent directory. Run Bishop from a directory of its own and point `--agent` at the agent.

## No answer

**The bot doesn't answer in a Slack channel.** It only replies to mentions and to threads it's already in. Confirm it's in the channel and that you mentioned it.

**The bot doesn't answer at all, and the log shows a refusal.** The sender isn't on the [allow list](/running/access).

**The agent never answers, and nothing appears in the log.** If you set the Slack app up by hand, check its Event Subscriptions. Bishop can't see them, and an app subscribed to nothing looks identical to an idle one. In Teams, check the app is installed and the endpoint is current: a blocked install or a stale tunnel hostname delivers nothing, so the log stays silent. See [Installing the app](/interfaces/teams#installing-the-app).

**The agent went quiet after running fine.** A revoked Slack app or a dead socket goes unnoticed, so restart Bishop. For email, a reset mailbox password revokes the refresh token, and `bishop gmail setup` authorizes again.

**The agent in Teams only answers when tagged.** The app was installed without the resource-specific consent permissions, or was updated in place after they were added. Remove it and install it again.

## The agent

**The agent says it's blocked on permissions.** Something needs approval that `auto` mode declined. Add an allow rule under `agent.options.settings.permissions.allow`. See [Agent options](/running/harness#agent-options).

**A first turn fails after a clean start.** Usually a bad `--model` or `--effort`, which nothing validates at startup. See [Model and effort](/running/harness#model-and-effort).

**The agent says it can't edit a file.** In worktree mode Bishop refuses writes in the shared directory until the agent enters its worktree, which it normally does unprompted. If the agent directory isn't a git repository, that can't work, and Bishop says so in the thread.

**The agent says "Permission denied" with the sandbox on.** It reached for something outside its grants. If it needs it, add the path to a nono profile. `nono why --path <path> --op read` says which rule decided.

**Commits fail with "Author identity unknown".** A fresh snapshot or container has no git identity. Set one globally for the user Bishop runs as, or through `GIT_CONFIG_*` in a [container](/deploying/container).

## Worktrees

**You can't find what a thread changed.** In worktree mode the work is on that thread's branch, not in the agent directory. `git worktree list` shows every one, and `git branch --list 'worktree-bishop-*'` shows the branches.

**A build or test fails inside a worktree.** A fresh worktree has only tracked files, so `node_modules` and anything else the repository ignores isn't there. Add it to `agent.options.settings.worktree.symlinkDirectories`.

## Setup

**Slack setup says the app kept a `(local)` suffix.** The `slack` CLI's login expires after 12 hours, which stops Bishop from correcting the app name. Run `slack auth login` again, or rename the app in Slack.

**Teams CLI commands start logged out after a successful login.** The CLI was installed without `--allow-scripts`. Reinstall it as in [Microsoft Teams](/interfaces/teams#setup).

## Sessions

**Sessions get confused.** Stop Bishop and delete `bishop.db` to make every thread start fresh. That also deletes every schedule, so note what `bishop schedules list` shows first.
