What an agentic VM is
An agentic VM is a machine dedicated to running more than one coding agent at once. It has three pieces that rarely travel together: a runtime that keeps their terminals alive, a context all of them read, and a way in from outside. In this lab we build all three on Ubuntu 24.04 with herdr as the runtime. We leave Claude Code 2.1.260, Codex 0.153.2, OpenCode 1.18.27 and OpenClaw 2026.9.1 installed, each pinned so the result is the same six months from now.
Why shared memory is the step that changes the most
Installing four CLIs on one machine takes minutes; keeping them from tripping over each other and redoing the same work is not. The difference comes from giving them two common memories. The static one is an AGENTS.md holding the project rules, which Codex, OpenCode and OpenClaw read as-is and Claude Code receives through a symlink named CLAUDE.md. The dynamic one is a knowledge-graph MCP server that all four point at the same file, so whatever one writes down the next one finds.
If you have never written one, start with building your own MCP server. And to work out what is worth remembering and what is not, memory in AI agents is the missing piece of theory.
What is left out, and why
The VM ends up with no model credentials at all. That is deliberate: the keys are yours and have no business living on a disposable machine or in a video. All four CLIs start, answer --version and end up configured, but you open the first real conversation with your own account.
We also wire no chat channel into OpenClaw. We do leave its gateway listening on the loopback interface with a sample token, which is the exact spot where Telegram or Signal plugs in later.
Keep going
If you are coming from another terminal assistant, read our comparison of Claude Code against Cursor and Copilot and the guide to the Codex CLI. They will place you before you decide which one goes in each pane. More reproducible procedures live in our hands-on labs and in the AI Agents category. The reference documentation is at herdr.dev, in the OpenClaw docs and in the Model Context Protocol specification.
FAQ
Do I need an API key to complete this lab?
No. All four CLIs install, answer –version and end up configured with no credentials at all, and the OpenClaw gateway starts with –auth-choice skip. You supply the model keys when you open the first real conversation, which is why none appear in any step or in the video.
How is herdr different from tmux for this use case?
herdr knows what each agent is doing. Beyond panes, tabs and persistent sessions, it marks every pane as working, blocked or idle, and with the integrations installed the agent itself reports that state instead of it being guessed from the screen. All of it can be queried and driven through a socket API.
Do the four CLIs really share one memory?
Yes, because all four register the same MCP server with the same MEMORY_FILE_PATH variable, so they write to and read from a single graph file. The lab checks it twice: by finding the path in all four configurations, and by writing an entity that we then read back out of the file.
Is it safe to leave the OpenClaw gateway listening?
In this setup it only listens on 127.0.0.1, so nothing is open from outside the machine: you reach the panel through an SSH tunnel. If you later expose it to a network, replace the sample token with a real one and review the approvals policy before connecting any chat channel.