Fixed
- An exported
CODEX_HOMEno longer makes Octopus treat a Claude Code session
as a Codex host. Host detection readCODEX_HOME, a config location that is
often set globally, as proof that Codex was running, so council marked codex
seats host-native and could lose quorum on a single dissent, as in #1103.
Detection now relies on the markers Codex sets for every command it runs
(CODEX_THREAD_ID,CODEX_SESSION_ID), plusCODEX_SANDBOXunder the macOS
sandbox,CODEX_PLUGIN_ROOT, and a plugin root inside a Codex plugin cache.
Claude Code's runtime markers (CLAUDECODE,CLAUDE_CODE_ENTRYPOINT,
CLAUDE_CODE_SESSION_ID) also identify Claude Code, so a development checkout
run from its Bash tool is no longer reported as standalone.CODEX_HOMEis
now only a last hint. orchestrate.sh, lifecycle reporting and plugin updates share one host
detector. Lifecycle now reports Factory, and Codex hosts it previously
reported as Claude, and records its install state once more after upgrading.- Claude seats dispatched from a Codex host no longer inherit Codex's session
markers or Codex plugin roots.
Full Changelog: v11.9.3...v11.9.4