Troubleshooting
Common issues and solutions for Weave configuration and CLI
Troubleshooting
Section titled “Troubleshooting”This page covers common issues you may encounter when using Weave, along with their causes and solutions.
Config not found
Section titled “Config not found”Symptom
Section titled “Symptom”Error: Config file not foundor
Error: No config file found at .weave/config.weaveWeave cannot locate a configuration file in the expected locations. This typically happens when:
- You have not run
weave inityet - The config file is in the wrong location
- The config file has the wrong name (must be
config.weave, notconfig.weave.txtor similar)
Solution
Section titled “Solution”-
Initialize Weave configuration:
Terminal window weave init --scope local --yesThis creates
.weave/config.weavein your project root. -
Verify the file exists:
Terminal window ls .weave/config.weave -
Check the file name: The config file must be named exactly
config.weave(notconfig.weave.txt,weave.config, or any other variation).
Related documentation: CLI Reference - weave init, DSL Configuration - Configuration Locations
Parse errors
Section titled “Parse errors”Symptom
Section titled “Symptom”3:12: unexpected token '}', expected identifieror
5:1: unclosed blockor
2:8: unterminated string literalThe DSL parser encountered invalid syntax. Common causes include:
- Missing closing braces
} - Unterminated string literals (missing closing quote)
- Invalid block structure
- Unexpected characters
Solution
Section titled “Solution”-
Check the line and column indicated in the error message. The format is
line:column: message. -
Common syntax mistakes:
Missing closing brace:
agent loom {temperature 0.5# Missing closing brace hereFix:
agent loom {temperature 0.5}Unterminated string:
agent loom {description "Orchestration coordinator}Fix:
agent loom {description "Orchestration coordinator"}Missing block name:
agent {temperature 0.5}Fix:
agent loom {temperature 0.5} -
Validate your config:
Terminal window weave validate
Related documentation: DSL Configuration, Agents
Prompt file not found
Section titled “Prompt file not found”Symptom
Section titled “Symptom”Error: Prompt file not found: custom-agent.mdor
Error: Could not resolve prompt file: loom.mdWeave cannot locate the prompt file specified in prompt_file. This happens when:
- The prompt file does not exist in
.weave/prompts/ - The
prompt_filevalue includes a directory path (not allowed) - The file name is misspelled
Solution
Section titled “Solution”-
Verify the prompt file exists:
Terminal window ls .weave/prompts/ -
Check the file name in your config:
agent custom-agent {prompt_file "custom-agent.md"} -
Ensure the file is in the correct directory:
- Project scope:
.weave/prompts/ - Global scope:
~/.weave/prompts/
- Project scope:
-
Use bare filenames only:
-
Create the missing prompt file:
Terminal window echo "# Custom Agent Prompt" > .weave/prompts/custom-agent.md
Related documentation: DSL Configuration - Prompt File Resolution, Agents
Adapter not loading (OpenCode)
Section titled “Adapter not loading (OpenCode)”Symptom
Section titled “Symptom”Error: OpenCode adapter not foundor
Warning: Weave config detected but not loadedThe OpenCode harness cannot locate or load the Weave adapter. Common causes:
- Wrong key name in
opencode.jsonc(must be"weave", not"weave-config"or similar) - The adapter is not installed
- The adapter path is incorrect
Solution
Section titled “Solution”-
Check your
opencode.jsoncoropencode.jsonfile:{"weave": {}}The key must be exactly
"weave". -
Verify the adapter is installed:
Terminal window npm list @weaveio/weave-opencode-adapter -
Reinstall the adapter if needed:
Terminal window npm install @weaveio/weave-opencode-adapter -
Run
weave initto configure the adapter:Terminal window weave init --harness opencode --yes
Related documentation: CLI Reference - Harness detection and installation, Install for OpenCode
Adapter not loading (Claude Code)
Section titled “Adapter not loading (Claude Code)”Symptom
Section titled “Symptom”Error: Claude Code adapter not foundor
Warning: Weave config detected but not loadedThe Claude Code harness cannot locate or load the Weave adapter. Common causes:
- Missing
--plugin-dirflag in Claude Code launch command - The adapter is not installed
- The adapter path is incorrect
Solution
Section titled “Solution”-
Verify the adapter is installed:
Terminal window npm list @weaveio/weave-claude-code-adapter -
Reinstall the adapter if needed:
Terminal window npm install @weaveio/weave-claude-code-adapter -
Add the
--plugin-dirflag when launching Claude Code:Terminal window claude-code --plugin-dir ~/.weave/plugins -
Run
weave initto configure the adapter:Terminal window weave init --harness claude-code --yes
Related documentation: CLI Reference - Harness detection and installation, Install for Claude Code
Adapter not loading (Pi)
Section titled “Adapter not loading (Pi)”Symptom
Section titled “Symptom”Error: Pi adapter not foundor
Warning: Weave config detected but not loadedThe Pi harness cannot load the Weave adapter. Common causes:
- Pi version is too old (Weave requires Pi 1.5.0 or later)
- Pi is running in health-only mode (adapter loading is disabled)
- The adapter is not installed
Solution
Section titled “Solution”-
Check your Pi version:
Terminal window pi --versionWeave requires Pi 1.5.0 or later.
-
Upgrade Pi if needed:
Terminal window npm install -g @pi/cli -
Verify Pi is not in health-only mode:
Check your Pi config for
health_only: true. If present, remove it or set it tofalse. -
Run
weave initto configure the adapter:Terminal window weave init --harness pi --yes
Related documentation: CLI Reference - Harness detection and installation, Install for Pi
weave run not supported
Section titled “weave run not supported”Symptom
Section titled “Symptom”Error: 'weave run' is not supportedor
Use 'weave init' and harness-specific launch commands insteadweave run is not a valid command. Weave configures harnesses but does not run them directly.
Solution
Section titled “Solution”-
Initialize Weave configuration:
Terminal window weave init --scope local --yes -
Launch your harness using its native command:
- OpenCode:
opencodeorcode(depending on your installation) - Claude Code:
claude-code - Pi:
pi
- OpenCode:
-
Verify your config is loaded:
Terminal window weave validateweave prompt list
Related documentation: CLI Reference - No runtime execution, Quickstart
Migration warnings
Section titled “Migration warnings”Symptom
Section titled “Symptom”⚠ Migration warnings - the following legacy fields were skipped:
• workflows: legacy workflow definitions are not supported in migration v1 • continuation: legacy continuation settings are not supported in migration v1 • custom_agents.loom: "loom" collides with a builtin agent nameThe migration tool encountered legacy fields that cannot be automatically converted to the current DSL. This is expected behavior for certain fields.
Solution
Section titled “Solution”Migration warnings do not prevent the migration from succeeding. The config file is still written successfully.
-
Review the warnings to understand which fields were skipped.
-
Manually add skipped fields if needed:
- Workflows: Define workflows using the current DSL syntax. See DSL Configuration - Workflows.
- Continuation: Use the current DSL
continuationblock if needed. - Agent name collisions: Rename custom agents that collide with builtin names (
loom,tapestry,shuttle,pattern,thread,spindle,weft,warp).
-
Validate your migrated config:
Terminal window weave validate -
Inspect agent prompts:
Terminal window weave prompt listweave prompt inspect loom
Related documentation: CLI Reference - weave init migrate, DSL Configuration
Validation errors
Section titled “Validation errors”Symptom
Section titled “Symptom”[agent.loom.temperature] Expected number between 0 and 2, received 3or
[agent.custom.mode] Invalid enum value. Expected 'primary' | 'subagent', received 'worker'The config file contains values that fail schema validation. Common causes:
- Invalid enum values (e.g.,
mode "worker"instead ofmode subagent) - Out-of-range numbers (e.g.,
temperature 3when max is 2) - Wrong value types (e.g., string instead of number)
Solution
Section titled “Solution”-
Check the validation error message for the field path and expected value.
-
Fix the invalid value:
Invalid enum:
agent custom {mode worker # Invalid}Fix:
agent custom {mode subagent}Out-of-range number:
agent loom {temperature 3 # Invalid (max is 2)}Fix:
agent loom {temperature 0.7} -
Validate your config:
Terminal window weave validate
Related documentation: DSL Configuration, Tool Policy
Tool policy errors
Section titled “Tool policy errors”Symptom
Section titled “Symptom”[agent.custom.tool_policy.unknown_tool] Unrecognized keyor
Error: Invalid tool policy capabilityThe tool_policy block contains invalid tool names or capability values. Common causes:
- Harness-specific tool names (e.g.,
call_weave_agent) that cannot be mapped to abstract capabilities - Typos in tool names
- Invalid capability values (must be
allow,deny, orask)
Solution
Section titled “Solution”-
Use only recognized tool policy capabilities:
tool_policy {read allowwrite allowexecute allowdelegate denynetwork ask} -
Remove harness-specific tool names:
Do not use harness-specific tool names like call_weave_agent, read_file, write_file, etc. Use abstract capabilities instead: read, write, execute, delegate, network.
:::
-
Validate your config:
Terminal window weave validate
Related documentation: DSL Configuration - Tool Policy, Tool Policy
Need more help?
Section titled “Need more help?”If you encounter an issue not covered here:
- Check the error message for line and column numbers, then inspect your config at that location.
- Validate your config with
weave validateto get detailed error messages. - Review the documentation:
- DSL Configuration for syntax and structure
- CLI Reference for command usage
- Agents for agent configuration
- Tool Policy for tool permissions
- Check the GitHub repository for known issues and discussions.