ConnectOnionBack to Docs

Design Journal

Building ConnectOnion

Design decisions, lessons learned, and the thinking behind the framework.

01
August 2026·5 min read

co ai Delegates to Codex and Claude Code — and You Watch It Work

ConnectOnion 1.7.0 is stable: live resumable Work Room, three plain permission modes

02
August 2026·6 min read

What Makes an Agent 10x

Not a smarter model — an agent you can safely stop watching

03
August 2026·4 min read

Headless Does Not Mean Unconfigured

Standing permission still matters when nobody can answer a dialog

04
August 2026·4 min read

An Image Prefix Is Not an Image

Malformed tool text should not become a fatal upload

05
August 2026·4 min read

A Patch Must Move Forward

A stable fix cannot disappear from the next preview

06
August 2026·4 min read

Your Servers, Your Regions, Your Shared Mailboxes

Pick a region, share an address without handing over a key — ConnectOnion 1.6.12

07
August 2026·5 min read

The Work Room Is a Client, Not a Status Panel

Conversation, live work, permissions, and input inside one remote-client shell

08
August 2026·5 min read

A Work Room Is a Summary, Not a Transcript

A safe coding surface shows the next useful fact without pretending to be a terminal or a screenshot

09
August 2026·4 min read

An Approval Is Not Execution Time

A careful nested approval should not spend a native coding turn’s work budget

10
August 2026·5 min read

A Tool Transaction Is Not a Work Room

How long-running native coding work stays observable without turning chat into a terminal dump

11
August 2026·5 min read

The Owner Needs a Door

Secure defaults still need a private recovery path

12
August 2026·4 min read

A Page Should Not Become a Wall

Finite mailbox pages that never hide the rest of the data

13
August 2026·5 min read

Changing the Default Model Is a Backend Decision First

Gemini 3.7 Flash by default, and why the client shipped second

14
August 2026·6 min read

The Agent That Was Itself, and Billed Someone Else

What a deployed process should inherit, and what it must not

15
August 2026·6 min read

One Browser Protocol, Native Coding Adapters

One web boundary, native providers, and rolling upgrades

16
August 2026·4 min read

ConnectOnion 1.6.0

Safer remote agents and a cleaner credential boundary

17
December 2024·12 min read

Designing the Network Protocol

From Complexity to Clarity

18
December 2024·5 min read

Why We Chose "Trust"

The Story Behind ConnectOnion's Authentication Keyword

19
December 2024·7 min read

Why We Chose `llm_do()` Over `llm()`

Functions Need Verbs

20
December 2024·8 min read

Why We Chose `input()` Over `run()`

The Power of User Mental Models

21
December 2024·10 min read

Agent Address Format

Why Hex-Encoded Public Keys

22
December 2024·6 min read

Why "Address" Over "Identity"

The Power of Precise Naming

23
December 2024·7 min read

Progressive Disclosure in CLI Design

Simplicity First, Power When Needed

Writing in public

How we built the eval system — session replay without adding a line of user code

The trust model — why agent-to-agent auth is harder than you think

Plugin architecture internals — hooks, lifecycle, and the 9 event types

Star us on GitHub

If ConnectOnion saves you time, a ⭐ goes a long way — and earns you a coffee chat with our founder.