Browse Scient Docs Message Scient

Message Scient

Use the composer to tell your selected AI what you want to understand, create, change, or run in the current project. Describe the outcome, important constraints, and any files or evidence it should use. What the AI can do is also controlled by the selected provider, available tools, and permission mode.

Send a message

Messages can contain up to 120,000 characters. If a draft is longer, Scient keeps it in the composer and shows how many characters need to be removed. Shorten the draft or split it into multiple messages, then send again in the same thread.

On web and desktop, attachments upload as soon as you add them. The send button becomes available after every upload finishes. Failed uploads can be retried or removed.

In the retained mobile client, an empty composer shows an interrupt button while the agent is working. Adding text or an attachment replaces it with the send button in both compact and expanded composers.

On web and desktop, if you reload before a file finishes uploading, the draft keeps the file’s name and shows Attach again next to it. Attach the file again or remove it, then send.

On web and desktop, HEIC and HEIF photos are automatically converted to JPEG when you drag them into the composer or paste them into a message. On iOS, selecting them from Photo Library does the same. The 10 MB image limit applies to the converted photo.

Pasting 32 KiB or more of text adds that fragment as a text-file attachment so the agent can inspect it without filling the model context. A smaller paste also becomes an attachment when inserting it would exceed the message limit. On a hardware keyboard, use Cmd+Shift+V on Apple devices or Ctrl+Shift+V elsewhere to keep a large paste editable in the composer instead.

Formatting

The composer writes Markdown and shows it styled as you type. When your cursor is on styled text, its Markdown shows instead, such as **bold**, and the markers edit like any other text: delete them to remove the style, or change ** to * for italic. The style updates when your cursor leaves. To write plain Markdown with no styling, turn off Settings → Chat → Rich text composer. Lines starting with - , 1. , - [ ] , > , # or --- become lists, task lists, quotes, headings and rules; ``` followed by Enter opens a code block. What you typed is what the agent receives, markers and numbering included, and #1234 without a space still looks up a pull request.

Some styled text containing or touching literal Markdown characters, such as a bold path\ or 2*3, keeps its styling without showing markers. Use formatting shortcuts or turn off rich text to edit the formatting of those ranges.

