Skip to main content
Most Bolt problems fall into a small number of categories. Work through the relevant accordion below, and check the log output with bolt logs whenever something unexpected happens.
For questions that aren’t answered here, search or start a discussion in the Bolt GitHub Discussions. Include the output of bolt debug info and bolt logs --tail 50 in your post so the community can help faster.

First things to try

Before diving into a specific section, these four commands solve most problems:
The bolt debug family is your first stop for any mysterious behavior. bolt debug info for a system summary, bolt debug config for the resolved config, bolt debug paths for on-disk locations, and bolt debug snapshot to inspect session state.
Symptoms: The terminal flashes and exits immediately, or you see a stack trace before the TUI renders.Steps:
1

Collect system information

This prints your Bolt version, OS, terminal emulator, and loaded plugins. Copy this output when reporting a bug.
2

Check recent log output

Look for ERROR lines. A common cause is a plugin that fails to load — in that case you’ll see an error mentioning the plugin name.
3

Disable plugins to isolate the issue

If Bolt starts cleanly with --pure, a plugin is causing the crash. Remove the offending plugin from your config, or report it to the plugin author.
4

Check for corrupted config

If this prints an error about invalid JSON, open the config file it mentions and fix the syntax. Run bolt db path to confirm the database path is accessible.
Symptoms: Bolt shows “No providers configured”, API requests fail with 401 errors, or bolt run exits immediately without producing any output.Steps:
1

Re-run the provider login flow

Select your provider and follow the prompts. Bolt will walk you through API key entry or OAuth.
2

Verify the API key environment variable

If you use an env var (e.g. ANTHROPIC_API_KEY), confirm it is actually set in the current shell:
If it is empty, add it to your shell profile and re-open your terminal.
3

Inspect the resolved config

Look at the provider section. If your provider appears with a blank apiKey, the environment variable reference in your config file is not being expanded.
4

List stored credentials

This shows all credentials stored in auth.json and all provider-related environment variables that Bolt detected.
Symptoms: bolt mcp list shows a server as failed or needs authentication, or the agent cannot use any tools from that server.Steps:
1

Run the MCP debug probe

This tests basic HTTP connectivity, inspects the WWW-Authenticate header, and walks through the OAuth discovery flow if applicable. The output will tell you whether the server is reachable and whether auth is required.
2

Check the server URL

Verify the URL in your .bolt/bolt.jsonc. For remote servers, make sure the URL ends with the MCP path (e.g. /mcp or /tools), not just the host.
3

Re-authenticate for OAuth servers

Follow the browser flow. If the server requires a pre-registered client ID, add it to the config:
4

Check local server command

For local servers, run the command manually in your terminal to confirm it starts without errors:
Symptoms: bolt run --session <id> exits with “Session not found”, or a session you remember working with has disappeared.Steps:
1

List all available sessions

Sessions are sorted by most-recently-updated first. If your session was deleted or the database was migrated, it will not appear here.
2

Find the database path

This prints the full path to the SQLite file. Verify the file exists and is not empty.
3

Query the database directly

If your session appears in the database but not in bolt session list, there may be a project ID mismatch — sessions are scoped to projects.
Symptoms: The agent asks for permission repeatedly, refuses to write files, or you see “Permission denied” banners.Understanding access levels:Each built-in agent has a declared access level that controls what it can do without asking:The code, debug, refactor, migrate, and perf agents have Full access. docs has Edit access. plan, ask, code-review, and security have Read access.Steps:
1

Switch to an agent with Full access

If you need file writes, use the code agent:
Or press Tab in the TUI to cycle through agents.
2

Use --auto to approve prompts non-interactively

In CI or scripted contexts, pass --auto to bolt run to auto-approve permissions that are not explicitly denied in the config.
3

Configure permissions in the config file

You can deny specific tools for all sessions in a project by adding a permission block to .bolt/bolt.jsonc.
Symptoms: bolt stats shows higher token counts than expected, or your API bill is growing faster than anticipated.Steps:
1

Review your usage statistics

The output breaks down cost per day, average tokens per session, and usage by model.
2

Lower the reasoning effort

For models that support it, reduce the reasoning effort with --variant:
Supported values are provider-specific (e.g. minimal, low, high, max).
3

Switch to a cheaper model

Use bolt models to find a smaller model. Smaller models (e.g. claude-haiku, gpt-4o-mini) cost significantly less per token and work well for many tasks.
4

Use the ask or plan agent for exploration

The ask and plan agents have Read access and do not invoke write tools, which means they avoid tool-heavy loops that generate large output tokens.
Symptoms: A slash-command behaves unexpectedly, the TUI renders incorrectly, or something changed after installing a plugin.Steps:
1

Disable all plugins to establish a baseline

If the issue disappears, a plugin is responsible.
2

Identify the offending plugin

The output lists all loaded plugins. Temporarily remove them one at a time from your config and restart Bolt until the issue is gone.
3

Check for version incompatibility

Plugins declare a compatible Bolt version range. If you recently upgraded Bolt, a plugin may need to be updated as well.
Symptoms: On Windows with WSL, Bolt cannot find less, file paths contain unexpected backslashes, or the pager for bolt session list does not launch.Steps:
1

Set the Git Bash path

Bolt looks for Unix utilities (including less) relative to the Git for Windows installation. Set the environment variable to your Git Bash directory:
Add this to your PowerShell profile ($PROFILE) to persist it.
2

Verify with debug info

Confirms the OS detection and which paths Bolt is using.
3

Run Bolt inside WSL directly

For the best experience on Windows, run bolt from within a WSL terminal rather than from PowerShell or Command Prompt.
Symptoms: bolt upgrade reports an error or silently does nothing, or the version number does not change after running it.Steps:
1

Specify the installation method explicitly

Bolt tries to detect how it was installed. If detection fails, override it:
2

Reinstall via the install script

3

Windows: run as Administrator for Chocolatey

If you installed via choco, upgrades require an elevated terminal. Open PowerShell as Administrator before running bolt upgrade.
4

Confirm the new version is active

Symptoms: The agent complains it can’t see files that exist, or repeatedly picks up files you don’t want it to touch (like node_modules, build output, or secrets).Steps:
1

Check for a .boltignore

Bolt honors a .boltignore file at the project root that controls which files the agent’s file-search tools can see. It uses the same syntax as .gitignore.
2

Confirm the working directory

Verify the cwd matches the project root. If you launched Bolt from a subdirectory, the agent’s file search is rooted there.
3

Ask the agent to grep, not guess

If the agent claims a file doesn’t exist, ask it to run grep or glob explicitly. This bypasses any stale internal assumption.
When filing an issue, the following information is most useful to maintainers:
1

Collect system and plugin info

2

Collect recent log output

3

Export the relevant session (sanitized)

If the problem happened during a specific session, export it with secrets redacted:
Attach session-debug.json to the issue.
4

Open an issue or discussion

Go to GitHub Discussions and paste your bolt debug info output plus a description of the steps to reproduce.