Run your agent CLIs in the cloud
Claude Code, Codex, Copilot CLI, Cursor, Grok Build and Mistral Vibe on a computer of your own, signed in with your own plans, working while your laptop is closed.
Recipe: Agent home
An agent home is a briq for one person: the vendors' agent CLIs, unmodified, on a microVM that keeps your sign-ins, your files and your repos. You sign in once per vendor with its own flow. Sessions then run there, started from your agent, a script or an app.
briq_run({ recipe: "agent-home", stack: "home", expose: "private" })
→ bq_8f3k2m9x1p4a home (ghcr.io/briq-cloud/agent-home:latest) running · cost so far … · sleeps at 18:42 UTC unless used
URL: https://home-x7k2.briq.run/?briq_token=…briq_runstarts the home: asmallmicroVM with a 5 GB volume at/work.- The URL opens a terminal. Run each vendor's sign-in there, once (the commands).
- Each sign-in stays in
/work/.logins/<cli>, through sleep, restarts and newer images. - Unused for 30 minutes, the home sleeps and costs nothing. The next call or visit wakes it.
A session from outside
Start a CLI with briq_exec and async: true, then read its output from an offset until it ends:
briq_exec({ briq: "bq_…", cmd: ["claude", "-p", "Fix the failing test in /work/shop", "--output-format", "stream-json", "--verbose"], async: true })
→ ex_4n8w2k5p1qzt running since 10:02 UTC
briq_exec_result({ briq: "bq_…", exec: "ex_4n8w2k5p1qzt", offset: 0 })
→ {"type":"system",…} … nextOffset: 18342
briq_exec_result({ briq: "bq_…", exec: "ex_4n8w2k5p1qzt", offset: 18342, waitMs: 30000 })- The CLI finds your sign-in through the home's own variables (
CLAUDE_CONFIG_DIR,CODEX_HOME…). Leave outclearEnv: it drops them too. Nothing in the home's env replaces your plan: it refuses a vendor's key except as a team secret. - A session that takes follow-up messages or approvals starts with
stdinOpen: true. Send each one withbriq_exec_input, for example toclaude -p --input-format stream-json. - Codex: run one
codex app-serverper home, a thread per session. Two Codex processes that refresh the same sign-in sign each other out.
Heavy work in a session sandbox
Give the CLIs briq's MCP server with a key whose budget caps sizes, spend and briqs at once. A test suite, a build or untrusted code then runs in a sandbox the agent starts and destroys. No sign-in reaches it:
briq_run({ recipe: "sandbox", stack: "session-42" })
briq_files_put({ briq: "bq_…", path: "/work/app/…", contentBase64: "…" })
briq_exec({ briq: "bq_…", cmd: ["sh", "-c", "cd /work/app && npm ci && npm test"], async: true })
briq_destroy({ stack: "session-42" })A browser for the agent
A desktop in the same stack gives the CLIs a Chromium to drive, by page or by pixels, and you a view to watch:
briq_run({ recipe: "desktop", stack: "home", expose: "private" })
→ outputs: BROWSER_MCP_URL, DESKTOP_MCP_URL, DESKTOP_TOKENA session gets the token with briq_exec's env: { DESKTOP_TOKEN: "…" }; the CLI's MCP config
reads ${DESKTOP_TOKEN} (the config).
An API key instead of a plan
Add the key as a team secret on the dashboard, with the vendor's host, then pass it by name. The home holds a placeholder; the credential gateway sends the key to the vendor:
briq_run({ recipe: "agent-home", env: { ANTHROPIC_API_KEY: { secret: "ANTHROPIC_API_KEY", scope: "team" } } })A plain value is refused: it would sit readable in the home and replace the plan.
A bigger home
briq_resize({ briq: "bq_…", size: "medium" })
briq_resize({ briq: "bq_…", volumeGb: 10 })A new size restarts the home; the sign-ins stay. A volume only grows, without a restart.
When a sign-in does not work
- Codex asks to enable device code: turn it on in ChatGPT's security settings, then run
codex login --device-authagain. - Copilot: "Store token in plaintext config file?": answer yes. A VM has no keychain; the file stays on the home's volume, mode 0600.
- A CLI says it opened a browser: the link opens in a terminal window of its own (
link). Open it on your device, then press Enter. - Copilot: "Your Copilot subscription does not include this feature": your GitHub plan or organization does not allow Copilot CLI. See github.com/settings/copilot.
Good to know
- One home per person: sign-ins are never shared, forked or backed up.
- The CLIs never update themselves; the image is built again each week. Pin a date tag to keep versions.
smallruns two sessions at once; a browser or a big install belongs in a sandbox.- Every sign-in counts against your own plan, as on your laptop.