Skip to content

0011. Add a direct-API escape hatch beside the keyless default

  • Status: Accepted
  • Date: 2026-09-11

Context

0003 drives already-authenticated agent CLIs so no API key is ever read or stored — the core promise. But a machine with no agent CLI installed and no local Ollama had no online path at all except to go install one.

Decision

Add an opt-in --engine api:<provider> (api:anthropic, api:openai) that calls the hosted chat API directly, reading the key from the provider's own environment variable and the model from DRAFT_MODEL. It is never chosen by auto mode, and a failed call still falls over to Ollama like any other backend.

Alternatives considered

  • A general hosted-writing SaaS or a bundled key. Rejected: that is a different product and would break the keyless promise for everyone.
  • No escape hatch at all. Rejected: it left a bare machine with no online option, and users worked around it by installing a CLI purely to satisfy the tool — friction with no benefit.
  • Auto-selecting the API when a key is present. Rejected: presence of a key in the environment must not silently change where source text and credentials go. The hatch is explicit-only.

Consequences

  • It reintroduces an API key on this one opt-in path, so it is documented as an escape hatch and never a default.
  • Each provider's request/response shape is maintained in the engine; the seam keeps that isolated from the rest of the pipeline.
  • The keyless agent-session path remains the default and the recommended one.