# Use Route C Form Fields Safely

This page helps you use Oysterun form fields in **Host Preferences**,
**Session Setup**, **Session Profile**, and the in-session Loop editor without
confusing Host-wide defaults, launch-time choices, live-session overrides, and
private local settings.

Use it when you are changing a provider, model, folder, website option,
notification setting, Telegram setting, or another visible Session field and
need to know where the change applies.

## Before You Start

Start from the Oysterun dashboard after sign-in. From there, open the visible
surface that owns the setting you want to change:

- **Host Preferences** for Host-wide defaults and Host-owned connection,
  update, notification, identity, browse-root, and provider default settings.
- **Session Setup** for the next Session launch.
- **Session Profile** for the current live Session and optional persistence
  back to that Session's project configuration.
- The in-session Loop editor for Loop definitions inside the current Session.

You need owner access to the Host and permission to edit the selected project
folder when a setting is saved into that folder.

## Open The Right Surface

1. To open **Host Preferences**, open the dashboard menu and choose **Host
   Preferences**.

   Success checkpoint: Host Preferences opens and shows Host-owned settings
   such as connection, update, notification, identity, Browse Root, and provider
   defaults.

2. To open **Session Setup**, choose **Sessions**, then choose **New Session**
   or the visible setup action for the Session you are creating or resuming.

   Success checkpoint: Session Setup opens and shows launch fields such as
   **Agent ID**, **Session Name**, **Start Folder**, **Provider**, and **Start
   Session**.

3. To open **Session Profile**, open the intended Session from **Sessions** so
   the Chat screen is visible, then use the top-bar **Open Session Profile**
   control.

   Success checkpoint: Session Profile opens for that same live Session and
   shows current live-session settings.

4. To open the in-session Loop editor, open the intended live Session from
   **Sessions**, then open its Session controls and choose the visible Loop
   option for that Session.

   Success checkpoint: the Loop editor opens inside that Session and shows Loop
   definition fields rather than Host-wide preferences or setup fields.

Choose the page that matches the scope of your change. Host-wide defaults
appear in **Host Preferences**. Launch fields appear in **Session Setup**.
Current live-session settings appear in **Session Profile**. Loop definitions
appear in the in-session Loop editor.

If you are unsure which page owns the setting, do not save yet. Read the row
label and helper text first, then return to the page that names the setting you
intend to change.

## Understand Shared And Local Persistence

Some settings can be saved into the selected project folder. In Session Setup
and Session Profile, **Update .oysterun/config.json** controls whether eligible
shared fields are written into the project configuration or applied only to the
launch or running Session.

When that control is unchecked, an absent `.oysterun/config.json` remains
absent and an existing file remains byte-identical. No later background
initialization may create or rewrite it for that operation.

Private fields are different. Passwords, bot tokens, allowed Telegram users,
and other local-only secrets are not written into shared project configuration.
When the product supports local persistence for one of those fields, it stores
the value only as local Host-owned data for that project.

Expected result: shared settings can follow the project when intentionally
saved, while private credentials and local-only values stay out of shared
configuration.

## Edit Host Preferences

Use **Host Preferences** for Host-level settings such as:

- **Direct Host URL**
- **Default Browse Root**
- **Host Display Name**
- **Default Runtime**
- provider command and model defaults
- notification sound toggles
- update status and owner-controlled update actions

The public product does not expose **Check Beta** or **Install Beta & Restart**.
Those controls are development-only and remain hidden unless the exact debug
flag is enabled. When enabled for an authorized test, the controls render with
Host Preferences; there is no fixed readiness delay. **Install Beta & Restart**
becomes enabled only after the beta-check request returns an installable newer
version.

For that authorized debug-only verification, the exact control mapping is:

- Latest Beta / `host-update-beta-version`
- Check Beta / `host-update-beta-check-btn`
- Install Beta & Restart / `host-update-beta-run-btn`

The check result is authoritative: equal or older beta versions never downgrade the Host.
This mapping documents a hidden verification surface; it does not make beta
installation a public-user requirement.

In normal Session Setup and Host Preferences, **Claude Permission Mode** and
**Codex Approval Style** remain visible at their product-fixed values. Both are
explicitly grey, disabled and accompanied by fixed-value explanatory copy.
They must not look editable when the public product intentionally fixes the
values.

The Claude and Codex **Model** rows each have a refresh button. These buttons
use the same Host-owned provider catalog and the same model-to-reasoning-effort
selection logic as Session Setup. Refreshing updates the current Host
Preferences draft but does not silently save it. If a prior value is no longer
supported, review the replacement model and effort, then choose **Save**.

Host Preferences and a brand-new Session Setup coordinate as follows:

| Host Preferences value | New Session Setup result |
| --- | --- |
| Default Browse Root | Seeds Start Folder when no explicit folder was supplied. |
| Default Runtime | Selects the initial available provider. |
| Claude/Codex Model | Selects the saved model when that provider is chosen and the current catalog still supports it. |
| Claude/Codex Reasoning Effort | Selects the saved effort only when the selected model supports it; otherwise the shared catalog supplies a valid effort. |
| Claude Permission Mode / Codex Approval Style | Uses the same visible product-fixed value on both surfaces in normal mode. |
| Complete message notifications | Seeds the checkbox for a new Session Setup draft. |

Provider-discovered model identifiers are preserved exactly across Save,
fresh Session Setup initialization and provider launch. The current shared
catalog, rather than a second static Host Preferences allowlist, validates the
model and its reasoning-effort pair.

Provider commands determine whether a provider is available; they are not
copied into a Session Setup field. Host Display Name, Direct Host URL,
notification sounds, telemetry, Voice Input and lifecycle/update controls are
Host-only settings. Website choices remain Session Setup/project choices and
are not inferred from those Host-only controls. Saving Host Preferences affects
new Session Setup drafts; it does not rewrite an already-open draft or an
existing Session.

