{"slug": "end-ai-agent-lock-in-start-conversation-with-one-agent-continue-with-another", "title": "End AI agent lock-in. Start conversation with one agent – continue with another", "summary": "Aplexica, a new local open-source application, enables cross-agent state portability for AI coding agents, allowing users to switch between agents like Claude Code and Codex without losing memories, skills, tools, or conversation history. The tool replicates agent state deterministically and supports synchronization across devices, with installation via Homebrew and optional remote plugins.", "body_md": "**Cross-agent state portability for AI coding agents.** Your memories, skills, tools, and conversation history — portable across every AI coding agent you use. Switch agents without starting over. Run several side-by-side, all reading from the same context. Try the next agent the day it ships and lose nothing if you don't like it.\n\nDeterministic lossless replication of agent state — not LLM-summarized briefing.The next agent doesn't readaboutyour previous session; itisthe previous session, continued.\n\n**Aplexica is complete and usable as a local open-source application.** It does\nnot require an account, a hosted service, or a network connection. Optional\nremote plugins are separate, user-selected integrations and are never required\nfor local operation.\n\nFor cross-device synchronization across your AI agents, visit\n[aplexica.com](https://www.aplexica.com/) to learn more.\n\n```\nbrew install Aplexica/tap/aplexica\naplexica setup --yes --install\n```\n\n**Uninstall Test.** A portability tool should survive its own removal.\nSee the [Uninstall Test](https://www.aplexica.com/#uninstall-test).\n\nToday, picking an AI agent is a one-way door. The moment you commit to Claude Code or Codex or any other, you accumulate context that only *that* agent can read — memories about you, skills you've installed, MCP servers and subagents you've wired up, conversations you've built up. After a few weeks of real use, that context is what makes the agent useful. Switching means starting over. Running two in parallel means maintaining two siloed copies by hand. Trying a new agent that just launched means abandoning everything you've built.\n\nAplexica eliminates that lock-in. It sits beside your AI agents and turns the artifacts they produce — memories, skills, tools, and conversation history — into portable, agent-agnostic state that **you own** and that **follows you to every agent you use**.\n\nWith Aplexica installed you can:\n\n**Use every agent like it has always known you.** Memories, skills, and conversation history sync among all your installed agents within seconds.**Switch agents without losing a thing.** One command converts your full state from any V1 agent into any other agent's native format.**Fork a conversation across agents.** Start in one agent, branch into a second to try a different direction, keep both. Compare results.**Back up and restore.** Snapshot everything your agents know, restore it after a lost laptop or OS reinstall.\n\nAfter Aplexica is installed and the daemon is running, try this quick conversation sync check:\n\n-\nOpen the local Aplexica web UI and go to\n\n**Routing rules**. -\nChoose\n\n**Add from preset** and create the**Sync everything everywhere** routing rule template. -\nOpen Codex and ask:\n\n```\nWhat is the largest planet in our solar system?\n```\n\n-\nWait for Codex to answer.\n\n-\nOpen another terminal window, run\n\n`claude`\n\n, then type`/resume`\n\n. -\nIn Claude Code's conversation list, select the conversation named like:\n\n```\nCodex: what is the largest planet in our solar system?\n```\n\nClaude Code should resume the conversation that started in Codex, using its own native conversation history. For Hermes, you may need to close Hermes and open it again before the refreshed conversation list appears.\n\nThe same `codex`\n\nand `claude-code`\n\nadapters also serve their installed desktop\napps. After writing a Codex rollout, Aplexica asks Codex's own app-server to\nload it; when that best-effort registration succeeds, Codex's normal thread\ninventory can discover it without Aplexica touching private app state. Claude\nCode Desktop shares configuration and project state, including guarded mirrors\nfor its default active worktrees, but Anthropic keeps its Desktop conversation\nlist separate. On macOS and Windows, resume the synchronized artifact in the\nCLI and run `/desktop`\n\nfor the supported app handoff.\n\nThe CLI and desktop surfaces are detected independently; either can be used by itself. The daemon retains candidate roots for these two adapters and rechecks surface availability at runtime, so installing the CLI or desktop app later activates synchronization without requiring the other surface to be present. Activation completes the native safety snapshot before first synchronization and backfills recent peer-device conversations using the configured history limit without synthesizing duplicates of locally authored sessions.\n\nAplexica installs three executables together:\n\n`aplexica`\n\n— CLI, daemon, local web UI server, and setup wizard.`aplexica-status`\n\n— status helper the tray spawns, so process monitors can tell the watcher apart from the daemon.`aplexicatray`\n\n— menu bar / system-tray companion.\n\nThe local web UI is compiled into `aplexica`\n\nitself in release builds; there is\nno separate UI package to install.\n\n**macOS / Linux — Homebrew:** Homebrew is a live channel at 1.0.74.\nFull steps: [brew.md](/Aplexica/Aplexica/blob/main/docs/install/brew.md).\n\n```\nbrew install Aplexica/tap/aplexica\naplexica setup --yes --install\n```\n\n**Debian / Ubuntu — .deb:** follow the exact-version download and\nverification steps in\n\n[apt.md](/Aplexica/Aplexica/blob/main/docs/install/apt.md), then:\n\n```\naplexica setup --yes --install\n```\n\n**Windows (release archive):** download `aplexica-1.0.74-windows-amd64.zip`\n\nor\n`aplexica-1.0.74-windows-arm64.zip`\n\nfrom the\n[v1.0.74 release](https://github.com/Aplexica/Aplexica/releases/tag/v1.0.74),\nverify it following [verify.md](/Aplexica/Aplexica/blob/main/docs/install/verify.md), unzip it into a folder\nyou own, and run `aplexica.exe`\n\nor `aplexicatray.exe`\n\nfrom that folder. Full\nsteps, including start-at-logon: [windows.md](/Aplexica/Aplexica/blob/main/docs/install/windows.md). Then:\n\n```\naplexica setup --yes --install\n```\n\nThat one `setup`\n\ncommand registers and starts the daemon, installs and launches\nthe tray when it is enabled (the default on every supported desktop OS), and\nbrings up the local web UI. Adapters are built in and auto-discover your\nagents.\n\n| Platform | Channel | Status and guide |\n|---|---|---|\n| Debian / Ubuntu | Versioned `.deb` |\nAvailable;\n|\n\n[direct.md](/Aplexica/Aplexica/blob/main/docs/install/direct.md)[build.md](/Aplexica/Aplexica/blob/main/docs/install/build.md)[brew.md](/Aplexica/Aplexica/blob/main/docs/install/brew.md)[windows.md](/Aplexica/Aplexica/blob/main/docs/install/windows.md)[update.md](/Aplexica/Aplexica/blob/main/docs/install/update.md)Aplexica release authority is a non-exportable AWS KMS key—not GitHub, a CDN, a package registry, or a maintainer workstation. Each release ships a KMS-backed cosign signature over `SHA256SUMS`\n\nand a KMS-backed, public-policy-checked SLSA v1 provenance bundle. GitHub Actions receives only a short-lived AWS session for the isolated signing job; the publication job has no signing authority.\n\nVerify `SHA256SUMS`\n\nwith the independently distributed `aplexica-release.pub`\n\n, check the selected artifact digest, and verify its provenance and semantic policy. GitHub Releases, a NAS, USB, or a local HTTP directory may all transport the same authenticated bytes. The exact commands are in [Verify a release](/Aplexica/Aplexica/blob/main/docs/install/verify.md). Never pipe downloaded text to a shell or PowerShell expression.\n\nDevelopment builds use the public Go source directly:\n\n```\ngit clone https://github.com/Aplexica/Aplexica.git\ncd Aplexica\nmake build\nmake tray\n```\n\nThe local web UI is replaced by an explanatory placeholder unless\n`internal/web/embed/dist-local/`\n\ncontains a Portal bundle. Release-style builds\nadd `-tags release`\n\n, which makes the daemon fail closed when that bundle is\nmissing; development builds can omit the tag. See the\n[source-build guide](/Aplexica/Aplexica/blob/main/docs/install/build.md) for tests, cross-compilation, and\nlocal installation.\n\n```\n# 1. Install Aplexica using one of the available methods in docs/install/.\n\n# 2. Register and start the daemon, install tray autostart, launch the tray, and\n#    bring up the local web UI. The tray is enabled by default on every OS.\naplexica setup --yes --install\naplexica status\n#    (Run `aplexica setup` with no flags for an interactive walkthrough.)\n\n# 3. Watch the canonical store\naplexica list                                # nothing yet — agent state hasn't been imported\n\n# 4. Add at least one matching routing rule first; docs/quickstart.md gives\n#    the exact TOML and `aplexica rules add` command. Then enable receivers.\naplexica sync enable --all                   # or name specific agents\naplexica daemon reload\n\n# 5. Let your agents create artifacts naturally. Once Claude Code,\n#    Codex, or any other supported agent writes its native file, the\n#    daemon imports it within ~2 seconds and fans it out to every\n#    enabled agent's native location.\n\n# 6. Anywhere along the way:\naplexica list                                # see every artifact across kinds\naplexica show <artifact-id>                  # inspect one\naplexica conflicts list                      # any divergent writes that need your decision\naplexica branch list <artifact-id>           # branch topology if you've forked\n```\n\nA guided walkthrough from install to working two-agent sync lives at [docs/quickstart.md](/Aplexica/Aplexica/blob/main/docs/quickstart.md).\n\nFive V1 agents, four artifact kinds, full bidirectional translation:\n\n| Agent | Surfaces | Vendor | Memory | Skill | Conversation | Tool | Canonical conv (`acf.conversation.v1` ) |\n|---|---|---|---|---|---|---|---|\n| Claude Code | CLI + Desktop | Anthropic | ✅ markdown | ✅ skill.md | ✅ session.jsonl | ✅ MCP (.mcp.json) | ✅ |\n| Codex | CLI + Desktop | OpenAI | ✅ AGENTS.md | ✅ skill.md | ✅ session.jsonl | ✅ MCP (config.toml) | ✅ |\n| Hermes | CLI | Nous Research | ✅ MEMORY.md / USER.md | ✅ skill.md | ✅ SQLite (state.db) | ✅ MCP (config.yaml) | ✅ |\n| OpenClaw | CLI | community | ✅ MEMORY/AGENTS/CLAUDE/DREAMS.md + memory/YYYY-MM-DD.md | ✅ skill.md | ✅ session JSONL | ✅ MCP (openclaw.json) | ✅ |\n| Kilo Code | CLI | Kilo | ✅ AGENTS.md / AGENT.md | ✅ skill.md | ✅ SQLite (`kilo.db` ) + `kilo import` |\n✅ MCP (kilo.jsonc) | ✅ |\n\nAdding a new agent is one ~80-line adapter package. See [docs/adapters/](/Aplexica/Aplexica/blob/main/docs/adapters) for per-agent specs and [internal/adapter/openclaw/](/Aplexica/Aplexica/blob/main/internal/adapter/openclaw) for a reference implementation.\n\nEach supported agent has an **adapter** that translates between its native format and the **Aplexica Canonical Format (ACF)** — an append-only event log per artifact, hash-chained for integrity, plus a typed payload. State lives in the user-owned **canonical store** at `~/.aplexica/store/`\n\n. The daemon, run through `aplexica daemon`\n\n, watches each agent's native location and runs the import → fan-out cycle on every change. Secrets live in a separate protected store and never enter the canonical event log. The whole stack is **deterministic and lossless** — no LLM summarization, no consolidation, no briefing layer.\n\nThe public BRDs in [docs/](/Aplexica/Aplexica/blob/main/docs) describe the canonical format and local\nproduct requirements.\n\nPower-user workflows are first-class:\n\n**Branches.**`aplexica fork <artifact> --from <event> --to-agent codex`\n\ncreates a divergent branch; the source agent's view is unchanged.`aplexica log --graph <artifact>`\n\nrenders the topology.`aplexica merge <artifact> --from <branch> --into <branch>`\n\nreconciles.**Selective sync.**`aplexica tag add <artifact> work`\n\nthen a TOML rule like`route.agents = [\"claude-code\", \"codex\"]`\n\nroutes that artifact only to your work agents.`aplexica rules test <artifact>`\n\nexplains every routing decision.**Stays-local content.** Tags are metadata, not policy, and no routing rules are active by default. To keep a`private`\n\nmemory on its originating agent, add an explicit rule matching that tag with`route.agents = [\"__originatingAgent__\"]`\n\nand`route.remote = \"exclude\"`\n\n; the[quickstart](/Aplexica/Aplexica/blob/main/docs/quickstart.md#8-selective-sync)gives the complete rule and safe replacement sequence.\n\nFull reference: [docs/04-brd-forking-and-merging.md](/Aplexica/Aplexica/blob/main/docs/04-brd-forking-and-merging.md), [docs/05-brd-selective-sync-and-routing.md](/Aplexica/Aplexica/blob/main/docs/05-brd-selective-sync-and-routing.md).\n\n`aplexicatray`\n\nis a cross-platform menubar / system-tray / SNI indicator that reflects daemon state at a glance:\n\n| Icon | Meaning |\n|---|---|\n| Idle | Daemon up, no recent activity |\n| Active | Snapshot ticks arriving |\n| Paused | Daemon up but quiet for ≥ 5 minutes |\n| Conflict | Unresolved conflicts (overrides other states) |\n| Error | Daemon not reachable |\n\nRight-click for `Pause / Resume`\n\n, `Show Conflicts`\n\n, `Open Logs`\n\n, `Pending Projects`\n\n, and `Open Aplexica`\n\n. Packaged installs include it, and `aplexica daemon install`\n\nwires it to start with Aplexica on every desktop OS unless you explicitly opt out.\n\n| Path | Purpose |\n|---|---|\n|\n\n[docs/user-guide.md](/Aplexica/Aplexica/blob/main/docs/user-guide.md)[docs/quickstart.md](/Aplexica/Aplexica/blob/main/docs/quickstart.md)[docs/install/](/Aplexica/Aplexica/blob/main/docs/install)[docs/01-brd-backup-restore.md](/Aplexica/Aplexica/blob/main/docs/01-brd-backup-restore.md)[docs/02-brd-format-adapters.md](/Aplexica/Aplexica/blob/main/docs/02-brd-format-adapters.md)[docs/03-brd-local-realtime-sync.md](/Aplexica/Aplexica/blob/main/docs/03-brd-local-realtime-sync.md)[docs/04-brd-forking-and-merging.md](/Aplexica/Aplexica/blob/main/docs/04-brd-forking-and-merging.md)[docs/05-brd-selective-sync-and-routing.md](/Aplexica/Aplexica/blob/main/docs/05-brd-selective-sync-and-routing.md)[docs/09-security-and-trust-model.md](/Aplexica/Aplexica/blob/main/docs/09-security-and-trust-model.md)[docs/10-non-functional-requirements.md](/Aplexica/Aplexica/blob/main/docs/10-non-functional-requirements.md)[docs/adapters/](/Aplexica/Aplexica/blob/main/docs/adapters)[docs/plugin-protocol-spec.md](/Aplexica/Aplexica/blob/main/docs/plugin-protocol-spec.md)[docs/plugin-author-guide.md](/Aplexica/Aplexica/blob/main/docs/plugin-author-guide.md)[CHANGELOG.md](/Aplexica/Aplexica/blob/main/CHANGELOG.md)Aplexica welcomes contributions. Start with [CONTRIBUTING.md](/Aplexica/Aplexica/blob/main/CONTRIBUTING.md) for branch / commit / test conventions, then open a PR.\n\n- Contributions are accepted under a\n**Contributor License Agreement**. The CLA grants Aplexica the right to distribute your contribution under AGPL-3.0*and*under a separate commercial license. A bot comments on your first PR with the signing link; see[CONTRIBUTING.md](/Aplexica/Aplexica/blob/main/CONTRIBUTING.md)for the full terms. - Bug reports →\n[issues](https://github.com/Aplexica/Aplexica/issues)with the`bug_report`\n\ntemplate. - Security vulnerabilities →\n**do not file a public issue**; see[SECURITY.md](/Aplexica/Aplexica/blob/main/SECURITY.md)for the responsible-disclosure address and policy. - Community conduct →\n[CODE_OF_CONDUCT.md](/Aplexica/Aplexica/blob/main/CODE_OF_CONDUCT.md)(Contributor Covenant 2.1).\n\nAplexica OSS is licensed under the **GNU Affero General Public License v3.0** ([LICENSE](/Aplexica/Aplexica/blob/main/LICENSE)).\n\nThe AGPL-3.0 plugin-boundary stance is documented in [LICENSE-EXCEPTIONS.md](/Aplexica/Aplexica/blob/main/LICENSE-EXCEPTIONS.md): third-party plugins running in their own process and communicating with the `aplexica`\n\ndaemon via the documented JSON-RPC stdio protocol are **NOT considered derivative works of the daemon** for AGPL-3.0 purposes. See that document for the full legal statement.\n\nAplexica is under active development. Use the [release\npage](https://github.com/Aplexica/Aplexica/releases) and\n[CHANGELOG.md](/Aplexica/Aplexica/blob/main/CHANGELOG.md) for shipped-version status.", "url": "https://wpnews.pro/news/end-ai-agent-lock-in-start-conversation-with-one-agent-continue-with-another", "canonical_source": "https://github.com/Aplexica/Aplexica", "published_at": "2026-09-02 15:40:30+00:00", "updated_at": "2026-09-02 15:52:57.475094+00:00", "lang": "en", "topics": ["ai-tools", "ai-agents", "developer-tools"], "entities": ["Aplexica", "Claude Code", "Codex", "Anthropic"], "alternates": {"html": "https://wpnews.pro/news/end-ai-agent-lock-in-start-conversation-with-one-agent-continue-with-another", "markdown": "https://wpnews.pro/news/end-ai-agent-lock-in-start-conversation-with-one-agent-continue-with-another.md", "text": "https://wpnews.pro/news/end-ai-agent-lock-in-start-conversation-with-one-agent-continue-with-another.txt", "jsonld": "https://wpnews.pro/news/end-ai-agent-lock-in-start-conversation-with-one-agent-continue-with-another.jsonld"}}