#Persistent ACP agent's workspace

1 messages · Page 1 of 1 (latest)

weak basalt
#

My persistent ACP agents have separate workspaces from regular agents. For example, the regular agent workspace is located at ~/.openclaw/workspace-<agent_id>, while the ACP agent workspace is at ~/.openclaw/workspace-acp-<purpose>-<agent_id>. The ACP agent label follows the convention acp-<purpose>-<agent_id>, where agent_id is the regular agent ID, and their account ID is inherited from the regular agent.

The ACP agents have identical current working directories (cwd) that differ from their workspaces. What is the best practice for managing an ACP agent's workspace? Currently, my setup uses separate methods. I am considering replacing the ACP agents' workspace path with the regular agents' workspace they inherited from to share memory. Do you recommend this approach, or is it better to keep them separate?

opaque mapleBOT
nocturne treeBOT
#

To help others find answers, you can mark your question as solved via Right click solution message -> Apps -> âś… Mark Solution

opaque mapleBOT
quasi laurelBOT
#

I’d treat them as different layers:

  • workspace = the agent’s home/memory bootstrap
  • cwd = where the ACP harness runs
  • auth + session history live separately under ~/.openclaw/agents/<agentId>/...

So, I would not replace ACP workspaces with the parent agent workspace by default.

Best practice:

  • Keep separate workspaces if the ACP agent should have its own persona, rules, or lifecycle.
  • Share the workspace only if you truly want one shared brain, meaning shared AGENTS.md, SOUL.md, USER.md, memory/, etc.
  • If your real goal is just “same repo/files”, share the cwd, not necessarily the workspace.

Important caveat: sharing the workspace does not merge everything. Sessions and auth are still per-agent, so you only share the workspace-backed memory/files, not the full agent state.

Also, shared workspaces are supported, but they can make some commands ambiguous, so you may need to pass --agent explicitly.

weak basalt
quasi laurelBOT
#

Yes, if your only goal is shared workspace memory, I think pointing the ACP agent’s workspace at the regular agent’s workspace is a reasonable setup.

That gives you:

  • shared memory/, AGENTS.md, SOUL.md, USER.md, etc.
  • separate labels, auth, and session transcripts
  • the same cwd behavior you already have

So in your case, I’d frame it as:

  • same workspace = same memory/persona
  • same cwd = same project/files
  • different agent ids/labels = separate runtime/session identity

Main caveats:

  • both agents now share all workspace files, not just memory
#
  • if you want ACP-specific instructions later, this will get in the way
  • some CLI flows may need explicit --agent when multiple agents share one workspace

So, for your stated goal, yes, I’d prefer sharing the workspace path explicitly over keeping a fake separate ACP workspace that you mentally treat as shared.

I’d just do it deliberately in config, not as a hidden inheritance trick.

If you want, I can sketch the exact config pattern for “distinct agent ids, shared workspace path.”