Click **Save** to persist Host Preferences. Use **Reset** to clear the current
draft back to loaded values, or **Reload** to load the current saved Host
configuration again.

Success checkpoint: after saving, reload Host Preferences and confirm the same
field still shows the saved value or the expected validation message.

If a Host Preferences draft has unsaved changes and you try to leave through
in-app navigation, Oysterun asks whether to stay on the page or leave without
saving. Browser refresh or tab close may use the browser's own unsaved-change
prompt.

## Complete Session Setup

Use **Session Setup** for a new or resumed Session. Review these common fields:

- **Agent ID** and **Session Name**
- **Provider** and **Model**
- provider reasoning, permission, or approval options
- **Start Folder** and the folder picker
- **Website Enabled**, **Website Access**, and **Website Password**
- **Complete message notifications**
- **Install/Overwrite Oysterun Skills**
- Telegram options when Telegram is enabled
- **Update .oysterun/config.json**
- **Start Session**

Capability selection and **Allowed Paths** are intentionally disabled in the
current public Session Setup. Installed Oysterun capabilities are available by
default; there is no user capability allowlist to configure. Hidden or inert
DOM retained for development does not make either control a supported user
surface. Claude Permission Mode and Codex Approval Style are also intentionally
fixed by the product instead of being user-selectable.

The Website password field intentionally uses visible text rather than masked
input so the Owner can verify the value before launch. Treat the screen as
private and do not expose the password in screenshots or support notes.

Session Setup validates required fields before launch. Required provider,
folder, model, Website password, and enabled Telegram values must be accepted
by the visible form before **Start Session** can complete.

Success checkpoint: after a valid launch, the Session opens with the selected
provider, folder, model, notification, and Website choices. If validation
fails, Oysterun keeps you in Session Setup and shows a visible error for the
field or section that needs attention.

The Folder Picker's top-left back arrow is its cancel/back action. It must
return to the same Session Setup draft without clearing the already committed
**Start Folder**, **Agent ID**, **Session Name**, provider, model, or reasoning
choice. Only confirming a different folder changes **Start Folder**. Losing any
draft value is a product error, not an expected cancel behavior.

**Copy Demo Agent** is intentionally a one-step action. It writes the packaged
demo directly inside the selected folder without an additional preview or
confirmation dialog.

## Use The Folder Picker

Open the folder picker from **Start Folder** or **Default Browse Root** when
you need to choose an existing folder. The picker starts from the current
browse location and shows visible folder rows, navigation controls, and a
select action for the folder you choose.

Success checkpoint: after choosing a folder, Oysterun returns to the original
form and the folder field shows the selected folder or the expected validation
message.

If the picker cannot access a folder, choose a folder the Host can read or
return to the form and keep the previous value.

For a stopped Session, **Resume Chat** intentionally reopens Session Setup so
the Owner can review the model and reasoning choice before resuming. The
provider cannot be changed on that route. The stopped History card is retained,
but a separate read-only old-transcript viewer is not part of the current
product.

The Scheduler **Next run** value is expressed in the Host timezone, not the
browser timezone; no second browser-local time is shown. **Jump to Time** must
remain absent from normal menus, shortcuts, and the accessibility tree while
the Host does not implement its timestamp lookup endpoint. Text beginning with
`!`, such as `!printf ...`, is ordinary chat text; Oysterun does not promise a
general shell bang-command protocol.

The normal update reminder appears in the **Sessions/Dashboard** top
notification area and opens **Host Preferences**. Public users do not receive
the debug-only **Check Beta** or **Install Beta & Restart** controls.

The completion-notification default in **Host Preferences** seeds only new
Session Setup drafts. It does not rewrite existing Sessions, and an explicit
Session-level choice overrides the Host default for that Session.

## Update A Live Session Profile

Use **Session Profile** for settings that apply to the currently running
Session. When **Update .oysterun/config.json** is checked, eligible shared
fields can also be persisted for future launches from that project. When it is
unchecked, the change applies only to the running Session or the current
operation.

The visible Model, Reasoning Effort and provider permission rows are live
Session truth. They come from the running Session and its provider-applied
receipt, not from a different value persisted earlier in the AgentFolder.
Configured project defaults may be shown separately for persistence, but they
must not replace the live values in Session Profile.

Success checkpoint: after saving Session Profile, the live Session keeps
running and the changed setting is visible on the same profile page. If the
setting was persisted, reloading the profile or returning later shows the saved
value.

## Recover Safely

If a required field is rejected, stay on the form and fix the field named by
the visible error. Do not start a new Session just to bypass a validation error
unless you intentionally want a separate Session.

If a private credential field is missing, add the credential only in the
product field that asks for it. Do not paste tokens into shared project
configuration, message text, screenshots, or public support notes.

If a saved value looks wrong after reload, use **Reload** to confirm the current
saved state, then edit and **Save** again. If the value still does not persist,
keep the page open and collect the visible field label, validation message,
and scope of the setting for support.

If the Folder Picker back action leaves Session Setup with the wrong **Start
Folder**, **Agent ID**, or **Session Name**, do not start the Session. Keep the
draft open and report the visible before/after values as a product error.

If you cannot find **Host Preferences**, return to the dashboard and open the
menu again. If you cannot find Session Setup, return to **Sessions** and use the
new or resume setup action from there. If **Session Profile** or the Loop editor
is missing, first open the intended live Session chat; those controls are
Session-scoped and are not shown from the public documentation page.

If a change affects Host connection or update behavior, follow the visible
owner-controlled action and do not restart the Host unless the product asks for
that action and you have authority to do it.