Enter sends. In a list or quote, Shift+Enter continues it, and Shift+Enter on an empty line moves out one level, then leaves it; Tab nests a list item under the one above and Shift+Tab moves it back out. In a code block, Enter starts a new line at the current indentation, Tab and Shift+Tab indent the selected lines, and a closing ``` followed by Enter, or two blank lines at the end, leave the block. Backspace at the start of a code block turns it back into plain lines. Choose the language in a code block’s corner to change it. Very large code blocks are shown without syntax highlighting.

Spelling

Right-click an underlined word to replace it with a suggestion. On Windows and Linux, Scient checks spelling in your system languages. It also checks in the language of any alphabet you write that none of them uses: Latin letters add English, and Hebrew, Greek, Armenian, Korean or Tamil letters add that language. To add or remove a language, right-click in the composer and use Spelling Languages; your choice stays until you change it. Windows suggestions use dictionaries Scient downloads the first time a language is on. On macOS, the system spellchecker detects each paragraph’s language itself.

Attach files

On web and desktop, attach files with the file picker, drag and drop, or paste. There is no document-type allowlist: PDFs, spreadsheets, archives, audio, video, code, and files with unfamiliar extensions can all be attached. Images without a native image-input path, such as SVG and TIFF, are attached as ordinary files. Files must be readable and non-empty, fit the server’s displayed size limit, and finish uploading before you send. Each message can contain up to 100 files. Each image can be up to 10 MiB, with at most 80 MiB of images in one message. Other files, including videos, can be up to 50 MiB each, subject to the environment’s upload support and limit. Provider and model limits still apply, including images already in the conversation. A video attachment gives the agent a file path; only Antigravity sends supported videos to Gemini models as video.

Attaching a file makes it available to the agent; it does not guarantee that every provider can understand every format. Depending on the provider, it receives the attachment directly or a server-local path it can read using its available tools. Uploaded files are not automatically executed.

Click a video attachment to play it. If its format cannot play in the app, use Download video. Select another attachment to preview it when its format is supported, or save the original file to open it elsewhere.

Send while the agent is working

On web and desktop, choose Settings → Chat → Follow-up behavior to queue new messages for a later turn or steer the running turn immediately. The setting applies to this client; already queued messages keep their place. Queued messages are saved on the server and can be edited or removed before they send.

On web and desktop, a message sent during a running turn joins the queue at the end of the thread. The server keeps its order across navigation and restarts, then sends it after the current turn finishes successfully. Use Send now on a queued message to send it into the running turn, or edit or delete it from the queue. Stop, interruptions, and failed starts hold the remaining queue until you choose Resume. A later successful answer does not release that hold. When the thread is idle, Send now on any held message starts it, and the rest of the queue continues after it in order. Once resumed, the queue sends each message after the preceding answer finishes successfully. When Enter sends, Cmd+Enter on macOS or Ctrl+Enter on Windows and Linux uses the opposite action: it steers when your default is Queue and queues when your default is Steer. If your Send shortcut requires Cmd+Enter or Ctrl+Enter, that shortcut uses your default follow-up behavior; add Shift to use the opposite action. This applies only to multiline messages when you choose the multiline send option.

Use Cmd+Shift+Enter on macOS or Ctrl+Shift+Enter on Windows and Linux to send the oldest queued message as a steer. This leaves the current draft intact and requires an active turn that supports steering. If that shortcut sends the opposite action for your draft, move focus outside the composer to steer the queued message. Change thread.steerQueuedMessage in Settings → Shortcuts to use another shortcut.

Press Option+Up on macOS or Alt+Up on Windows and Linux with the cursor at the start of the composer to edit the most recently queued message. Change thread.editQueuedMessage in Settings → Shortcuts to use another shortcut.

Mobile has the same choice under Settings → Chat. While a turn is running the send button shows which action it will take. Long-press it to use the other action for a single message. From a hardware keyboard, Cmd+Return (Ctrl+Return on Android) uses the other action, or Cmd+Shift+Return (Ctrl+Shift+Return) when Return inserts a new line. The button only offers Steer when the running agent supports it.

On mobile, open the queue sheet and choose Edit on a waiting message to load it into the composer without removing it from the server queue. Keep or remove its existing attachments and add new ones as needed. Sending from this edit mode saves the replacement in place; it does not send a new message. Cancel leaves the queued message unchanged and returns to your ordinary draft. If saving fails, the edit stays in the composer so you can resolve the error or retry.

Queue messages offline on mobile

In the retained mobile client (not yet a public Scient release), tap + for Photo Library or, when the connected server supports file uploads, Choose Files. Photos, videos, and files can also arrive through the system share sheet. Mobile keeps a local draft copy, allows previewing and queueing while offline, resumes uploads after reconnecting, and preserves drafts and queued messages across app restarts. Signing out keeps them on the device until the same account signs in again.

Tap an image or PDF before or after sending to open it. On iOS, the native viewer supports image zoom, sharing, and PDF page navigation and search. On Android, images use the image viewer and PDFs open through the system chooser. Videos open in a full-screen player with native controls on mobile; supported iOS videos stream from their environment as they play. Unsupported formats can still be saved or shared to another app.

On desktop and web, supported file attachments stay with the message when it is queued. Editing a fork from a sent message with file attachments is not supported yet; fork from a completed response to retain the conversation and its files.

On web and desktop, Settings → Chat → Collapse composer defaults to Never, so the composer stays expanded. Saved preferences are preserved. You can enable On unfocus, On scroll, or both. With On unfocus enabled, an existing thread settles its composer into a single-line resting state when it loses focus. At wider sizes, On scroll also rests a focused composer, except when scrolling toward the end while already there. When the thread-context strip has room, the model and mode controls stay available beside the thread context; otherwise they return when the composer is focused. Focus the composer or start typing to expand it again. The conversation keeps the expanded composer’s space clear above its last message while the composer rests, so expanding it again never covers what you scrolled to. New-thread layouts keep the full composer.

At phone-sized web or desktop window widths, existing threads animate between their compact and expanded layouts. Up to three image attachments remain visible in either resting layout, followed by a count when more are attached. At wider sizes, videos, files, and other draft context remain visible at their natural height; the phone-sized compact row reveals those details when expanded.

On mobile, the model picker shows each OpenCode model’s upstream provider, such as Anthropic, GitHub Copilot, or OpenCode Zen, beneath its name. Search by that provider name to narrow the list when starting a thread or changing an existing thread’s model.

To rename a built-in model on every client, edit the server’s settings.json in its userdata directory. Add a custom model entry with the built-in model ID and a new name under that provider instance:

{
  "providerInstances": {
    "codex": {
      "driver": "codex",
      "config": { "customModels": [{ "slug": "gpt-5.5", "name": "Team GPT" }] }
    }
  }
}

Model defaults

Fresh Scient Agent, Pi, and Oh My Pi model preferences include GPT-6.1 Terra among the visible OpenAI account models when the agent discovers it. Saved visibility choices take precedence. The reasoning column shows the model’s supported levels directly; other agent options appear below them when available.

On desktop and web, model choices show the company below the model name. Long names wrap so their distinguishing suffix stays readable. The picker has one bottom footer: Fork to continue in a new chat on the left when available, and speed and permission controls on the right.

For providers that support custom models, Settings → Providers → Models lets you give an unlisted model a display name and define its options. Only options supported by the integration affect turns; declaring an option does not add a new provider capability. Antigravity uses the account’s catalog rather than custom model entries.

Scient remembers the last provider, model, and model options you selected and reuses that selection for new threads. A model configured in a project’s settings overrides the remembered selection for that project; resetting the project setting returns it to the remembered selection.

Model options shown as provider defaults remain display values until you choose them in Scient. Scient only sends options you selected explicitly, so an unset reasoning level or service tier can still come from the provider’s own configuration.

Quote a Markdown file

In a workspace Markdown file’s rendered view, select text and choose Ask in chat. Scient adds a file-quote chip to the current chat and opens the same optional comment bubble used for assistant quotes. Ask in side chat, offered beside it wherever a quote can be taken, adds the chip to the open side chat instead, or starts one. Text in paragraphs, lists, tables, and ordinary code blocks is supported; selecting an entire image, formula, or interactive chart is not part of this action. When an editable diagram’s source is visible, selecting that source is supported like any other code block; selecting the rendered diagram is not.

The chip retains the exact selected text, the original environment and workspace, file path, and the containing Markdown source lines. The line range describes where the text appears, not an exact character-by-character mapping through Markdown formatting. An unsaved draft is identified as such; citing never saves or changes the file. The quote and comment stay together through draft reload, copy/paste, and sending.

Click the chip to reopen the original file and highlight the passage. If the file has changed, Scient highlights only a uniquely verified match. If the text has disappeared or its location is ambiguous, the saved quote remains intact and Scient explains that it could not verify the location. The agent receives the captured quote and its source information, not an automatic read of a newer file version. If the conversation has moved to another worktree, the original file opens in the existing read-only host-file preview instead of resolving the same filename against the new workspace.

Quote code or source

Select code in a workspace file’s source editor and choose Ask in chat. This also works in Markdown and LaTeX Source/Split, compute source editors, and read-only code previews. The quote keeps the exact selected code, its file and UTF-16 offsets, and the captured saved or draft revision. Citing does not save or change the file.

Click the quote chip to reopen Source. Scient selects the original range when the revision still matches, or a uniquely verified match after the source moves. If it cannot verify a location, the quote remains intact and the recorded line opens with a notice. Existing rendered Markdown quotes keep their rendered-view reopening behavior.

Quote a PDF

Select text in a PDF and choose Ask in chat. The quote keeps the PDF, the page and the exact text, and its chip reopens the PDF at the passage. See PDF reader for what can be quoted and what happens when the PDF has changed.

Quote a Word page or slide

Select text on a Word page or a PowerPoint slide in the file viewer and choose Ask in chat. The quote keeps the file, the page or slide number and the text; its chip reopens the file at that page with the quote marked. The page number is the one Scient’s viewer shows, which can differ from Word’s own pagination. Text in a slide’s pictures cannot be selected.

Quote an assistant response

On web and desktop, select text in an assistant response, then choose Ask in chat from the menu that appears when you release the selection. This inserts an inline quote chip at your cursor and opens an optional comment bubble beside the selected text; press Enter or choose Save to attach the comment, or leave it blank to keep just the quote. You can type before and after the chip, such as a quote followed by “what do you mean?”. A selection must stay within one response and fit in 8,000 characters.

The chip shows your comment when it has one, or a short quote preview otherwise. Use the pencil button to add or change the comment, and the remove button to delete the quote and its comment from the draft. Copying, reloading, and restoring a stashed prompt keep each comment with its quote, and sending tells the agent which words were quoted and which comment you wrote. The quoted text and comment count toward the message limit.

Select a chip in the composer or a sent message to open the source thread, scroll to the response, and highlight the quoted passage — including in older history. The highlight pulses, holds for a moment, then fades on its own; press Escape to stop the navigation or clear it early. If the source is unavailable or its text has changed, the saved quote stays readable and Scient shows a warning.

Mobile shows the full saved quote and its comment in sent messages. It does not offer Ask in chat or navigation to a quote’s source.

Recall a sent prompt

Press ArrowUp in an empty composer to bring back the last prompt you sent in this thread. Press ArrowUp again to go further back, and ArrowDown to come forward. Moving forward past the newest prompt clears the composer. Recall walks the prompts loaded in the thread. Attachments, terminal context, and other extras from the original message are not restored, only the text you typed. A composer that holds an attachment or a picked element does not count as empty.

When the composer has text, the arrow keys move the caret as usual. Recall takes over only while the text is an unedited recalled prompt, with the caret on the first visual line for ArrowUp or the last visual line for ArrowDown, counting wrapped lines. Editing a recalled prompt turns it into a normal draft.

Suggested next prompt

Turn on Suggest next prompt in Settings > Labs. After a Claude or Codex turn completes, the empty composer shows a predicted next message. Press Tab to fill it in, then edit or send it, or press Escape to dismiss it. Each suggestion is one extra request that reuses the turn’s prompt cache, so it uses a little of your plan’s usage. Claude skips suggestions on the first turn of a thread and near usage limits. Codex needs version 0.165 or later; if Scient manages Codex, update it in Settings > Providers. Codex follows a change to the setting at once; open Claude threads follow it after they restart. Suggestions show on web and desktop.

Edit an earlier prompt

On web and desktop, choose Edit from here beneath a sent message to rewind the conversation to before that message. Choose Revert and keep changes to leave workspace files as they are, or Revert files too to put the workspace back to its checkpoint from before that message. That also undoes edits you made yourself. File restore is only offered for threads running in a worktree, and it is refused when another thread or agent session also uses that directory, a folder inside it, or a folder that contains it, since restoring would erase their changes. A thread that works in the project directory rewinds the conversation only. When Scient could not save a snapshot of the files before that message, such as in a folder that is not a Git repository or whose changed files are too large, the dialog offers only Rewind chat, which leaves the files as they are. The selected prompt and its attachments return to the composer for editing and resending. Any unsent draft stays above the restored prompt.

This removes the selected message and later conversation from the active thread and provider history. It does not undo external actions or separate provider memory. The action is available only when the provider supports rewind.

Prompt stash

On web and desktop, press Cmd+S on macOS or Ctrl+S on Windows and Linux to save the current prompt and its attachments for later. Wait for uploads to finish first. With an empty composer, the same shortcut restores a single stash or opens the stash menu when there are several.

Stashes containing uploaded files must be restored in their original environment. Those files are retained for 24 hours. After an upload expires, restore the prompt and use Attach again or remove the missing file before sending.

Voice input on web and desktop

Use the composer’s microphone or mod+shift+d to dictate into your draft. Audio is transcribed on an environment you choose in Settings → Voice; nothing is sent until you choose one. See Voice input.

Voice input on mobile

Use the composer’s microphone to record, then confirm to transcribe. Text is inserted where your selection was when recording started, ready for you to review and edit before sending.

By default, audio stays on the phone. Local transcription needs a supported iPhone with iOS 26 or later, or Android 12 or later with compatible Google speech services. To use a paired environment instead, open Settings → Voice → Transcribe on, choose the environment, and confirm. Finished recordings go only to that environment, even when a draft belongs to another one. This also works on phones without local speech recognition. If the chosen environment disconnects, dictation stops; it never switches hosts. Choose This device to revoke access and discard pending audio. For cloud dictation, open Cloud providers under the environment in Settings → Voice and confirm which provider may receive recordings. On Android, keep Scient open while recording and transcribing.

The first use may download a speech model and needs a network connection. Later transcription works offline for that language. On Android, transcription processes the full recording at roughly its original duration. Recordings can be up to five minutes long. Canceling or an audio interruption discards the recording and preserves your existing draft. Navigating to another screen keeps dictation active; use the floating controls to finish or cancel. While recording, the screen stays awake; it can sleep normally once recording stops.

Choose a preferred order in Settings → Voice. Voice input requests the first connected microphone in the list. The list mixes kinds (built-in, other wired, other Bluetooth, and CarPlay on iOS) with wired and Bluetooth devices you have dictated with, listed by name. Drag to rank them together: for example, put Other Bluetooth above your AirPods so a new headset is preferred while the AirPods microphone stays low. By default, CarPlay comes after the built-in microphone on iOS. Swipe a device left to forget it. Android may use another input when the preferred microphone cannot be routed. Devices with the same name may share a saved preference, but simultaneous same-name inputs remain separately selectable.

Transcription runs on your device. Scient deletes the temporary audio after transcription or cancellation; only the message text is sent when you submit.

Queued messages

On web and desktop, the composer shows Interrupt while the agent is working and the draft is empty. Adding text or attachments replaces it with a send button that shows your Follow-up behavior: a queue icon for Queue or a steer arrow for Steer. Click it or press your send shortcut to use that action. Hold Cmd on macOS or Ctrl on Windows and Linux to switch the button to the opposite action, then click, or use the opposite-action shortcut described above.

On web and desktop, queued messages appear at the end of the thread as dashed messages that have not been sent yet. On mobile they appear above the composer. Each shows its text and any attached images. Send now sends a message right away, into the running turn if there is one. While a compaction runs, Send now skips the compaction and sends the message instead. You can also edit or remove it.

After Stop, a failed turn, or a server restart, queued messages keep their order and are held. While the agent is idle, every held message shows Send now, on mobile too. Send now starts that message, and the rest of the queue continues after it in order. Sending a new message directly also continues the held queue after that message. On web or desktop, Resume in an empty composer continues the queue too, as does Resume queue on mobile. You can edit or remove held messages without starting them. If the thread stopped at a usage limit, Send now is not offered: use Resume thread in an empty composer on web or desktop to continue the thread, and the queue follows.

The pencil on a queued message opens it in the composer for editing. The original message stays in the queue until you save, and it is highlighted while you edit. The message’s attachments appear above the text with a remove control, and new images can be added the usual way. The checkmark saves the queued message in place; Cancel next to it leaves it unchanged. Whatever you had typed in the composer before starting the edit is restored afterwards. If the queued message starts or is removed while you are editing, the edit ends: changed content moves into the composer when it is empty, and is discarded otherwise.

Commands and skills

Type / for commands or $ to add a skill from the selected environment and provider. On mobile, both are also available before starting a thread on New task.

The slash menu also includes skills unless you turn off Settings → Chat → Show skills in slash menu, under Advanced. Only skills enabled for the provider are listed.

After you add or change skills, plugins, or MCP servers, use Restart agent session in the command palette on web and desktop. The conversation continues, and your next message starts the agent again with the new setup.

Provider commands must start the message to run. Scient commands such as /model and skill mentions work on any line.

Send /compact in an existing conversation to reduce context usage when the provider supports it.

Send /clear on its own, or pick it from the slash menu, to start a fresh session in the same thread. Your next message goes to a new provider session that doesn’t see the earlier messages, and the thread marks where it began with New session. Earlier messages and diffs stay in the thread. Dismiss the notice above the composer to keep the current session instead.

On web and desktop, turn on Context window in Settings → Appearance → Thread details to see context usage in the thread details card. It appears once the provider reports usage.

Claude instances can also compact idle threads for you. See compact long conversations.

Goals

With Codex and Claude, send /goal followed by what “done” means, for example /goal all tests in packages/api pass. The agent keeps working across turns until it judges the goal met. The thread shows Goal while it works, and a line at the end of the thread (above the composer on mobile) shows the goal and its progress.

  • /goal alone shows the current goal. /goal clear removes it.
  • Codex also supports /goal pause and /goal resume. Stopping a Codex goal pauses it, and so does Codex ending its work without meeting the goal.
  • Stopping Claude ends the current turn, but the goal stays set. Claude checks it again at the end of your next message.
  • Sending a new goal, or /goal resume, while the agent works stops the current turn and starts the goal, unless you queue it. /goal clear and /goal pause stop the turn only when it is working on the goal. Other goal commands wait for the turn to end.

Context in your message

Context you attach lands where your cursor is, as a chip inside your text: a terminal excerpt, a review comment from a diff or file, a preview annotation, or a file. You can type before and after a chip, move it by cutting and pasting, and delete it like a character. Hover a chip for its brief details. Select a terminal excerpt to open its captured output, or select a review comment, picked element, or preview annotation to open its full details. Chips read as “Terminal excerpt, Terminal 1 lines 3-4” and similar to screen readers.

A pull request appears as its icon and number. Its color reflects whether it was open, draft, merged, or closed when it was attached. Select it to inspect the captured title and branches, then choose Open pull request to visit the pull request. On web and desktop, type # to browse the newest pull requests in the current project’s repository. Pull requests linked to the thread are included from any repository and listed first, after any exact number match. Continue typing digits to filter the recent list by any part of its pull request numbers. A complete number is also resolved directly, even when that pull request is older than the recent list. Type a single word after # to search pull requests in the repository by text. Choose a result to insert it as a chip.

Another thread can be context too. Type @ followed by part of its title to pick one from the same server, or from a machine it links to while the Linked environments beta is on; those show the machine’s name. On web and desktop you can also drag a thread out of the sidebar and drop it on the composer; a multi-selection drops together. On any client, Copy thread copies a link to the thread that pastes into a composer as its chip. The chip shows the thread’s current title and opens it when selected. Your prompt only carries a reference: the agent reads the thread’s history on demand, so attaching a long thread costs nothing until the agent looks. Attaching a thread does not change it, and the agent cannot send messages to it unless you ask.

A thread from a linked machine, picked, pasted or dropped, stays a reference that the agent reads on that machine. A pasted link to a thread on any other machine stays a link. Dropping a thread from any other environment attaches a saved transcript file. The source environment must be connected and up to date. The transcript includes the visible history and saved text context at the time of the drop; later messages and the contents of attached files are not copied. The agent can read the saved transcript after the source disconnects. Normal file attachment limits apply.

Type @ and part of a model or provider name, such as @opus, to name that model for the agent, for example when delegating. It does not change the thread’s model. Join words with :, / or -, as in @opus:opencode.

Images keep their thumbnail shelf above the text and also get a chip at your cursor, so you can say exactly which image you mean. Deleting an image chip leaves the image on the shelf; removing the thumbnail asks first when the image is still mentioned in your text, then removes both. Files exist only as chips: deleting a file’s last chip removes the file from the message.

Copy text that holds chips and paste it into another draft, in the same thread or another one, and the chips come along with what they point to. Images and files are fetched again from the environment they came from; while that happens the chip shows a dashed outline, and if it cannot complete Scient tells you and leaves the chip for you to remove or replace. A chip whose context is no longer available shows the same dashed outline; hover it for what to do.

Copying a message with the copy button, or copying text out of it, gives other apps readable Markdown with a link in place of each chip. Older messages that were sent before chips still show their context. Stashing a prompt keeps its chips and what they point to; restoring brings them back.

On mobile, tap a chip to inspect its content. File references open the current file; attached files show the copy that was attached to the message.

Attached files

Select a file chip in your draft or a sent message to preview it. Code and JSON use syntax highlighting; Markdown, HTML, Mermaid, CSV, and TSV offer rendered and raw views. Audio files have playback controls. Supported Office documents, notebooks, archives, fonts and SQLite files have read-only previews. A notebook shows its saved cells and outputs; opening it does not execute its code or load external chart data. Large text files load indexed pages as you scroll; save the original file when you need it outside Scient.

On web and desktop, files open beside the conversation with the same controls as a workspace file: a header row with the view toggle, Copy contents and Save file. On mobile, documents open in the same file screen as workspace files; its menu holds Copy contents, Save or share and Open in file viewer. Pictures, videos and PDFs keep their native viewers, and other document formats such as Word or Pages open in the device’s own viewer when it has one. If nothing on the device can show a format, save or share it to open it elsewhere. A ZIP up to 50 MB opens as a folder list on every surface; on mobile, select a file inside it to preview, save, or add it to chat.

Images and videos in messages

On web, desktop, and mobile, select a link to an image or video to open it inside Scient. Workspace image and video links open the file viewer. Links to media outside the workspace open a media preview. Videos opened from the file explorer or a file-viewer tab also play inside Scient. They stream from the environment as needed, rather than downloading the entire video before playback. Paths in inline code, such as /tmp/recording.mp4, work the same way. Image embeds stay inline; video embeds show a player with the browser’s controls, full screen included. Visible video previews load an initial frame when supported, but stay paused until you press Play. Video file references use a filmstrip icon.

On web and desktop, hover over a preview to see its full file path or original URL. Right-click to copy that reference, save the image or video, or copy an image to the clipboard. The video player’s built-in controls can download a video too. If the player cannot decode a video, its error message offers a link to open the source in the browser. Workspace media also offers Copy relative path and Open in file viewer. These actions are available in expanded previews too.

On mobile, touch and hold an inline image or a video thumbnail to see its source, copy the path or URL, or choose Save or share. Workspace files can open in the file viewer from the same menu. Saving downloads a copy only when you request it; it does not change how the video buffers during playback. On iOS, touch and hold a file reference in a message to copy its full or relative path or open it in the file viewer.

Use Markdown image syntax to embed either kind of media:

![Screenshot](/tmp/screenshot.png)
![Recording](/tmp/recording.mp4)
[Open recording](/tmp/recording.mp4)

Relative paths resolve from the thread’s workspace. Absolute paths and file:// links refer to the environment’s machine, even when you connect remotely or use your phone. Supported media can live outside the workspace, including in Downloads or /tmp.

Scient serves the original file without adding it to attachment storage. If that file is moved or deleted, its preview can no longer load from the environment. A browser or device may still have a cached copy. Supported video formats and codecs depend on the browser or device.

Bare paths in ordinary prose and paths inside code blocks stay text. Raw HTML <video> tags are not supported; use the Markdown embed syntax above.

Files outside the workspace

When an agent links to a file it wrote outside the workspace, such as a Markdown report in /tmp, select the link to open it in the file viewer. The viewer shows the file read-only, with rendered Markdown available as usual; it cannot edit files outside the workspace. The workspace file tree stays hidden because it does not describe the open file. HTML and PDF files outside the workspace open the same way as ones inside it. Because such a file is served on its own, an HTML page outside the workspace cannot load scripts, styles, or images from files beside it.

HTML and PDF files in the file viewer

On web and desktop, the file viewer shows HTML and PDF files as a rendered page. Use the source toggle in the viewer’s header to switch an HTML file between the page and its markup; the choice persists like the rendered-Markdown toggle. A link to a line always opens the source. HTML runs in an isolated frame with no access to your Scient session. On desktop, the integrated browser remains available from the same header for a full browser view.

The file viewer recognizes images, HTML, and PDF files by their filename extension, including filenames or folders containing # or ?.

On mobile, select a PDF attachment or link to open it. iOS uses the native viewer; Android opens a compatible installed file viewer.

Changing projects

On web and desktop, changing the project from a new thread keeps the current environment when that project exists there. If it does not, Scient selects another environment that has the project.

Notices above the composer

On web and desktop, loading and syncing statuses use the available banner width. Task progress appears above the composer, while the timeline’s working indicator shows only elapsed time.

When several notices are active, the additional notices peek above the attached banner. Hover over the peek, or focus Show other notices and press Enter or Space, to reveal them. Press Escape to close the stack. On a touchscreen, tap the peek.

Prompt stash

To recall text you already sent, press ArrowUp in an empty composer. Further presses go backward through loaded prompts in this thread; ArrowDown goes forward and clears the composer after the newest prompt. Recall restores text, not attachments or other context. A composer holding an attachment or picked element is not empty.

Use the default shortcut, Cmd+S on macOS or Ctrl+S on Windows and Linux, to stash the current prompt and its attachments after uploads finish. Restore the entry later from the stash menu. A stash containing files belongs to the environment where those files were uploaded. The server keeps stashed files for 24 hours; after that, restore the prompt and use Attach again or remove the expired file before sending.

With exactly one stash and an empty composer, the stash shortcut restores that entry directly.

Voice input on iPhone

In the retained mobile client, supported iPhones with iOS 26 or later can record a message from the composer. Tap the microphone, speak, then tap the checkmark to transcribe on the device. The draft stays visible in an expanded composer; a collapsed composer becomes a compact recording strip. The result is inserted where recording began so it can be reviewed and edited before sending.

The first use may download Apple’s speech model and require a network connection. Later transcription works offline for that language. Recordings are limited to five minutes. Canceling, leaving the screen, or an audio interruption preserves the existing draft and attachments while discarding the new recording. Scient deletes the local audio after transcription or cancellation and sends only the normal message text.

Commands and skills

When an agent provides an artifact-template card, Use template adds its skill prompt to your existing draft. Review or edit it before sending; the button does not send a message automatically or grant new permissions.

Type / to open the command menu. Type $ to find and add a skill. Skill rows show their source, such as System, Personal, Project, or App.

On mobile, these menus are available on the New task screen before you start a thread. They use the skills and commands from the selected environment and provider.

In a thread with prior conversation context, send /compact to reduce context usage. Web and desktop also offer this action from the context meter, and the work log records token counts when the provider reports them.

On web and desktop, new profiles leave Show skills in slash menu off. Type $ to select a skill, or turn on this option in Settings → Chat (under Advanced) to include skill aliases in / as well. Saved preferences are preserved. Provider-native slash commands are still shown when skill aliases are off.

When enabled, skill results use the /skill:Skill Name label and add the same $name skill token to your message. The original skill name remains searchable. If the provider also reports that skill as a native slash command, Scient hides the duplicate native entry and keeps the /skill:Skill Name label.

Scient-managed skills are available from Settings → Skills on supported providers. Agent may use lets the agent select a skill when the request clearly matches it. Only with $name keeps the skill available only when you add its exact $name token. Skills provide instructions; they do not add tools or permissions. Changes apply to the next message.

Project skills live at .scient/skills/<name>/SKILL.md inside an initialized Scient project. A new valid project skill is available automatically on the next message and only in that project. Use Settings → Skills → Project skills or the project’s Skills settings to choose Agent access, $name only, or Deactivated. Agents can create these ordinary project files when asked; your access choice remains controlled in Settings.

A skill token runs the skill wherever it sits in your message. Scient sends it to each provider in the form that provider runs, so the text before and after the token is kept. Skills that only you may start, and never the agent on its own, work the same way. A skill you switched off in the provider’s settings does not appear in either menu.

Use Settings → Skills → External skills to inspect provider-owned skills. Where a switch is available, it changes the provider’s own setting and can also affect that provider outside Scient. Codex, Grok, and ordinary personal Claude and Droid skills support switching; other entries remain read-only when Scient cannot change their native setting. Claude and Droid project skills are read-only here: change them in the project. A provider may require a new conversation to load changed settings.

Provider commands such as /compact only run when they open the message, so the / menu offers them only there. Scient’s own commands, such as /model and /plan, and skills stay available on any line.

On desktop, press Cmd+Enter on macOS or Ctrl+Enter on Windows and Linux from a new thread to start it in the background. Scient opens another new thread and shows an Open action for the thread that started. The new thread keeps the selected workspace mode and base branch. If New worktree is selected, each background thread creates its own worktree.

Continue with another provider

Forking lets you continue a conversation with a different provider or model without changing the original. Use Fork beside a sent message or completed response, use Fork to continue in a new chat in the model picker, or run /fork to start from the latest completed response. In the new conversation, choose the provider and model you want before sending.

New worktree is off by default, so the fork uses the current workspace without rewinding its files. Turn it on to create an isolated worktree at the selected checkpoint. The switch is unavailable when the project is not a Git repository or the fork point has no saved checkpoint.

Forking from a completed response keeps the conversation through that response. This includes submitted question answers and their attached files, with independent copies owned by the fork. Unsubmitted question answers stay with the original conversation. Forking from a sent user message places that message and its images in the new composer as an unsent draft. A temporary setup failure is safe to retry; Scient does not open a partially created conversation.

Scient checks the selected response, retained attachments, and available workspace before creating the fork. A stopped or failed answer is not a completed fork point; choose an earlier completed response or a sent user message instead. /fork and the provider picker’s Fork action resolve the latest completed response on the server.

A fork of a running response with New worktree off shares the current files; it does not capture another workspace snapshot. Its first send records its own starting file history, including changes made between forking and sending. Rewind uses that saved starting point, never the repository’s latest commit. Restoring files into a folder shared with another live conversation remains guarded. With New worktree on, Scient captures the current files before admitting the fork. If that capture exceeds the snapshot limits, fork locally or reduce the files included in Git’s workspace snapshot. Scient does not change your ignore rules automatically.

Errors appear inside the fork dialog. Retry resumes the same attempt, including its original title and workspace choice. Losing the connection does not discard the staged draft or create another conversation. This recovery survives reloading the app in the same browser profile. If you switch conversations during setup, Scient finishes the fork in the background without moving you away from your current conversation. Open the ready fork from the sidebar, or return to the same Fork action to resume it.

If the original worktree was removed, New worktree can still restore its saved checkpoint when the project repository retains it. Scient never silently substitutes a different workspace. Missing retained files must be restored, or you can choose a fork point before they were attached.

You can rename the fork afterward without affecting its history or source link. The Conversation forked here marker opens the original conversation, even after either conversation is renamed. Archived originals can still be opened; deleted originals remain unavailable.

Choose any configured, available provider and model before the fork’s first send. The provider-switch Fork action moves an unchanged ordinary composer draft after setup succeeds. A draft changed during setup stays in the original conversation. Queued messages and queue edits always stay with the original; forking never sends them.

If the first request’s provider acknowledgement is lost, Scient does not automatically send it again. A response to that request lets you continue in the same fork. If no response arrives, create a fresh fork from the last completed response to start an independent session. Retained history is sent as bounded context, so very long histories and older images may be omitted from the provider’s input while remaining visible in Scient.

Server-checked eligibility and in-place setup retries require an updated server. Older servers retain their previous fork behavior and recovery limits.

Queue or steer while an agent is working

On desktop and web, press Enter while an answer is running to queue your message, images, and selected context in that thread. Terminal excerpts, review selections, and browser annotations stay with the queued message, including when you edit it. Messages start one at a time after the previous answer has fully finished. They continue in their original thread when you visit another thread or close its view. Sending while other messages are waiting normally adds your message behind them. After Stop, an ordinary new message starts work while that queue waits, as described below.

Use Cmd+Enter on macOS, Ctrl+Enter elsewhere, or a queued row’s Steer action to request an immediate steer. The provider must support adopting the message into its current turn; a rejection remains visible.

Drag queued rows to change their order, or delete them. Edit removes a row from the waiting list and puts its text, attachments, and context into the same composer as an ordinary draft. Any draft you were already writing is saved in the usual stash menu. The edited message has no reserved queue position.

Other waiting messages can continue while you edit. Your draft stays in the composer until you press Send: it starts when the thread is idle and eligible, or joins the end of the queue when work is still running or other messages are waiting. Finishing a turn or starting another queued message does not submit your draft automatically. Stash saves it for later through the usual menu.

Stop, interruptions, and failed starts leave the remaining queue held. Sending another ordinary message releases the queue to follow it automatically, one message at a time after each successful answer. Restarting work or the server does not release a held queue. You can also click Send on any waiting message: that message starts first and the remaining queue is released in its retained order, with automatic completions first. Reorder while idle to choose the order.

Retry is for a queued message whose provider failed to start; the message stays queued. It cannot bypass a running answer or silently release the held tail. Ordinary Send is accepted as a new turn or a queued message, including while the previous answer’s checkpoint is settling. This completion race does not require sending again.

Queues survive app restarts and hold up to 20 messages and 64 MiB per thread, including their attachments. Local threads that have not reached the server yet have no persistent queue. Edited drafts recover from this browser’s local storage; keep the owning window or reopen it to finish an edit. Older clients must update before sending to a server using the new queue protocol.

Reading while an answer arrives

While the agent works and you are at the bottom, the view follows it: thinking, tool steps and short progress notes scroll by at a calm pace, so you always see what it is doing now. It stops for things you read: when an answer, a plan or a card arrives, the view follows it only until its start reaches the top of the reading area, then stays there while the rest grows below. Work you opened yourself, such as an expanded tool group, counts as something you read too. After that stop, a newer message pushed below the screen shows just its first lines. “The bottom” means the end of the latest content, and you still count as at the bottom with up to its last three lines hidden behind the composer.

This works the same however the agent’s turn started: from this window, another window or device, a schedule, another agent, or a queued message that starts while you are at the bottom. Opening a working thread at its end follows it too. Your own message is part of the work going by; it may scroll away above.

Scrolling up stops following, and the agent’s activity then never pulls the view down. Scroll back to the bottom, or click Scroll to end, and you follow it again; what you scrolled past is treated as read, except an answer still arriving, which is never followed down. Selecting text holds the view still until you clear the selection. Clicking does not stop following. If you send a message while reading earlier content, your position stays where it is.

Your queued messages stay reachable. While you follow the agent they are part of the end it keeps in view; queuing a message at the bottom brings it and its Send now into view; and a queue that is fully in view stays in view when it grows or the composer grows while you edit. When your queue is below where you are reading, Scroll to end appears and says how many messages are queued.

While nothing is running and you are at the end, the end stays in view when the window resizes or a diagram or image finishes rendering.

Scroll to end jumps to the bottom. It appears when more content remains below you, not just blank space reserved for message placement, or when your queued messages are out of view. Its small count shows new answers below your view that you have not reached yet: once per response, not once per progress note or streaming update. It excludes your messages and tool activity. The count tracks reading within the current app window session; opening older history does not mark it newly unread.

Returning to a thread, or reloading the same window, restores the message you were reading and its position in the view. If you left while the view was still following your message’s response, you come back to where it would be now, and it keeps following while the agent works. If a temporary working indicator has become an answer, restoration uses that turn’s content. Older history loads when needed to find the saved message; if a few pages do not contain it, the nearest message or the end is used instead. A thread with no saved reading position opens at the end once, and stays there while its rows finish rendering. These positions are local to the window, not synced read receipts.