Skip to main content
Register personal RunInfra chat models for manual selection in Droid. Support level: preview.
This preview registers RunInfra models in ~/.factory/settings.json. Connect could not confirm path overrides, parser behavior, effective generated IDs, saved-default selection, credential resolution, file watching or restoration after native saves against the current Droid documentation; check the CLI settings guide and BYOK guide before relying on it.on requires --preview. Preview is not a dry run: it writes settings and sends a request using credits. Confirm Droid’s behavior separately.

Connect Droid

Have Droid installed, a workspace API key, and available RunInfra credits.
The bare agent command is an alias for on. In an interactive terminal, Connect starts login if needed. Review and approve the proposed changes. Connect saves a snapshot, writes personal model entries, and makes a real Chat Completions request that uses credits. Select the RunInfra entry in Droid’s Custom models section afterward. To choose a catalog model during setup:
See Connect for status, diagnostics, and key replacement.

What Connect writes

Connect uses the personal home directory. It does not use FACTORY_HOME, XDG, or application-data overrides. Connect could not confirm Windows home expansion, the complete path override list or personal, local, project and organization precedence against the current Droid documentation; check the CLI settings guide and organization settings guide before relying on it. Connect adds rows to customModels. Each row has the exact catalog model id, a displayName of RunInfra / <model-id>, baseUrl: https://api.runinfra.ai/v1, apiKey, provider: generic-chat-completion-api, and catalog maxOutputTokens. Connect does not use the provider value openai for this Chat Completions setup. Rows are matched by model identity within Connect’s RunInfra labels. Unrelated settings and foreign rows are preserved. Existing RunInfra rows absent from the current catalog remain unchanged; review them before selection. Connect does not add context, image, or reasoning metadata. Registration is not activation. Connect does not write a personal saved-default selector. Select the intended RunInfra / <model-id> entry in Droid’s Custom models section. Connect derives the CLI hint from the final written personal array; confirm that id in the installed picker before use.

Key placement

Literal mode writes the key in each managed row’s apiKey. For an environment reference:
Helper mode writes the exact expression ${RUNINFRA_API_KEY}. Set RUNINFRA_API_KEY securely in the environment that launches Droid. Restart GUI apps with that environment; a terminal-only assignment does not configure a separate GUI launch. This is personal-settings environment interpolation, not apiKeyHelper or an automatic OPENAI_API_KEY override. Connect does not change the environment or shell profiles. A conflicting nonempty launch credential is refused. Personal BYOK supports apiKeyHelper and apiKeyHelperTtlMs on customModels rows. Connect does not install or execute command helpers. It refuses root apiKeyHelper settings and command-helper fields on RunInfra rows. Review those helpers before switching to a literal key or environment reference. Connect could not confirm missing or empty environment-reference behavior, credential precedence, helper command invocation, cache timing, keychain behavior or rotation against the current Droid documentation; check the dynamic-credentials guide before relying on it.

Verify

Droid CLI IDs use custom: followed by displayName with spaces replaced by dashes, a dash and the array index. Connect uses the final written personal array. Confirm this derived ID in the installed picker before use. Reordering rows or changing displayName changes the ID. Do not substitute the API model ID. After confirming the picker id and permissions in an authorized isolated environment, use the command Connect prints. Connect does not execute it. For deepseek-v4-flash at index 0 in the final written personal array, the command is:
Select the RunInfra entry in Droid’s Custom models section. Confirm its actual request destination. The no-tools prompt is not a permission boundary. Do not treat the exec command as a tool-permission limit. Connect could not confirm slash-containing derived IDs, effective indices after policy or project merges, duplicate-label behavior or saved-default persistence against the current Droid documentation; check the exec overview and organization settings guide before relying on it.

Restart

Restart Droid or start a fresh session. Select the RunInfra entry in the Custom models section. Confirm its request destination.

Known behaviours

Review personal and project settings.local.json for overrides of settings.json. Connect inspects the personal local and legacy files without editing them. Project settings and organization policy remain outside this home-only setup. Review legacy .factory/config.json before connecting. Connect does not migrate it. It refuses nonempty or unreadable personal settings.local.json and legacy config.json; an empty {} is accepted. Check modelPolicy.allowCustomModels and modelPolicy.allowedBaseUrls in your organization’s policy settings. Connect does not add enterprise id, index, or noImageSupport fields to personal model rows. Personal command helpers are supported by Droid but are not managed by Connect. Connect could not confirm file watching, native save timing, startup migrations, parser tolerance, the full personal model schema, alternative provider transport mapping or restoration after concurrent edits against the current Droid documentation; check the CLI settings guide and BYOK guide before relying on it. Check file permissions, credential rotation, streams, and tools in the installed app.

Troubleshooting

Revert

With intact state and snapshots, off restores the original bytes from before the first on in the active connection. If settings.json did not exist then, Connect removes it. Later on calls and key rotations keep that restore point. If Droid or another editor changed the file, Connect refuses to overwrite it. Back up and review the edits before choosing to discard them:
Connect saves the current contents in a recovery snapshot and prints its id before restoring the origin. Keep the snapshots. If the origin snapshot is missing, cleanup does not guarantee original-byte restoration; see Connect recovery. Restore manual environment changes yourself. Connect does not restore project settings, local overrides, or organization policy. Forced cleanup without usable state targets only positively owned apiKey values, not selectors or model metadata.

Connect

Set up, inspect, and restore your coding agent.

Chat completions

Read the request contract.

Models

Find model ids and context windows.