Feature request: local control API for external orchestrators (Codex Desktop parity) — blocks replacing Codex for some workflows

Open 💬 0 comments Opened Jul 16, 2026 by olegk-samsara

Summary

We orchestrate coding agents on remote dev VMs over SSH and drive both OpenAI Codex and Claude Code from an internal tool. We would like to replace Codex with Claude Code for more of these use cases, but one capability gap currently blocks that: there is no supported way for external tooling to create and manage remote sessions that appear live in the Claude Code desktop app.

Codex Desktop exposes a local control socket (thread/start, turn/start, thread/read with live idle/busy status, thread/name/set, thread/archive), so sessions our tooling creates show up in the app immediately, named, and continuable by a human at any time. With Claude Code we can only approximate this by writing undocumented internals, and the result is still restart-gated.

What we need for parity

  1. A local control API for the desktop app (socket/IPC, or a watched + documented session registry) so a tool can register a remote SSH session that appears in the app without an app restart, name it, and archive it. Today the registry (~/Library/Application Support/Claude/claude-code-sessions/<account>/<org>/local_*.json) is read once at startup, so externally written entries only appear after relaunch.
  2. A documented/stable session-registry entry format (or the API above replacing it) — we currently reverse-engineered the schema and it can break silently on app updates.
  3. A supported way to pre-trust a workspace for sessions created by tooling. Headless claude -p runs never show the trust dialog, so the first interactive use of such a session prompts the user to trust a workspace our tool itself prepared. Today we have to write hasTrustDialogAccepted into ~/.claude.json on both the Mac (projects["ssh:<user>@<host>:<path>"]) and the VM.

Everything else is already in good shape: headless --session-id/--resume sessions, the shared session store (CLI-created sessions are resumable in the app and vice versa), and stream-json output are an excellent foundation — the desktop app is one supported API away.

Why it matters beyond us

Any customer building orchestration on top of Claude Code (CI/fleet agents, remote devbox workflows, internal dashboards) will want tool-created sessions to be visible and continuable in the official app. For us it is the deciding factor in whether Claude Code can take over Codex-backed workflows.

Environment

Claude Code desktop app v1.20186.1 (macOS), remote CLI v2.1.207 (Ubuntu VMs over SSH).

View original on GitHub ↗