Troubleshooting
A reference for the most common issues encountered when installing, configuring, and using Weave.
Looking for stable / v0 docs?
If you are using the original OpenCode-only release of Weave (opencode-weave), see the Migrating from v0 guide for v0 config reference. This page covers vNext only.
Weave Didn't Load
Symptom: Your harness starts but Weave agents like Loom or Tapestry aren't available, or the adapter appears to be ignored.
Check these things:
Your harness adapter is installed and registered: consult your adapter's getting-started guide. For example, the OpenCode adapter requires a valid
opencode.jsonwith the plugin entry:json{ "plugin": ["@opencode_weave/weave"] }Common mistakes:
- Using
"plugins"(plural) instead of"plugin" - Missing the array brackets:
"plugin": "@opencode_weave/weave"❌ - Typo in package name
- Using
Restart your harness: adapters are loaded at startup. If you added Weave to an already-running instance, restart it.
Check for installation errors: your harness may print errors during plugin installation. If you see an npm error referencing the Weave package, check your internet connection or npm registry access.
Agents Not Appearing
Symptom: Weave loaded successfully, but agents you expected to be directly selectable aren't showing in the agent selector.
Check these things:
disable agentsin your config: check your.weave/config.weavefiles for adisable agentsstatement:weave# This would hide the agent disable agents ["warp"]Remove or comment out the entry to re-enable the agent.
For custom agents, naming rules:
- Name must be lowercase, only letters/numbers/hyphens/underscores
- Must not collide with built-in names (
loom,tapestry,shuttle,pattern,thread,spindle,weft,warp) - Must start with a letter (not a number)
For custom agents, check
mode:- Custom agents default to
mode subagent subagentagents do not appear in the selector- Set
mode primaryormode allif you want the agent to be directly selectable
- Custom agents default to
Config file parses cleanly: an invalid
.weavesyntax error may cause the entire config to be skipped silently. Check for unmatched braces, unclosed strings, or invalid values.
Config Not Being Applied
Symptom: You've added settings to your .weave config but Weave isn't picking them up.
Check these things:
File is at the correct path:
- Project config:
.weave/config.weave(in the project root) - Global config:
~/.weave/config.weave
- Project config:
Valid
.weavesyntax: check for:- Unmatched braces
{} - Unclosed quoted strings
- Unknown keywords
- Unmatched braces
Merge precedence: project config (
.weave/config.weave) overrides global config for scalar values. If you are setting something in global config but project config overrides it, the global value is ignored.Restart your harness: config is read at startup. Changes to config files require restarting to take effect.
Check for silent failures: some config errors (like referencing a non-existent model ID) don't crash Weave but silently fall back to defaults. Check that model IDs are valid for your configured providers.
/start-work Not Working
Symptom: You type /start-work and nothing happens, or you get an error about no plan found.
Check these things:
A plan file exists in
.weave/plans/:/start-worklooks for markdown files with unchecked- [ ]checkboxes:shls .weave/plans/If the directory is empty, ask Loom to create a plan first by describing a complex task.
The plan file has unchecked tasks: if all checkboxes in a plan are already checked (
- [x]), there's nothing to execute./start-workrequires at least one- [ ]item.The
start-workhook is enabled: check thatstart-workisn't listed in yourdisable hooks:weave# This would break /start-work - don't do this disable hooks ["start-work"]Plan file follows the expected format: the plan must be a markdown file with GitHub-style task list checkboxes (
- [ ]and- [x]). Non-standard checkbox formats won't be recognized.
Tapestry Didn't Continue Automatically
Preview
The automatic continuation settings described in this section are currently in preview. If you need the most predictable behavior, prefer manual resume with /start-work or /run-workflow.
Symptom: You expected execution to resume, but Tapestry stayed idle or stopped after an interruption.
Check these things:
Was this compaction recovery or plain idle?
- By default, Weave resumes after compaction recovery
- By default, Weave does not nudge a merely idle session to continue
Your
continuationconfig:weavecontinuation { recovery { compaction true } idle { enabled false work false workflow false todo_prompt false } }If
idle.workisfalse, an idle Tapestry session will stay quiet until you run/start-workagain.Relevant hooks are enabled:
work-continuationcontrols work recovery and idle work nudgesworkflowcontrols workflow continuation behavior
The plan is still resumable:
/start-workresumes from the first unchecked task. If every checkbox is already checked, there is nothing left to run.Manual resume is always available: if in doubt, run
/start-workagain.
See Execution & Continuation for the exact rules.
Todos Were or Weren't Finalized Unexpectedly
Symptom: Leftover in_progress todos were silently completed, or you expected a todo-finalization prompt and did not get one.
Check these things:
Direct todo repair can happen silently when Weave can write todos directly. This is expected.
Fallback todo prompting is separate: if you want a visible prompt when direct write is unavailable, enable:
weavecontinuation { idle { todo_prompt true } }The
todo-continuation-enforcerhook must be enabled. If it is disabled viadisable hooks, neither silent repair nor fallback prompting will run.Compaction restoration is separate from todo finalization:
compaction-todo-preserverrestores todo state after compaction, whiletodo-continuation-enforcerhandles leftoverin_progressitems.
Skills Not Loading
Symptom: You've assigned skills to agents in config but the agents don't seem to be using them, or you get errors about skills not being found.
Check these things:
Skill file is named exactly
SKILL.md(uppercase, exact name). Consult your adapter's documentation for the canonical discovery path.Valid YAML frontmatter with a
namefield:markdown--- name: react-best-practices description: React development guidelines --- # React Best Practices ...The
namefield is what you reference in config.Skill name in config matches the frontmatter
name:weaveagent shuttle { skills ["react-best-practices"] }Skill is not excluded:
weave# Remove from here if present disable skills ["react-best-practices"]
Context Window Warnings
Symptom: You see warnings about context window usage during long sessions.
These come from the context-window-monitor hook, which tracks token usage automatically:
- At 80% usage: a warning is printed to help you plan ahead
- At 95% usage: recovery strategies are suggested (e.g., compacting the conversation)
To disable these warnings:
disable hooks ["context-window-monitor"]See Disabling Features for more about disabling hooks and other components.
Still having issues?
Check the GitHub repository for open issues and discussions. You can also check the Full Configuration Example to see a complete, working config that combines all features.
