← Back to blogArchitecture

Bring Your Own CLI: One Command Contract for Every Agent

SE Studio ships first-class support for Claude Code, Codex, and OpenCode — and a small start/resume contract that lets you plug in any other CLI you already use.

Sprint Engine Studio6 min read
Sprint Engine — board
Sprint Engine
8 tasks
Todo3
T-104
Version graph schema
T-107
Page tree navigation
T-113
Search ranking model
In progress2
T-101
Draft branch workflow
T-109
Inline comment anchors
Review1
T-097
SSO provisioning
Done2
T-092
Audit event export
T-095
Workspace shell

The coding-agent market is not going to settle on one runtime, and you have probably already paid for two or three. Some work is best in Claude Code. Some in Codex. Some team has a local harness they wrote themselves. SE Studio should support that reality instead of fighting it.

The product is the control plane, not the agent vendor

A lot of agent tooling quietly assumes the runtime is the product: pick the vendor, accept their workflow, build the rest of your process around that one execution model. Serious teams do not behave that way. SE Studio's job is to be the local command center around those agents — terminals, task boards, worktrees, specialist roles, evidence, review gates — and to stay deliberately unopinionated about which CLI does the typing.

One contract: start and resume

The command contract

TaskCommand contractstart {ws} {prompt}resume {session}Claude CodeCodexOpenCodeYour CLI · via API
Every runtime exposes the same two verbs. SE Studio passes workspace context in and captures evidence out.

The tempting version of runtime agnosticism is a huge universal agent API. That sounds clean until every runtime has a different session model, permission system, event stream, and resume behavior. A small command contract is more practical. Each runtime needs to answer two questions: how do I start work, and how do I resume it.

runtime config
name: Pi coding harness
start:  pi-agent start  --workspace {workspace} --prompt {prompt}
resume: pi-agent resume --workspace {workspace} --session {sessionId}

Everything behind those commands belongs to you. It can call a local model, proxy to a hosted one, run an internal policy wrapper, or inject company-specific context. SE Studio passes stable workspace variables in, associates the process with a task or terminal session, and preserves the evidence.

Presets where they help

Most people should never have to think about the contract. Claude Code, Codex, and OpenCode work out of the box because many users already have those CLIs installed and want SE Studio to open a repo and start useful work without a setup ceremony.

  • Claude Code preset — launches from your local environment with the SE Studio workspace context.
  • Codex preset — launches Codex locally and passes the assignment into the agent.
  • OpenCode preset — first-class support for the open-source CLI.
  • Custom runtime — anything else that can start from the command line and accept workspace context.

Why bring your own

Bringing your own CLI is not only convenience. It is a trust boundary. The commands run on your machine, against your repo, with your installed tools and credentials. SE Studio can make the work visible without forcing source, prompts, or execution state through a single hosted path — which matters for teams with security review, regulated codebases, or model-selection constraints.

It is also about money and lock-in. You already pay for these subscriptions. SE Studio lets you use them where each is strongest, and switch the agent underneath without losing the command center around it.

The agent runtime should be replaceable. The workflow evidence should not be.