#import backup .md files
1 messages ยท Page 1 of 1 (latest)
Short version: thereโs no special โimportโ command for those files, just put them back into the agent workspace.
openclaw config get agents.defaults.workspace
Default is usually:
~/.openclaw/workspace
Copy your backed-up files there on the machine running the gateway:
AGENTS.mdSOUL.mdIDENTITY.md
USER.mdTOOLS.mdMEMORY.md(or legacymemory.md)memory/if you backed that up too
Then restart:
openclaw gateway restart
A couple of important notes:
- If you only restore the
.mdfiles, you get your persona/memory back, but not old sessions, auth, or channel state. - If you want the bot restored more completely, also copy the state dir
~/.openclaw, then run:
openclaw doctor
openclaw gateway restart
One warning: donโt restore an old BOOTSTRAP.md unless you intentionally want the first-run bootstrap again.
Docs:
- https://docs.openclaw.ai/help/faq#where-should-agentsmd--soulmd--usermd--memorymd-live
- https://docs.openclaw.ai/help/faq#can-i-migrate-my-setup-to-a-new-machine-mac-mini-without-redoing-onboarding
- https://docs.openclaw.ai/concepts/agent-workspace
If you want, I can also give you a copy/paste cp command for your exact backup folder.
How do I fix the below? from 'openclaw doctor'
โ Memory search โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ
โ โ
โ Memory search is enabled, but no embedding provider is ready. โ
โ Semantic recall needs at least one embedding provider. โ
โ Gateway memory probe for default agent is not ready: No GitHub token available for โ
โ Copilot embedding provider โ
โ โ
โ No API key found for provider "openai". You are authenticated with OpenAI Codex OAuth. โ
โ Use openai-codex/gpt-5.4 (OAuth) or set OPENAI_API_KEY to use openai/gpt-5.4. โ
โ โ
โ No API key found for provider "google". Auth store: โ
โ /home/openclaw-agent/.openclaw/agents/main/agent/auth-profiles.json (agentDir: โ
โ /home/openclaw-agent/.openclaw/agents/main/agent). Configure auth for this agent โ
โ (openclaw agents add <id>) or copy auth-profiles.json from the main agentDir. โ
โ โ
โ No API key found for provider "voyage". Auth store: โ
โ /home/openclaw-agent/.openclaw/agents/main/agent/auth-profiles.json (agentDir: โ
โ /home/openclaw-agent/.openclaw/agents/main/agent). Configure auth for this agent โ
โ (openclaw agents add <id>) or copy auth-profiles.json from the main agentDir. โ
โ โ
โ No API key found for provider "mistral". Auth store: โ
โ /home/openclaw-agent/.openclaw/agents/main/agent/auth-profiles.json (agentDir: โ
โ /home/openclaw-agent/.openclaw/agents/main/agent). Configure auth for this agent โ
โ (openclaw agents add <id>) or copy auth-profiles.json from the main agentDir. โ
โ โ
โ Fix (pick one): โ
โ - Set OPENAI_API_KEY, GEMINI_API_KEY, GOOGLE_API_KEY, VOYAGE_API_KEY, MISTRAL_API_KEY in โ
โ your environment โ
โ - Configure credentials: openclaw configure --section model โ
โ - For local embeddings: configure agents.defaults.memorySearch.provider and local model โ
โ path โ
โ - To disable: openclaw config set agents.defaults.memorySearch.enabled false โ
I donโt see the actual openclaw doctor error in your message yet.
Please paste:
openclaw --version
openclaw doctor
If itโs long, openclaw status --all helps too.
You can redact tokens/secrets, but keep the exact error text. Once you paste that, I can tell you the fix.
Troubleshooting docs: https://docs.openclaw.ai/gateway/troubleshooting
Yep, thatโs two separate config/auth issues, not a problem with your .md restore.
1) Your default model is on the wrong route
Youโre signed in with Codex OAuth, but openai/gpt-5.4 needs an OpenAI API key.
If you want to use your Codex/ChatGPT login, switch to:
openclaw config set agents.defaults.model.primary openai-codex/gpt-5.4
If you want openai/gpt-5.4 instead, you need to set OPENAI_API_KEY.
2) Memory search has no embedding provider
Semantic memory search needs an embedding provider. Right now it looks like Copilot/OpenAI embeddings are not available.
You have 3 sane options:
A. Use GitHub Copilot for embeddings
openclaw models auth login-github-copilot
openclaw config set agents.defaults.memorySearch.provider github-copilot
B. Use OpenAI embeddings
Set OPENAI_API_KEY, then:
openclaw config set agents.defaults.memorySearch.provider openai
C. Disable semantic memory search for now
If you just want things working and donโt care about semantic recall yet:
openclaw config set agents.defaults.memorySearch.enabled false
Then restart and re-check:
openclaw gateway restart
openclaw memory status --deep
openclaw doctor
One important gotcha: if OpenClaw is running as a service, the API key must be available to the gateway service, not just your current shell.
Docs:
If you want, paste:
openclaw --version
openclaw config get agents.defaults.model.primary
openclaw config get agents.defaults.memorySearch.provider
and Iโll tell you the exact best fix from there.
Let's move on to a more urgent question first:
Hey Krill โ OpenClaw 2026.4.15 on atmt, main agent runs in sandbox mode (agents.defaults.sandbox.mode = "all", tools.fs.workspaceOnly = true).
I hit something surprising: there are two workspace directories that don't sync.
- Host:
/home/openclaw-agent/.openclaw/workspace/(what I see, what the Control UI Core Files panel shows) - Sandbox:
/home/openclaw-agent/.openclaw/sandboxes/agent-main-<hash>/(what the agent actually reads, bind-mounted into the container as/workspace,ro,z)
The sandbox was seeded once from ~/.nvm/versions/node/v24.15.0/lib/node_modules/openclaw/docs/reference/templates/ and never synced again. Edits I made to the host workspace didn't reach the agent. I had to cp the files across manually.
Four questions:
- What events trigger a sandbox workspace re-seed? My agent reports
bootstrapSeededAtpredates the current session, so new-session and gateway restart don't seem to do it. Upgrade? Rebuild? Manual? - Is there a supported command to sync host โ sandbox?
- Why two copies at all, when the sandbox mount is already read-only inside the container? A direct RO bind of
~/.openclaw/workspace/into/workspacewould preserve isolation (container still can't write) AND eliminate drift. Is there a reason the current design copies? - What's the recommended upgrade-safe workflow for preserving workspace customizations across OpenClaw version bumps?
Let me check the actual sandbox/workspace code path so I don't guess.
I found the container lifecycle path too. Iโm checking whether sandbox recreate actually clears the copied workspace or just the container, because that changes the answer a lot.
Yep, what youโre seeing is real. In 2026.4.15, Docker sandboxing with workspaceAccess: "none" or "ro" can absolutely drift from the host workspace.
-
What triggers a re-seed?
For Docker copy mode, the sandbox workspace is created per scope, not per chat. Your pathsandboxes/agent-main-...meansscope: "agent", so new session and gateway restart reuse the same sandbox workspace.
Also, the seed is not a full resync. Code path is basically:- create sandbox workspace if needed
- copy a small bootstrap file set from host only if each dest file is missing
- fill any still-missing files from templates
So host edits later do not propagate automatically.
bootstrapSeededAtis just workspace bootstrap state, not a hostโsandbox sync timestamp. -
Supported host โ sandbox sync command?
I donโt see a dedicated supported sync command for this in 2026.4.15.
openclaw sandbox recreate --agent mainis the closest reset command, but for Docker it removes the container, not the copied workspace under~/.openclaw/sandboxes/..., so it does not guarantee a fresh copy of host workspace changes. -
Why two copies at all?
This is the current design:
-
workspaceAccess: "none"โ sandbox-local/workspaceworkspaceAccess: "ro"โ sandbox-local/workspace, plus host workspace mounted read-only at/agentworkspaceAccess: "rw"โ host workspace mounted directly at/workspace
So a direct RO bind of host workspace to
/workspaceis not the currentrobehavior.
The likely reason is to keep a sandbox-local canonical/workspacefor staged files, synced skills, media, and backend consistency. But yes, the downside is drift.
-
Recommended upgrade-safe workflow
Best practice:- Treat host workspace as the source of truth
- Keep it in a private git repo / backup
- Treat
~/.openclaw/sandboxes/*as disposable runtime state - After workspace changes or upgrades, refresh the sandbox copy manually if you stay on
none/ro
If you want no drift, use:
agents: {
defaults: {
sandbox: {
workspaceAccess: "rw"
}
}
}
But that is a real tradeoff, because the sandbox can then write the real host workspace.
One extra nuance: if you saw files in the sandbox seeded from docs/reference/templates, that usually means those files were missing in the host workspace when that sandbox scope was first created. It does not prefer templates over your host files, it only template-fills missing ones.
Docs: