Shipeasy

Read vs write mode

Read tools auto-execute and stream a thinking trace; write tools never auto-run — they surface as editable cards you confirm.

BetaOn this page · 3 min readUpdated · June 18, 2026Works with · In-dashboard chat

The assistant has two kinds of tools, and the difference between them is the entire safety model: reads happen automatically; writes never do. You don't choose a mode — the assistant picks the right tool for what you asked, and the boundary is enforced server-side.

Read mode — answers, auto-executed

To answer a question, the assistant calls read-only tools. These run server-side, immediately, with no confirmation — they only ever look, never change. Each one streams to the chat as a thinking trace line that resolves with a check mark, so you can see exactly what it inspected.

read · auto
Which feature flags are at 100% but haven’t been touched in 90 days?
Reading your project
Checking experiment status
Searching the docs
Three flags are pinned at 100% and untouched for 90+ days — safe to retire:
  • legacy_checkout — fully rolled out, no rule references it
  • dark_mode — at 100% since March, experiment finished
  • beta_banner — superseded by nux_banner
Sources: Retiring flags · Flag lifecycle
Read tools run on their own and stream as a ✓ trace; the answer is grounded in your project and cites its docs. Nothing changes.

Prop

Type

Doc-grounded, not from memory

The assistant doesn't answer product questions from its training data. It calls search_docs first and grounds the answer in the returned sections, ending with a Sources: line of links — so every claim traces back to a doc page.

Write mode — proposals, never auto-run

To change something, the assistant emits the matching write tool with its best-guess arguments — but write tools have no server-side executor. The model's call streams to the client and stops. It surfaces as an editable confirmation card, and the underlying change runs only after you press Confirm.

That inversion is deliberate: because nothing mutates until you confirm, it's safe — and expected — for the assistant to propose a mutation directly rather than asking "should I?" first.

write · confirm
Create feature flag
checkout_redesign
Whencountry in [US]
Rollout
10%
Defaultoff

Tweak the title and the highlighted controls here. To change anything else, ask in the chat and the assistant revises the plan.

ConfirmCancel
A write tool surfaces as an editable card — never auto-run. Rules show as chips and the rollout as a bar, exactly like the dashboard; it applies only on Confirm.

The write tools cover the full resource set:

exp_create_gate / exp_update_gate / exp_delete_gate
exp_create_config / exp_update_config / exp_delete_config
exp_create_killswitch / exp_update_killswitch / exp_delete_killswitch
exp_set_killswitch_switch / exp_unset_killswitch_switch
exp_create_universe / exp_update_universe / exp_delete_universe
exp_create_experiment / exp_update_experiment / exp_delete_experiment
exp_start_experiment / exp_stop_experiment
exp_create_metric / exp_create_alert_rule
It never claims success

The assistant never says an action "is done." It hands you the card; you apply it. If you cancel, nothing happened. Deleting resources is also available directly in the dashboard UI.

Why the split holds

Reads are pure

Read tools only fetch — listing resources, reading docs, fetching a site page — so running them automatically can't surprise you. They're how the assistant grounds an answer.

Writes have no executor on the server

Write tools are registered without an execute function. The model can call them, but the server can't run them — the call becomes a card on the client.

You are the executor

The matching Server Action runs only after you confirm the card. Your session scopes everything to the project you're viewing.

There's a third kind of tool — presentation tools (ask_user, suggest_plan) — that also skip auto-execution but render as an interactive chooser or plan rather than a confirmation card. Those are covered next.

Was this page helpful?
✎ Edit this page

On this page