Docs/Reference/Slash Commands
Reference

Slash Commands

Commands you type in the Flowly TUI to control sessions, models, tools, and channels — plus keybindings and the shell escape.

Inside the Flowly TUI, type / to run a command instead of sending a message to the agent. Type ? in an empty composer for a quick cheat sheet, or open the full help modal with /help (or F1).

Session

CommandWhat it does
/clear or /newReset the conversation (gateway-side, asks confirmation). /clear --yes skips the prompt.
/retryRe-submit the last user message (drops the stale assistant reply).
/undoPop the last user + assistant turn; pre-fills the composer for edit-and-resubmit.
/compact [hint]Summarize history to save tokens.
/sessionsSwitch to a saved session.
/statusShow the current model + session.
/abortCancel the current turn.
/quitExit.

Standing goals

A standing goal keeps the agent working across turns until it is achieved, needs you, or exhausts its budget. Setting one starts the work in the same turn.

CommandWhat it does
/goal or /goal statusShow the current goal, its status and turn budget.
/goal <text>Set (or replace) the goal and start working immediately. Inline verify: / constraints: / boundaries: / stop when: lines become its completion contract.
/goal draft <text>Draft the completion contract first, then set the goal.
/goal showShow the goal with its full completion contract.
/goal pause / /goal resumePause the loop (stays resumable) / resume and reset the turn budget.
/goal clear (/goal stop, /goal done)End the goal for good.
/goal wait <pid> [reason] / /goal unwaitPark the loop on a process / release it.
/goal gate [list | add <cmd> | remove <n> | clear]Manage quality gates — commands that must pass before the goal may be judged done.
/subgoal [<criterion> | remove <n> | clear]Manage extra completion criteria the judge factors in.

Pausing or ending a goal also stops the goal turn that is streaming at that moment. A turn you typed yourself is never stopped by these commands.

Model & persona

CommandWhat it does
/providerPick the LLM provider (arrow-key picker). /provider <key> switches directly; /provider off clears.
/modelPick a model from the active provider's catalog (live for OpenRouter).
/assistants (/persona)Pick a persona / assistant.
/themeSwitch the TUI theme. /theme mono switches directly.

Tools & integrations

CommandWhat it does
/integrationsConnect external services — Home Assistant, Linear, Trello, Google Workspace.
/channelsConfigure messaging channels — Telegram, Slack, Discord, Email, iOS/Web.
/mcpManage MCP servers — enable / disable / remove, install from the catalog.
/pluginsList installed plugins (bundled + user) and toggle them.
/browserToggle the browser_tab tool; shows the Chrome extension link + live status.
/computerExplains that computer use (desktop control) needs the Flowly Desktop app — the terminal can't hold the required macOS permissions.
/image <path>Attach an image to the next message. /image clear removes pending images.
/video <path>Attach a video for analysis via video_analyze.
/pasteAttach an image from the system clipboard.
/skills [filter]Search and manage skills the loader knows about (read-only; optional substring filter). Works in the CLI + gateway.
/learn [--dry-run] [source]Create or update a reusable skill from paths, URLs, notes, or the current conversation.
/codex [on|off|sandbox|cwd|tools]Manage the opt-in Codex runtime live (no restart).
/<skill-name>Invoke an installed skill for one turn (e.g. /research).

/learn

Create or update a reusable skill from source material you provide:

/learn [source]
/learn --dry-run [source]

[source] can be a local path, directory, URL, pasted notes, or a phrase such as "what we just did". With no source, Flowly uses the current conversation as the material to distill.

Examples:

/learn the release checklist workflow from this conversation
/learn ~/work/internal-sdk/docs/auth.md
/learn https://example.com/api-guide and these notes: ...
/learn --dry-run ./runbooks/customer-escalation.md

Normal mode saves the skill through skill_manage: it lists existing agent-authored skills to avoid obvious duplicates, creates or updates the skill, writes supporting files when needed, and verifies the result. New or updated skills appear in the TUI slash palette automatically after a successful skill_manage or skill_improve write in the active session.

Dry run mode previews the same plan without writing. It may inspect sources and list existing skills, but it must not call persistent skill_manage actions such as create, patch, edit, write_file, or delete. The reply includes the proposed skill name, create/update decision, full SKILL.md draft, supporting file drafts, verification check, and the command to run when you want to apply it.

Short alias: -n is accepted as a dry-run flag.

Permissions & activity

CommandWhat it does
/permissions (/policy)Edit command permissions (security / ask / allowlist).
/plan [task|on|off|status]Plan mode — the agent proposes a plan and waits for approval before acting. Bare /plan toggles the standing mode; see below.
/memory (/review)Review the bot's pending memory candidates inline — keep / discard them one at a time. Pops automatically on open when the review queue is non-empty; Esc dismisses it until you re-enter the TUI.
/approvalsOpen the pending approvals queue (or F3).
/activityOpen the activity / audit log (or F2).
/artifactsOpen the artifacts gallery (or F4).
/subagents (/subs)Toggle the subagent sidebar.
/board (/kanban)Show the task board inline; /board run|done|cancel|del <id>, /board add <title>, /board clear.

/plan

Turn on plan mode: the agent decomposes the task into steps, shows you the plan, and runs no side-effecting tool until you approve it.

/plan                 # toggle the standing mode on/off
/plan on              # turn it on
/plan off             # turn it off AND abort the active plan
/plan status          # is it on? what's the active plan's progress?
/plan <task>          # plan THIS task only, without entering the standing mode

Bare /plan is a mode, not a one-shot: while it's on, every message plans first. It's the same mode Shift+Tab cycles to (▣ Plan), and it works on every surface that sends text — the TUI, Desktop, iOS, and chat channels. Approving a plan ends the mode — the work runs under whatever permission level was underneath, and the next message is a normal one. Rejecting or revising keeps you planning.

/plan <task> is the exception: it forces plan-first for that message only.

Aliases: /plan stop and /plan cancel behave like /plan off; /plan ? behaves like /plan status.

Account

CommandWhat it does
/loginPair this machine for iOS access.
/logoutUnpair (disable iOS access).
/whoamiShow pairing status + account info.

Keybindings

KeyAction
EnterSend message
Shift+EnterNew line in the draft
Shift+TabCycle the permission level: 🔒 Ask → ⚖️ Auto → 🚀 YOLO → ▣ Plan
/ History prev / next (single-line draft)
Ctrl+EOpen the draft in $EDITOR
Ctrl+SOpen the sessions picker
Ctrl+MOpen the assistants / persona picker
Ctrl+AToggle the subagent sidebar
F1F4Help · Activity · Approvals · Artifacts
Ctrl+CAbort the current run, or quit if idle
Ctrl+LClear the session (gateway-side)
Ctrl+DQuit (persists the current session)
EscClose modals

Shell escape

Prefix a line with ! to run a bash command locally — it is never sent to the LLM. Output appears as a code block in the transcript.

!ls
!git status
!pwd

There is a 30-second timeout and a 4000-character output cap.

While the agent is streaming, anything you type is

queued above the input and sent automatically when the current turn ends.