Adapted community discussion: Paraphrased and condensed from an anonymized public OpenClaw Discord support conversation from August 2026. Technical guidance was reviewed for OpenClaw 2026.9.3.
I indexed an Obsidian vault and told OpenClaw to use it as my knowledge base. Search can find the notes, but when I ask it to update a learning-progress note, it sometimes writes the information into USER.md instead. How do I make the vault note the reliable write target?
Indexing makes the vault searchable. It does not decide which file the agent should edit. USER.md is a special user-model file loaded into eligible sessions, so a request about personal progress can look like a profile update.
Put a clear routing rule in the active workspace’s AGENTS.md: name the vault as the canonical project knowledge base, direct learning progress to the existing vault note, reserve USER.md for stable profile directives, and require the agent to ask when the target is ambiguous. After an edit, have it report and reread the exact file it changed.
I added the routing rule and started a fresh chat. This time OpenClaw updated the Obsidian note, but it also updated USER.md.
That suggests the same fact already exists in USER.md, which leaves two plausible destinations. First locate the active workspace, then inspect only the relevant lines rather than sharing the whole file:
openclaw config get agents.defaults.workspace
grep -n -i -E 'learning|progress' ~/.openclaw/workspace/USER.md
Adjust the path if your configured workspace differs. Keep private profile details out of public logs and forum posts.
I found the same progress fact in USER.md. That explains why OpenClaw kept treating it as profile information.
Back up USER.md, remove only that competing project-progress entry, and leave stable profile directives intact. Keep the stronger vault-routing rule in AGENTS.md, then start a fresh session with /new so the updated instructions are loaded. Test one small edit and verify that only the intended Obsidian file changed.
That fixed it. The next request updated the Obsidian note and left USER.md alone.
That confirms the issue was ambiguous write routing. It does not mean USER.md mechanically overrides every vault note. USER.md is loaded directly as profile context, while vault notes are retrieved when relevant, so duplicate facts can make both files look appropriate. One canonical location plus an explicit routing rule removes that ambiguity.